Control: reassign -1 terminator 2.1.0-2 Hi Timo,
* Timo Röhling <roehl...@debian.org> [2021-11-05 14:51]:
On Sat, 23 Oct 2021 22:41:30 +0200 Lucas Nussbaum <lu...@debian.org> wrote:collecting ... Trace/breakpoint trap E: pybuild pybuild:354: test: plugin distutils failed with: exit code=133: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest --doctest-modules dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 returned exit code 13I investigated this failure a bit and found that there seems to be a segfault on instantiating terminal.Terminal(), which looks like it is caused by the bindings in python3-gi. I assume so because I found that the error also occurs with older terminator versions in unstable, but not with the latest terminator version in a bullseye chroot. For reference, the error in unstable can be reproduced in an interactive Python session (I ran "gdb /usr/bin/python3" to get a stacktrace): >>> from terminatorlib import terminal /build/terminator-2.1.0/terminatorlib/terminal.py:9: PyGIWarning: Pango was imported without specifying a version first. Use gi.require_version('Pango', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Pango, Gtk, Gdk, GdkPixbuf /build/terminator-2.1.0/terminatorlib/terminal.py:9: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Pango, Gtk, Gdk, GdkPixbuf >>> t = terminal.Terminal() (.:106187): Gtk-CRITICAL **: 13:00:40.235: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed (.:106187): Gtk-CRITICAL **: 13:00:40.235: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed (.:106187): Gtk-CRITICAL **: 13:00:40.235: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed Program received signal SIGSEGV, Segmentation fault. 0x00007ffff5a98a80 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 (gdb) bt #0 0x00007ffff5a98a80 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
[..]You can get a meaningful backtrace by enabling debug symbols, either by installing the dbgsym packages or by:
export DEBUGINFOD_URLS="https://debuginfod.debian.net" With this I get: #0 _gtk_settings_get_screen (settings=0x0) at ../../../../gtk/gtksettings.c:3360 #1 0x00007ffff5a2de84 in gtk_css_value_icon_theme_compute (icon_theme=<optimized out>, property_id=<optimized out>, provider=<optimized out>, style=<optimized out>, parent_style=<optimized out>) at ../../../../gtk/gtkcssiconthemevalue.c:84 #2 0x00007ffff5a4f658 in gtk_css_static_style_compute_value (style=0xbc4090, provider=0x0, parent_style=<optimized out>, id=3, specified=0x7ffff60d1e20 <inherit>, section=0x0) at ../../../../gtk/gtkcssstaticstyle.c:237 #3 0x00007ffff5a39dca in _gtk_css_lookup_resolve (lookup=lookup@entry=0xbc3100, provider=provider@entry=0x0, style=style@entry=0xbc4090, parent_style=parent_style@entry=0x0) at ../../../../gtk/gtkcsslookup.c:122 #4 0x00007ffff5a4f528 in gtk_css_static_style_new_compute (parent=0x0, matcher=0x0, provider=0x0) at ../../../../gtk/gtkcssstaticstyle.c:195 #5 gtk_css_static_style_get_default () at ../../../../gtk/gtkcssstaticstyle.c:164 #6 0x00007ffff5a3a712 in gtk_css_node_init (cssnode=0xbc0510) at ../../../../gtk/gtkcssnode.c:667 #7 0x00007ffff778aae3 in g_type_create_instance (type=<optimized out>) at ../../../gobject/gtype.c:1923 #8 0x00007ffff7770cbd in g_object_new_internal (class=class@entry=0xbc3000, params=params@entry=0x0, n_params=n_params@entry=0) at ../../../gobject/gobject.c:1939 #9 0x00007ffff77721fd in g_object_new_with_properties (object_type=11724208, n_properties=0, names=names@entry=0x0, values=values@entry=0x0) at ../../../gobject/gobject.c:2108 #10 0x00007ffff7772bb1 in g_object_new (object_type=<optimized out>, first_property_name=first_property_name@entry=0x0) at ../../../gobject/gobject.c:1779 #11 0x00007ffff5a5800b in gtk_css_widget_node_new (widget=widget@entry=0xbc1140) at ../../../../gtk/gtkcsswidgetnode.c:302 #12 0x00007ffff5c41dd9 in gtk_widget_init (instance=0xbc1140, g_class=0xbc0800) at ../../../../gtk/gtkwidget.c:4468 #13 0x00007ffff778aae3 in g_type_create_instance (type=<optimized out>) at ../../../gobject/gtype.c:1923 #14 0x00007ffff7770cbd in g_object_new_internal (class=class@entry=0xbc0800, params=params@entry=0x0, n_params=n_params@entry=0) at ../../../gobject/gobject.c:1939 #15 0x00007ffff77721fd in g_object_new_with_properties (object_type=10410752, n_properties=n_properties@entry=0, names=names@entry=0x0, values=values@entry=0x0) at ../../../gobject/gobject.c:2108 #16 0x00007ffff7900e17 in pygobject_object_new_with_properties (values=0x0, names=0x0, n_properties=0, object_type=<optimized out>) at gi/gimodule.c:1019 #17 pygobject_constructv (self=self@entry=0x7ffff53eafc0, n_properties=n_properties@entry=0, names=names@entry=0x0, values=values@entry=0x0) at gi/gimodule.c:1049 #18 0x00007ffff791ea7d in pygobject_init (self=self@entry=0x7ffff53eafc0, args=args@entry=0x7ffff7baa040, kwargs=kwargs@entry=0x7ffff6cef9c0) at gi/pygobject-object.c:1343 #19 0x00000000005bbd2c in wrap_init (kwds=0x7ffff6cef9c0, wrapped=0x7ffff791e8b0 <pygobject_init>, args=0x7ffff7baa040, self=0x7ffff53eafc0) at ../Objects/typeobject.c:6184 #20 wrapperdescr_raw_call (kwds=0x7ffff6cef9c0, args=0x7ffff7baa040, self=0x7ffff53eafc0, descr=<optimized out>) at ../Objects/descrobject.c:510 #21 wrapperdescr_call (descr=<optimized out>, args=0x7ffff7baa040, kwds=0x7ffff6cef9c0) at ../Objects/descrobject.c:556 #22 0x0000000000537ab9 in _PyObject_Call (kwargs=<optimized out>, args=0x7ffff7182400, callable=0x7ffff72e93b0, tstate=0x94ef00) at ../Objects/call.c:281 #23 PyObject_Call (callable=0x7ffff72e93b0, args=0x7ffff7182400, kwargs=<optimized out>) at ../Objects/call.c:293 #24 0x0000000000511ac6 in do_call_core (kwdict=0x7ffff6cef9c0, callargs=0x7ffff7182400, func=0x7ffff72e93b0, tstate=<optimized out>) at ../Python/ceval.c:5123 #25 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3580 #26 0x000000000050e2d1 in _PyEval_EvalFrame (throwflag=0, f=0xbc0c30, tstate=0x94ef00) at ../Include/internal/pycore_ceval.h:40 #27 _PyEval_EvalCode (tstate=<optimized out>, _co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>, kwargs=<optimized out>, kwcount=<optimized out>, kwstep=1, defs=<optimized out>, defcount=<optimized out>, kwdefs=0x0, closure=0x7ffff5421040, name=0x7ffff730a370, qualname=0x7ffff72f8c90) at ../Python/ceval.c:4327 #28 0x0000000000525f3b in _PyFunction_Vectorcall (func=<optimized out>, stack=0x7fffffffdef0, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:396 #29 0x00000000005333c6 in _PyObject_FastCallDictTstate (kwargs=0x0, nargsf=<optimized out>, args=0x7fffffffdef0, callable=0x7ffff5412a60, tstate=0x94ef00) at ../Objects/call.c:118 #30 _PyObject_Call_Prepend (kwargs=<optimized out>, args=<optimized out>, obj=<optimized out>, callable=0x7ffff5412a60, tstate=0x94ef00) at ../Objects/call.c:489 #31 slot_tp_init (self=<optimized out>, args=<optimized out>, kwds=<optimized out>) at ../Objects/typeobject.c:6964 #32 0x000000000051aedf in type_call (kwds=0x0, args=0x7ffff7baa040, type=<optimized out>) at ../Objects/typeobject.c:1026 #33 _PyObject_MakeTpCall (tstate=0x94ef00, callable=0xbb2c10, args=<optimized out>, nargs=<optimized out>, keywords=<optimized out>) at ../Objects/call.c:191 #34 0x0000000000514b74 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x9a94e0, callable=0xbb2c10, tstate=<optimized out>) at ../Include/cpython/abstract.h:116 #35 _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x9a94e0, callable=0xbb2c10, tstate=<optimized out>) at ../Include/cpython/abstract.h:103 #36 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x9a94e0, callable=0xbb2c10) at ../Include/cpython/abstract.h:127 #37 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x94ef00) at ../Python/ceval.c:5075 #38 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3518 #39 0x000000000050e2d1 in _PyEval_EvalFrame (throwflag=0, f=0x9a9370, tstate=0x94ef00) at ../Include/internal/pycore_ceval.h:40 #40 _PyEval_EvalCode (tstate=<optimized out>, _co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>, kwargs=<optimized out>, kwcount=<optimized out>, kwstep=2, defs=<optimized out>, defcount=<optimized out>, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at ../Python/ceval.c:4327 #41 0x000000000050e047 in _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0, kwargs=0x0, kwcount=0, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at ../Python/ceval.c:4359 #42 0x000000000050dff3 in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0, locals=<optimized out>, globals=<optimized out>, _co=<optimized out>) at ../Python/ceval.c:4375 #43 PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:826 #44 0x00000000006282f7 in run_eval_code_obj (tstate=0x94ef00, co=0x7ffff7ab20e0, globals=0x7ffff7b16840, locals=0x7ffff7b16840) at ../Python/pythonrun.c:1221 #45 0x00000000006251e0 in run_mod (mod=<optimized out>, filename=<optimized out>, globals=0x7ffff7b16840, locals=0x7ffff7b16840, flags=<optimized out>, arena=<optimized out>) at ../Python/pythonrun.c:1242 #46 0x0000000000627d19 in pyrun_file (fp=0x94b340, filename=0x7ffff7b19b20, start=<optimized out>, globals=0x7ffff7b16840, locals=0x7ffff7b16840, closeit=1, flags=0x7fffffffe388) at ../Python/pythonrun.c:1140 #47 0x0000000000627993 in pyrun_simple_file (flags=0x7fffffffe388, closeit=1, filename=0x7ffff7b19b20, fp=0x94b340) at ../Python/pythonrun.c:450 #48 PyRun_SimpleFileExFlags (fp=0x94b340, filename=<optimized out>, closeit=1, flags=0x7fffffffe388) at ../Python/pythonrun.c:483 #49 0x000000000061f132 in pymain_run_file (cf=0x7fffffffe388, config=0x94db00) at ../Modules/main.c:373 #50 pymain_run_python (exitcode=0x7fffffffe380) at ../Modules/main.c:598 #51 Py_RunMain () at ../Modules/main.c:677 #52 0x0000000000606df9 in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at ../Modules/main.c:731 #53 0x00007ffff7c65e4a in __libc_start_main (main=0x606dc0 <main>, argc=2, argv=0x7fffffffe578, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe568) at ../csu/libc-start.c:314 #54 0x0000000000606cfa in _start () I also reduced the code to: import gi gi.require_version('Gtk', '3.0') from gi.repository import GObject, Gtk class Terminal(Gtk.VBox): pass GObject.type_register(Terminal) Terminal()And while this clearly does not involve terminator, I can only reproduce this on the console, whereas in an X session, with $DISPLAY set, it is not reproducible. Just as well terminator fails to build in sbuild but builds fine with dpkg-buildpackage in an X session. But even more this also fails in a bullseye chroot so this is all a red hearing.
The actual problem is that libgtk-3-0 version 3.24.30-1 drops the dependency on librest-0.7-0 which brought in gsettings-desktop-schemas which seems to be the missing build dependency as this works for unstable:
sbuild terminator --add-depends gsettings-desktop-schemasAssigning back, accordingly, though I'm not sure if there should be an other bug for python3-gi or the gtk backtrace above.
Cheers Jochen
signature.asc
Description: PGP signature