GTK 3.20 segfaults when running Pitivi
@lubosz
Submitted by Lubosz Sarnecki Assigned to Alex Băluț @aleb
Description
The segfault occurs as soon as n project is opened opened or a new one is created:
(gdb) bt
# 0 0x00007f7a55a38668 in gtk_css_gadget_get_visible (gadget=0x0) at gtkcssgadget.c:357
# 1 0x00007f7a55a39703 in gtk_css_gadget_draw (gadget=0x0, cr=0x12fadd0) at gtkcssgadget.c:828
# 2 0x00007f7a559c30dc in gtk_box_draw (widget=0x1d145e0, cr=0x12fadd0) at gtkbox.c:457
# 3 0x00007f7a607df1f0 in ffi_call_unix64 () from /usr/lib/libffi.so.6
# 4 0x00007f7a607dec58 in ffi_call () from /usr/lib/libffi.so.6
# 5 0x00007f7a5fba38cc in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 6 0x00007f7a5fba4499 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 7 0x00007f7a5fba53b8 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 8 0x00007f7a5fb99355 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 9 0x00007f7a62126e5f in PyObject_Call (func=0x7f7a3810b7d8, arg=0x7f7a3c97b608, kw=0x0) at Objects/abstract.c:2165
# 10 0x00007f7a62246ec5 in do_call (func=0x7f7a3810b7d8, pp_stack=0x7ffcc5f9a990, na=2, nk=0) at Python/ceval.c:4887
# 11 0x00007f7a62246437 in call_function (pp_stack=0x7ffcc5f9a990, oparg=2) at Python/ceval.c:4683
# 12 0x00007f7a6223fdc0 in PyEval_EvalFrameEx (f=0x7f7a38106908, throwflag=0) at Python/ceval.c:3185
# 13 0x00007f7a62243d29 in _PyEval_EvalCodeWithName (_co=0x7f7a3c913d20, globals=0x7f7a3f961f08, locals=0x0, args=0x7f7a3c97f460, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:3966
# 14 0x00007f7a62243e1e in PyEval_EvalCodeEx (_co=0x7f7a3c913d20, globals=0x7f7a3f961f08, locals=0x0, args=0x7f7a3c97f460, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:3987
# 15 0x00007f7a62161e65 in function_call (func=0x7f7a3c77e268, arg=0x7f7a3c97f448, kw=0x0) at Objects/funcobject.c:632
# 16 0x00007f7a62126e5f in PyObject_Call (func=0x7f7a3c77e268, arg=0x7f7a3c97f448, kw=0x0) at Objects/abstract.c:2165
# 17 0x00007f7a62245928 in PyEval_CallObjectWithKeywords (func=0x7f7a3c77e268, arg=0x7f7a3c97f448, kw=0x0) at Python/ceval.c:4530
# 18 0x00007f7a62126c0d in PyObject_CallObject (o=0x7f7a3c77e268, a=0x7f7a3c97f448) at Objects/abstract.c:2091
# 19 0x00007f7a5fba149c in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 20 0x00007f7a607defdf in ffi_closure_unix64_inner () from /usr/lib/libffi.so.6
# 21 0x00007f7a607df358 in ffi_closure_unix64 () from /usr/lib/libffi.so.6
# 22 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1d145e0, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 23 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x24d3660, child=0x1d145e0, cr=0x12fadd0) at gtkcontainer.c:3838
# 24 0x00007f7a55a2c5ef in gtk_container_draw (widget=0x24d3660, cr=0x12fadd0) at gtkcontainer.c:3658
# 25 0x00007f7a559c30a5 in gtk_box_draw_contents (gadget=0x1f38080, cr=0x12fadd0, x=0, y=0, width=1, height=83, unused=0x0) at gtkbox.c:448
# 26 0x00007f7a55a3396a in gtk_css_custom_gadget_draw (gadget=0x1f38080, cr=0x12fadd0, x=0, y=0, width=1, height=83) at gtkcsscustomgadget.c:159
# 27 0x00007f7a55a39a6a in gtk_css_gadget_draw (gadget=0x1f38080, cr=0x12fadd0) at gtkcssgadget.c:877
# 28 0x00007f7a559c30dc in gtk_box_draw (widget=0x24d3660, cr=0x12fadd0) at gtkbox.c:457
# 29 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x24d3660, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 30 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x1d6e660, child=0x24d3660, cr=0x12fadd0) at gtkcontainer.c:3838
# 31 0x00007f7a55a2c5ef in gtk_container_draw (widget=0x1d6e660, cr=0x12fadd0) at gtkcontainer.c:3658
# 32 0x00007f7a559c30a5 in gtk_box_draw_contents (gadget=0x1d886a0, cr=0x12fadd0, x=0, y=0, width=1, height=83, unused=0x0) at gtkbox.c:448
# 33 0x00007f7a55a3396a in gtk_css_custom_gadget_draw (gadget=0x1d886a0, cr=0x12fadd0, x=0, y=0, width=1, height=83) at gtkcsscustomgadget.c:159
# 34 0x00007f7a55a39a6a in gtk_css_gadget_draw (gadget=0x1d886a0, cr=0x12fadd0) at gtkcssgadget.c:877
# 35 0x00007f7a559c30dc in gtk_box_draw (widget=0x1d6e660, cr=0x12fadd0) at gtkbox.c:457
# 36 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1d6e660, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 37 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x1d722b0, child=0x1d6e660, cr=0x12fadd0) at gtkcontainer.c:3838
# 38 0x00007f7a55a2c5ef in gtk_container_draw (widget=0x1d722b0, cr=0x12fadd0) at gtkcontainer.c:3658
# 39 0x00007f7a55b24fc5 in gtk_layout_draw (widget=0x1d722b0, cr=0x12fadd0) at gtklayout.c:1043
# 40 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1d722b0, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 41 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x1d6e510, child=0x1d722b0, cr=0x12fadd0) at gtkcontainer.c:3838
# 42 0x00007f7a55a2c5ef in gtk_container_draw (widget=0x1d6e510, cr=0x12fadd0) at gtkcontainer.c:3658
# 43 0x00007f7a559c30a5 in gtk_box_draw_contents (gadget=0x1d88620, cr=0x12fadd0, x=0, y=0, width=2286, height=238, unused=0x0) at gtkbox.c:448
# 44 0x00007f7a55a3396a in gtk_css_custom_gadget_draw (gadget=0x1d88620, cr=0x12fadd0, x=0, y=0, width=2286, height=238) at gtkcsscustomgadget.c:159
# 45 0x00007f7a55a39a6a in gtk_css_gadget_draw (gadget=0x1d88620, cr=0x12fadd0) at gtkcssgadget.c:877
# 46 0x00007f7a559c30dc in gtk_box_draw (widget=0x1d6e510, cr=0x12fadd0) at gtkbox.c:457
# 47 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1d6e510, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 48 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x1d845c0, child=0x1d6e510, cr=0x12fadd0) at gtkcontainer.c:3838
# 49 0x00007f7a55a2c5ef in gtk_container_draw (widget=0x1d845c0, cr=0x12fadd0) at gtkcontainer.c:3658
# 50 0x00007f7a55a92cd6 in gtk_event_box_draw (widget=0x1d845c0, cr=0x12fadd0) at gtkeventbox.c:619
# 51 0x00007f7a607df1f0 in ffi_call_unix64 () from /usr/lib/libffi.so.6
# 52 0x00007f7a607dec58 in ffi_call () from /usr/lib/libffi.so.6
# 53 0x00007f7a5fba38cc in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 54 0x00007f7a5fba4499 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 55 0x00007f7a5fba53b8 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 56 0x00007f7a5fb99355 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 57 0x00007f7a62126e5f in PyObject_Call (func=0x7f7a3c853688, arg=0x7f7a3c97b288, kw=0x0) at Objects/abstract.c:2165
# 58 0x00007f7a62246ec5 in do_call (func=0x7f7a3c853688, pp_stack=0x7ffcc5f9d5d0, na=2, nk=0) at Python/ceval.c:4887
# 59 0x00007f7a62246437 in call_function (pp_stack=0x7ffcc5f9d5d0, oparg=2) at Python/ceval.c:4683
# 60 0x00007f7a6223fdc0 in PyEval_EvalFrameEx (f=0x7f7a3c8157e8, throwflag=0) at Python/ceval.c:3185
# 61 0x00007f7a62243d29 in _PyEval_EvalCodeWithName (_co=0x7f7a402e2270, globals=0x7f7a402d51c8, locals=0x0, args=0x7f7a3c97fb20, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:3966
# 62 0x00007f7a62243e1e in PyEval_EvalCodeEx (_co=0x7f7a402e2270, globals=0x7f7a402d51c8, locals=0x0, args=0x7f7a3c97fb20, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:3987
# 63 0x00007f7a62161e65 in function_call (func=0x7f7a3c7839d8, arg=0x7f7a3c97fb08, kw=0x0) at Objects/funcobject.c:632
# 64 0x00007f7a62126e5f in PyObject_Call (func=0x7f7a3c7839d8, arg=0x7f7a3c97fb08, kw=0x0) at Objects/abstract.c:2165
# 65 0x00007f7a62245928 in PyEval_CallObjectWithKeywords (func=0x7f7a3c7839d8, arg=0x7f7a3c97fb08, kw=0x0) at Python/ceval.c:4530
# 66 0x00007f7a62126c0d in PyObject_CallObject (o=0x7f7a3c7839d8, a=0x7f7a3c97fb08) at Objects/abstract.c:2091
# 67 0x00007f7a5fba149c in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 68 0x00007f7a607defdf in ffi_closure_unix64_inner () from /usr/lib/libffi.so.6
# 69 0x00007f7a607df358 in ffi_closure_unix64 () from /usr/lib/libffi.so.6
# 70 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1d845c0, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 71 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x1d14e30, child=0x1d845c0, cr=0x12fadd0) at gtkcontainer.c:3838
# 72 0x00007f7a55a2c5ef in gtk_container_draw (widget=0x1d14e30, cr=0x12fadd0) at gtkcontainer.c:3658
# 73 0x00007f7a55ae0109 in gtk_grid_render (gadget=0x1d6a5f0, cr=0x12fadd0, x=0, y=0, width=2340, height=284, data=0x0) at gtkgrid.c:1716
# 74 0x00007f7a55a3396a in gtk_css_custom_gadget_draw (gadget=0x1d6a5f0, cr=0x12fadd0, x=0, y=0, width=2340, height=284) at gtkcsscustomgadget.c:159
# 75 0x00007f7a55a39a6a in gtk_css_gadget_draw (gadget=0x1d6a5f0, cr=0x12fadd0) at gtkcssgadget.c:877
# 76 0x00007f7a55ae0140 in gtk_grid_draw (widget=0x1d14e30, cr=0x12fadd0) at gtkgrid.c:1725
# 77 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1d14e30, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 78 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x1a313a0, child=0x1d14e30, cr=0x12fadd0) at gtkcontainer.c:3838
# 79 0x00007f7a55b90302 in gtk_paned_render (gadget=0x1aecae0, cr=0x12fadd0, x=0, y=0, width=2340, height=1082, data=0x0) at gtkpaned.c:1832
# 80 0x00007f7a55a3396a in gtk_css_custom_gadget_draw (gadget=0x1aecae0, cr=0x12fadd0, x=0, y=0, width=2340, height=1082) at gtkcsscustomgadget.c:159
# 81 0x00007f7a55a39a6a in gtk_css_gadget_draw (gadget=0x1aecae0, cr=0x12fadd0) at gtkcssgadget.c:877
# 82 0x00007f7a55b90046 in gtk_paned_draw (widget=0x1a313a0, cr=0x12fadd0) at gtkpaned.c:1782
# 83 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1a313a0, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 84 0x00007f7a55a2cb97 in gtk_container_propagate_draw (container=0x1b3e3f0, child=0x1a313a0, cr=0x12fadd0) at gtkcontainer.c:3838
# 85 0x00007f7a55a2c5ef in gtk_container_draw (widget=0x1b3e3f0, cr=0x12fadd0) at gtkcontainer.c:3658
# 86 0x00007f7a55d32ffc in gtk_window_draw (widget=0x1b3e3f0, cr=0x12fadd0) at gtkwindow.c:10207
# 87 0x00007f7a55d09aec in gtk_widget_draw_internal (widget=0x1b3e3f0, cr=0x12fadd0, clip_to_size=1) at gtkwidget.c:6989
# 88 0x00007f7a55d0ad3c in gtk_widget_send_expose (widget=0x1b3e3f0, event=0x7ffcc5f9fa10) at gtkwidget.c:7527
# 89 0x00007f7a55b39b7f in gtk_main_do_event (event=0x7ffcc5f9fa10) at gtkmain.c:1795
# 90 0x00007f7a5dcd22f6 in _gdk_event_emit (event=0x7ffcc5f9fa10) at gdkevents.c:73
# 91 0x00007f7a5dcea840 in _gdk_window_process_updates_recurse_helper (window=0x1d72450, expose_region=0x1dda940) at gdkwindow.c:3587
# 92 0x00007f7a5dceab00 in _gdk_window_process_updates_recurse (window=0x1d72450, expose_region=0x1dda940) at gdkwindow.c:3644
# 93 0x00007f7a5dcf7c47 in gdk_window_impl_process_updates_recurse (window=0x1d72450, region=0x1dda940) at gdkwindowimpl.c:46
# 94 0x00007f7a5dceada2 in gdk_window_process_updates_internal (window=0x1d72450) at gdkwindow.c:3733
# 95 0x00007f7a5dceb26f in gdk_window_process_updates_with_mode (window=0x1d72450, recurse_mode=2) at gdkwindow.c:3934
# 96 0x00007f7a5dcf71cf in gdk_window_paint_on_clock (clock=0x8db9e0, data=0x1d72450) at gdkwindow.c:11289
# 97 0x00007f7a5f6bf1d4 in ?? () from /usr/lib/libgobject-2.0.so.0
# 98 0x00007f7a5f6d99d6 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
# 99 0x00007f7a5f6da585 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
# 100 0x00007f7a5dcddaaa in gdk_frame_clock_paint_idle (data=0x8db9e0) at gdkframeclockidle.c:430
# 101 0x00007f7a5dcc4b0a in gdk_threads_dispatch (data=0x18bd6c0) at gdk.c:720
# 102 0x00007f7a5f3e9823 in ?? () from /usr/lib/libglib-2.0.so.0
# 103 0x00007f7a5f3e8dba in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
# 104 0x00007f7a5f3e9160 in ?? () from /usr/lib/libglib-2.0.so.0
# 105 0x00007f7a5f3e920c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
# 106 0x00007f7a5eec2afd in g_application_run () from /usr/lib/libgio-2.0.so.0
# 107 0x00007f7a607df1f0 in ffi_call_unix64 () from /usr/lib/libffi.so.6
# 108 0x00007f7a607dec58 in ffi_call () from /usr/lib/libffi.so.6
# 109 0x00007f7a5fba38cc in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 110 0x00007f7a5fba53b8 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 111 0x00007f7a5fb99355 in ?? () from /usr/lib/python3.5/site-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so
# 112 0x00007f7a62126e5f in PyObject_Call (func=0x7f7a563701f0, arg=0x7f7a562c2a20, kw=0x0) at Objects/abstract.c:2165
# 113 0x00007f7a62246ec5 in do_call (func=0x7f7a563701f0, pp_stack=0x7ffcc5fa06a0, na=1, nk=0) at Python/ceval.c:4887
# 114 0x00007f7a62246437 in call_function (pp_stack=0x7ffcc5fa06a0, oparg=1) at Python/ceval.c:4683
# 115 0x00007f7a6223fdc0 in PyEval_EvalFrameEx (f=0x7f7a609f49d0, throwflag=0) at Python/ceval.c:3185
# 116 0x00007f7a622466f6 in fast_function (func=0x7f7a609e8378, pp_stack=0x7ffcc5fa1c80, n=0, na=0, nk=0) at Python/ceval.c:4754
# 117 0x00007f7a6224640c in call_function (pp_stack=0x7ffcc5fa1c80, oparg=0) at Python/ceval.c:4681
# 118 0x00007f7a6223fdc0 in PyEval_EvalFrameEx (f=0x7f7a62804828, throwflag=0) at Python/ceval.c:3185
# 119 0x00007f7a62243d29 in _PyEval_EvalCodeWithName (_co=0x7f7a626f8ae0, globals=0x7f7a627b9688, locals=0x7f7a627b9688, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:3966
# 120 0x00007f7a62243e1e in PyEval_EvalCodeEx (_co=0x7f7a626f8ae0, globals=0x7f7a627b9688, locals=0x7f7a627b9688, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:3987
# 121 0x00007f7a62233aa5 in PyEval_EvalCode (co=0x7f7a626f8ae0, globals=0x7f7a627b9688, locals=0x7f7a627b9688) at Python/ceval.c:777
# 122 0x00007f7a6227c454 in run_mod (mod=0x74f3a0, filename=0x7f7a60ea6c30, globals=0x7f7a627b9688, locals=0x7f7a627b9688, flags=0x7ffcc5fa3540, arena=0x6907e0) at Python/pythonrun.c:970
# 123 0x00007f7a6227c219 in PyRun_FileExFlags (fp=0x69b120, filename_str=0x7f7a627b0530 "bin/pitivi", start=257, globals=0x7f7a627b9688, locals=0x7f7a627b9688, closeit=1, flags=0x7ffcc5fa3540) at Python/pythonrun.c:923
# 124 0x00007f7a6227a783 in PyRun_SimpleFileExFlags (fp=0x69b120, filename=0x7f7a627b0530 "bin/pitivi", closeit=1, flags=0x7ffcc5fa3540) at Python/pythonrun.c:396
# 125 0x00007f7a62279836 in PyRun_AnyFileExFlags (fp=0x69b120, filename=0x7f7a627b0530 "bin/pitivi", closeit=1, flags=0x7ffcc5fa3540) at Python/pythonrun.c:80
# 126 0x00007f7a6229dedd in run_file (fp=0x69b120, filename=0x6152f0 L"bin/pitivi", p_cf=0x7ffcc5fa3540) at Modules/main.c:318
# 127 0x00007f7a6229eea3 in Py_Main (argc=2, argv=0x613010) at Modules/main.c:768
# 128 0x0000000000400c60 in main (argc=2, argv=0x7ffcc5fa37f8) at ./Programs/python.c:69
Also following warning is produced by the ViewerWidget:
(pitivi:19263): Gtk-WARNING **: Allocating size to pitivi+viewer+TransformationBox 0x1f6c9c0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
It can be fixed by not overriding do_get_preferred_width / do_get_preferred_height.
I also needed to modify a m4 file in the common module for Pitivi to build with GNOME 3.20:
diff --git a/m4/glib-gettext.m4 b/m4/glib-gettext.m4
index f8d442f..fb5eaed 100644
--- a/m4/glib-gettext.m4
+++ b/m4/glib-gettext.m4
@@ -36,8 +36,8 @@ dnl We go to great lengths to make sure that aclocal won't
dnl try to pull in the installed version of these macros
dnl when running aclocal in the glib directory.
dnl
-m4_copy([AC_DEFUN],[glib_DEFUN])
-m4_copy([AC_REQUIRE],[glib_REQUIRE])
dnl
dnl At the end, if we're not within glib, we'll define the public
dnl definitions in terms of our private definitions.