After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 721060 - Pitivi crashes when creating a new project after loading a project
Pitivi crashes when creating a new project after loading a project
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-editing-services
1.2.1
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-12-25 23:42 UTC by Jean-François Fortin Tam
Modified: 2014-10-07 01:08 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jean-François Fortin Tam 2013-12-25 23:42:24 UTC
Load an existing xges project, then create a new blank project.
Wait (it may take a lot longer in gdb), and eventually segfaults like this:

(gdb) bt full
  • #0 check_iter_access
    at gsequence.c line 186
  • #1 g_sequence_remove
    at gsequence.c line 538
  • #2 stop_tracking_track_element
    at ges-timeline.c line 958
  • #3 track_element_removed_cb
    at ges-timeline.c line 2267
  • #4 g_cclosure_marshal_VOID__OBJECTv
    at gmarshal.c line 1312
  • #5 _g_closure_invoke_va
    at gclosure.c line 840
  • #6 g_signal_emit_valist
    at gsignal.c line 3238
  • #7 g_signal_emit
    at gsignal.c line 3386
  • #8 remove_object_internal
    at ges-track.c line 355
  • #9 ges_track_remove_element
    at ges-track.c line 903
  • #10 ffi_call_unix64
    from /lib64/libffi.so.6
  • #11 ffi_call
    from /lib64/libffi.so.6
  • #12 g_cclosure_marshal_generic
    at gclosure.c line 1454
  • #13 g_closure_invoke
    at gclosure.c line 777
  • #14 signal_emit_unlocked_R
    at gsignal.c line 3586
  • #15 g_signal_emit_valist
    at gsignal.c line 3330
  • #16 g_signal_emit
    at gsignal.c line 3386
  • #17 ges_container_remove
    at ges-container.c line 600
  • #18 layer_object_removed_cb
    at ges-timeline.c line 2120
  • #19 ges_timeline_remove_layer
    at ges-timeline.c line 2603
  • #20 ges_timeline_dispose
    at ges-timeline.c line 325
  • #21 g_object_unref
    at gobject.c line 3160
  • #22 g_object_remove_toggle_ref
    at gobject.c line 3038
  • #23 pygobject_clear
    at pygobject.c line 1188
  • #24 pygobject_dealloc
    at pygobject.c line 1102
  • #25 subtype_dealloc
  • #26 dict_dealloc
    at /usr/src/debug/Python-2.7.5/Objects/dictobject.c line 1019
  • #27 pygobject_clear
    at pygobject.c line 1197
  • #28 delete_garbage
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 894
  • #29 collect
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1058
  • #30 PyGC_Collect
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1514
  • #31 Py_Finalize
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 444
  • #32 Py_Exit
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1780
  • #33 handle_system_exit
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1154
  • #34 handle_system_exit
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1176
  • #35 PyErr_PrintEx
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1164
  • #36 PyErr_Print
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1067
  • #37 PyRun_SimpleFileExFlags
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 955
  • #38 PyRun_AnyFileExFlags
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 755
  • #39 Py_Main
    at /usr/src/debug/Python-2.7.5/Modules/main.c line 640
  • #40 __libc_start_main
    at libc-start.c line 285
  • #41 _start

Comment 1 Thibault Saunier 2013-12-27 09:22:28 UTC
I could not reproduce, and I have already seen such issues with GSequence. Can you reproduce 100%? What GLib version are you using?
Comment 2 Jean-François Fortin Tam 2013-12-27 16:38:19 UTC
For me, it happens with more complex projects such as my 0.91 motivational video project (which is 1 minute long)... and this morning when trying to reproduce the issue, I did not get the segfault directly on creating a new project after having loaded that project; I got the segfault by trying to exit the app after doing all that!

This time the trace is:

(gdb) bt full
  • #0 node_get_last
    at gsequence.c line 1606
  • #1 get_sequence
    at gsequence.c line 180
  • #2 check_iter_access
    at gsequence.c line 186
  • #3 g_sequence_remove
    at gsequence.c line 538
  • #4 stop_tracking_track_element
    at ges-timeline.c line 958
  • #5 track_element_removed_cb
    at ges-timeline.c line 2267
  • #6 g_cclosure_marshal_VOID__OBJECTv
    at gmarshal.c line 1312
  • #7 _g_closure_invoke_va
    at gclosure.c line 840
  • #8 g_signal_emit_valist
    at gsignal.c line 3238
  • #9 g_signal_emit
    at gsignal.c line 3386
  • #10 remove_object_internal
    at ges-track.c line 355
  • #11 ges_track_remove_element
    at ges-track.c line 903
  • #12 ffi_call_unix64
    from /lib64/libffi.so.6
  • #13 ffi_call
    from /lib64/libffi.so.6
  • #14 g_cclosure_marshal_generic
    at gclosure.c line 1454
  • #15 g_closure_invoke
    at gclosure.c line 777
  • #16 signal_emit_unlocked_R
    at gsignal.c line 3586
  • #17 g_signal_emit_valist
    at gsignal.c line 3330
  • #18 g_signal_emit
    at gsignal.c line 3386
  • #19 ges_container_remove
    at ges-container.c line 600
  • #20 layer_object_removed_cb
    at ges-timeline.c line 2120
  • #21 ges_timeline_remove_layer
    at ges-timeline.c line 2603
  • #22 ges_timeline_dispose
    at ges-timeline.c line 325
  • #23 g_object_unref
    at gobject.c line 3160
  • #24 g_object_remove_toggle_ref
    at gobject.c line 3038
  • #25 pygobject_clear
    at pygobject.c line 1188
  • #26 pygobject_dealloc
    at pygobject.c line 1102
  • #27 subtype_dealloc
  • #28 dict_dealloc
    at /usr/src/debug/Python-2.7.5/Objects/dictobject.c line 1019
  • #29 pygobject_clear
    at pygobject.c line 1197
  • #30 delete_garbage
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 894
  • #31 collect
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1058
  • #32 collect_generations
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1124
  • #33 _PyObject_GC_Malloc
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1585
  • #34 _PyObject_GC_New
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1595
  • #35 PyGen_New
  • #36 PyEval_EvalCodeEx
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 3327
  • #37 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4194
  • #38 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #39 PyEval_EvalFrameEx
  • #40 PyEval_EvalCodeEx
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 3330
  • #41 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4194
  • #42 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #43 PyEval_EvalFrameEx
  • #44 PyEval_EvalCodeEx
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 3330
  • #45 function_call
  • #46 PyObject_Call
  • #47 ext_do_call
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4411
  • #48 PyEval_EvalFrameEx
  • #49 PyEval_EvalCodeEx
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 3330
  • #50 function_call
  • #51 PyObject_Call
  • #52 ext_do_call
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4411
  • #53 PyEval_EvalFrameEx
  • #54 PyEval_EvalCodeEx
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 3330
  • #55 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4194
  • #56 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #57 PyEval_EvalFrameEx
  • #58 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4184
  • #59 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #60 PyEval_EvalFrameEx
  • #61 PyEval_EvalCodeEx
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 3330
  • #62 function_call
  • #63 PyObject_Call
  • #64 instancemethod_call
  • #65 PyObject_Call
  • #66 do_call
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4316
  • #67 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4121
  • #68 PyEval_EvalFrameEx
  • #69 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4184
  • #70 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #71 PyEval_EvalFrameEx
  • #72 PyEval_EvalCodeEx
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 3330
  • #73 function_call
  • #74 PyObject_Call
  • #75 instancemethod_call
  • #76 PyObject_Call
  • #77 PyEval_CallObjectWithKeywords
  • #78 PyObject_CallObject
  • #79 pygi_signal_closure_marshal
    at pygi-signal-closure.c line 149
  • #80 g_closure_invoke
    at gclosure.c line 777
  • #81 signal_emit_unlocked_R
    at gsignal.c line 3586
  • #82 g_signal_emit_valist
    at gsignal.c line 3340
  • #83 g_signal_emit
    at gsignal.c line 3386
  • #84 gtk_widget_event_internal
    at gtkwidget.c line 7168
  • #85 gtk_widget_event
    at gtkwidget.c line 6830
  • #86 gtk_main_do_event
    at gtkmain.c line 1596
  • #87 send_delete_event
    at gtkwindow.c line 1250
  • #88 gdk_threads_dispatch
    at gdk.c line 804
  • #89 g_main_dispatch
    at gmain.c line 3066
  • #90 g_main_context_dispatch
    at gmain.c line 3642
  • #91 g_main_context_iterate
    at gmain.c line 3713
  • #92 g_main_loop_run
    at gmain.c line 3907
  • #93 ffi_call_unix64
    from /lib64/libffi.so.6
  • #94 ffi_call
    from /lib64/libffi.so.6
  • #95 g_callable_info_invoke
    at girepository/gicallableinfo.c line 680
  • #96 g_function_info_invoke
    at girepository/gifunctioninfo.c line 274
  • #97 _invoke_callable
    at pygi-invoke.c line 64
  • #98 pygi_callable_info_invoke
    at remote 0x1aa0c18>,), kwargs=<optimized out>, cache=<optimized out>, function_ptr=function_ptr@entry=0x0, user_data=user_data@entry=0x0) at pygi-invoke.c line 652
  • #99 _wrap_g_callable_info_invoke
    at remote 0x1aa0c18>,), kwargs=kwargs@entry=0x0) at pygi-invoke.c line 675
  • #100 _callable_info_call
  • #101 PyObject_Call
  • #102 do_call
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4316
  • #103 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4121
  • #104 PyEval_EvalFrameEx
    at remote 0x1aa0c18>), throwflag=throwflag@entry=0) at /usr/src/debug/Python-2.7.5/Python/ceval.c line 2740
  • #105 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4184
  • #106 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #107 PyEval_EvalFrameEx
  • #108 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4184
  • #109 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #110 PyEval_EvalFrameEx
  • #111 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4184
  • #112 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #113 PyEval_EvalFrameEx
  • #114 fast_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4184
  • #115 call_function
    at /usr/src/debug/Python-2.7.5/Python/ceval.c line 4119
  • #116 PyEval_EvalFrameEx
  • #117 PyEval_EvalCodeEx
  • #118 PyEval_EvalCode
  • #119 run_mod
  • #120 PyRun_FileExFlags
  • #121 PyRun_SimpleFileExFlags
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 951
  • #122 PyRun_AnyFileExFlags
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 755
  • #123 Py_Main
    at /usr/src/debug/Python-2.7.5/Modules/main.c line 640
  • #124 __libc_start_main
    at libc-start.c line 285
  • #125 _start

Comment 3 Jean-François Fortin Tam 2013-12-27 16:45:11 UTC
And the version of glib2 provided by Fedora 20 is 2.38.2.
Comment 4 Jean-François Fortin Tam 2013-12-27 17:00:12 UTC
And yet another segfault, again on "load a project, create a new project, then try quitting the app" like the previous one, but the trace seems different again...


(gdb) bt full
  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 56
  • #1 __GI_abort
    at abort.c line 89
  • #2 _g_log_abort
    at gmessages.c line 255
  • #3 g_assertion_message
  • #4 g_assertion_message_expr
    at gtestutils.c line 2293
  • #5 node_rotate
    at gsequence.c line 1837
  • #6 rotate_down
    at gsequence.c line 1920
  • #7 node_unlink
    at gsequence.c line 1982
  • #8 g_sequence_remove
    at gsequence.c line 542
  • #9 stop_tracking_track_element
    at ges-timeline.c line 952
  • #10 track_element_removed_cb
    at ges-timeline.c line 2261
  • #11 g_cclosure_marshal_VOID__OBJECTv
    at gmarshal.c line 1312
  • #12 _g_closure_invoke_va
    at gclosure.c line 840
  • #13 g_signal_emit_valist
    at gsignal.c line 3238
  • #14 g_signal_emit
    at gsignal.c line 3386
  • #15 remove_object_internal
    at ges-track.c line 355
  • #16 ges_track_remove_element
    at ges-track.c line 899
  • #17 ffi_call_unix64
    from /lib64/libffi.so.6
  • #18 ffi_call
    from /lib64/libffi.so.6
  • #19 g_cclosure_marshal_generic
    at gclosure.c line 1454
  • #20 g_closure_invoke
    at gclosure.c line 777
  • #21 signal_emit_unlocked_R
    at gsignal.c line 3586
  • #22 g_signal_emit_valist
    at gsignal.c line 3330
  • #23 g_signal_emit
    at gsignal.c line 3386
  • #24 ges_container_remove
    at ges-container.c line 600
  • #25 layer_object_removed_cb
    at ges-timeline.c line 2114
  • #26 ges_timeline_remove_layer
    at ges-timeline.c line 2597
  • #27 ges_timeline_dispose
    at ges-timeline.c line 325
  • #28 g_object_unref
    at gobject.c line 3160
  • #29 g_object_remove_toggle_ref
    at gobject.c line 3038
  • #30 pygobject_clear
    at pygobject.c line 1188
  • #31 pygobject_dealloc
    at pygobject.c line 1102
  • #32 subtype_dealloc
  • #33 dict_dealloc
    at /usr/src/debug/Python-2.7.5/Objects/dictobject.c line 1019
  • #34 pygobject_clear
    at pygobject.c line 1197
  • #35 delete_garbage
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 894
  • #36 collect
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1058
  • #37 PyGC_Collect
    at /usr/src/debug/Python-2.7.5/Modules/gcmodule.c line 1514
  • #38 Py_Finalize
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 444
  • #39 Py_Exit
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1780
  • #40 handle_system_exit
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1154
  • #41 handle_system_exit
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1176
  • #42 PyErr_PrintEx
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1164
  • #43 PyErr_Print
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 1067
  • #44 PyRun_SimpleFileExFlags
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 955
  • #45 PyRun_AnyFileExFlags
    at /usr/src/debug/Python-2.7.5/Python/pythonrun.c line 755
  • #46 Py_Main
    at /usr/src/debug/Python-2.7.5/Modules/main.c line 640
  • #47 __libc_start_main
    at libc-start.c line 285
  • #48 _start

Comment 5 Luis de Bethencourt 2014-10-06 15:34:58 UTC
This bug hasn't had activity in a while, and being a severity:major issue, I am just wondering. Does it still happen?
Comment 6 Jean-François Fortin Tam 2014-10-07 01:08:29 UTC
(un)fortunately I can't reproduce this on "git master of everything" today.
 ...NEXT TIME, MR. FOX!