GNOME Bugzilla – Bug 702605
project: move enable update before the formatter is removed.
Last modified: 2013-09-24 16:03:39 UTC
Created attachment 247216 [details] [review] project: move enable update before the formatter is removed. Fixes segfault , formatter timeline is grabbed and passed to ges_timeline_enable_update but has been reset to garabage at formatter removal. Backtrace: Program received signal SIGSEGV, Segmentation fault. 0x00007ffff4219166 in ges_timeline_enable_update (timeline=0x-5555555555555556, enabled=1) at /home/prahal/Projects/Devel/Gnome/jhbuild/gnome/gst-editing-services/ges/ges-timeline.c:2745 2745 for (tmp = timeline->tracks; tmp; tmp = tmp->next) { (gdb) bt
+ Trace 232099
515 GST_INFO_OBJECT (project, "Emit project loaded"); 516 g_signal_emit (project, _signals[LOADED_SIGNAL], 0, formatter->timeline); 517 518 /* We are now done with that formatter */ 519 ges_project_remove_formatter (project, formatter); 520 ges_timeline_enable_update (formatter->timeline, TRUE); 521 return TRUE; 522 } 523 524 void (gdb) p formatter $2 = 0x29a34f0 (gdb) p *formatter $3 = {parent = {g_type_instance = {g_class = 0xaaaaaaaaaaaaaaaa}, ref_count = 2863311530, qdata = 0xaaaaaaaaaaaaaaaa}, priv = 0xaaaaaaaaaaaaaaaa, project = 0x-5555555555555556, timeline = 0x-5555555555555556, _ges_reserved = {0xaaaaaaaaaaaaaaaa, 0xaaaaaaaaaaaaaaaa, 0xaaaaaaaaaaaaaaaa, 0xaaaaaaaaaaaaaaaa}} (gdb) b 519
I can confirm this bug. This patch fixes it for me: https://github.com/lubosz/gst-editing-services/commit/a82843a21c55e8f5f2af77a46a9224956abbad94
The following fix has been pushed: 30f0924 timeline: fix segfaults
Created attachment 247327 [details] [review] timeline: fix segfaults don't call the timeline update, when the reference is invalid