← Back to team overview

openshot.developers team mailing list archive

Re: Frei0r Effects not working via PPA and DEBs

 

TJ, Thanks for helping track down the issue with the crash after closing the
clip properties window.  I used you stack trace to find the suspect code.
It revealed a larger problem about how my threads are communicating with
each other.  Long story short, I put some protection in the multi-thread
code, and now I can't make it crash.  So, not only does this fix the issue
you reported, but it also fixes other random segfaults while using OpenShot
(and closing OpenShot).

Version 0.9.42 has been published to bzr.

Thanks,
-Jonathan


On Mon, Sep 28, 2009 at 3:31 PM, TJ <ubuntu@xxxxxxxxxxx> wrote:

> On Mon, 2009-09-28 at 10:46 -0500, Jonathan Thomas wrote:
> > I just noticed something.  When OpenShot is installed via the PPA or
> > DEB installer, any effect that depends on the Frei0r library fails
> > with a segmentation fault.
>
> I used your test case and cannot reproduce the fault. I can drop effects
> (including "Black and White") onto a clip on the timeline, press Play,
> and see the effect being rendered in the preview window.
>
> I *thought* I'd added frei0r as a depend to the MLT package, and I had,
> but only for building. The package-build system ought to detect and
> automatically add the depend on frei0r-plugins using the
> "debian/control" expression "${shlibs:Depends}".
>
> I'll do some digging in case this is a symptom of a wider issue with the
> MLT packaging.
>
>
> I did some experimenting and was able to cause a SIGSEGV in another
> scenario. This seems to affect high-quality H.264 videos mostly because
> they impose such a background processing load (unless VDPAU is
> available):
>
> 1. Add a clip to the time-line
> 2. Drop an effect onto the clip
> 3. Play the clip
> 4. Pause the clip
> 5. Whilst the background decoder process is still active...
> 5a. Call up Clip Properties, delete the Effect, press Apply
> 5b. Close the dialog
>
> gdb shows:
>
> on_tlbPlay_clicked called with self.tlbPlay  (<< this is when I pressed
> play)
> [New Thread 0x7fc05bb48950 (LWP 18231)]
> [Thread 0x7fc05bb48950 (LWP 18231) exited]
> [New Thread 0x7fc05bb48950 (LWP 18232)]
> [New Thread 0x7fc057667950 (LWP 18233)]
> [New Thread 0x7fc05a343950 (LWP 18234)]
> [New Thread 0x7fc056344950 (LWP 18235)]
> [New Thread 0x7fc055b43950 (LWP 18236)]
> [Thread 0x7fc058ef6950 (LWP 18229) exited]
> [Thread 0x7fc057e68950 (LWP 18230) exited]
> [New Thread 0x7fc057e68950 (LWP 18237)]
> [New Thread 0x7fc058ef6950 (LWP 18238)]
> on_tlbPlay_clicked called with self.tlbPlay (<< pressing play again to
> pause preview)
> [Thread 0x7fc057e68950 (LWP 18237) exited]
> [Thread 0x7fc058ef6950 (LWP 18238) exited]
> on_mnuClipProperties_activate (<< right-click clip, choose Properties)
> [Thread 0x7fc055b43950 (LWP 18236) exited]
> [Thread 0x7fc05bb48950 (LWP 18232) exited]
> [Thread 0x7fc056344950 (LWP 18235) exited]
> [Thread 0x7fc05a343950 (LWP 18234) exited]
> [Thread 0x7fc057667950 (LWP 18233) exited]
> on_txtOut_value_changed
> on_cboKeyFrame_changed
> on_cboSimpleSpeed_changed
> GenerateXML for an Effect
> [New Thread 0x7fc057667950 (LWP 18239)]
> [Thread 0x7fc057667950 (LWP 18239) exited]
> [New Thread 0x7fc057667950 (LWP 18240)]
> [New Thread 0x7fc05a343950 (LWP 18241)]
> [New Thread 0x7fc056344950 (LWP 18242)]
> [New Thread 0x7fc05bb48950 (LWP 18243)]
> [New Thread 0x7fc058ef6950 (LWP 18244)]
> [New Thread 0x7fc057e68950 (LWP 18245)]
> [Thread 0x7fc056344950 (LWP 18242) exited]
> [Thread 0x7fc05bb48950 (LWP 18243) exited]
> [Thread 0x7fc058ef6950 (LWP 18244) exited]
> [Thread 0x7fc057e68950 (LWP 18245) exited]
> [New Thread 0x7fc057e68950 (LWP 18246)]
> [New Thread 0x7fc058ef6950 (LWP 18247)]
> [New Thread 0x7fc05bb48950 (LWP 18248)]
> on_treeEffects_button_release_event
> burningtv
> <classes.effect.effect_metadata instance at 0x31d23b0>
> [New Thread 0x7fc056344950 (LWP 18249)]
> [New Thread 0x7fc05af45950 (LWP 18250)]
> on_btnRemoveEffect_clicked (<< Remove button pressed)
> [Thread 0x7fc056344950 (LWP 18249) exited]
> [Thread 0x7fc05af45950 (LWP 18250) exited]
> [New Thread 0x7fc05af45950 (LWP 18251)]
> [New Thread 0x7fc056344950 (LWP 18252)]
> on_btnClose_clicked
> on_frmClipProperties_destroy
> [Thread 0x7fc05bb48950 (LWP 18248) exited]
> [Thread 0x7fc057667950 (LWP 18240) exited]
> [Thread 0x7fc058ef6950 (LWP 18247) exited]
> [Thread 0x7fc057e68950 (LWP 18246) exited]
> [Thread 0x7fc05a343950 (LWP 18241) exited]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fc076dc76f0 (LWP 18136)]
>
> (gdb) bt
> #0  0x00007fc074114cc7 in IA__gtk_range_set_value (range=0x2b37c80,
> value=0)
>    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkrange.c:1014
> #1  0x00007fc0746efce9 in ?? () from
> /var/lib/python-support/python2.6/gtk-2.0/gtk/_gtk.so
> #2  0x000000000041d3bd in PyObject_Call (func=0x31d9a28, arg=0x31edad0,
> kw=0x0) at ../Objects/abstract.c:2492
> #3  0x000000000049cd46 in PyEval_CallObjectWithKeywords (func=0x31d9a28,
> arg=0x31edad0, kw=0x0)
>    at ../Python/ceval.c:3575
> #4  0x00007fc07507235c in _pyglib_handler_marshal () from
> /usr/lib/libpyglib-2.0-python2.6.so.0
> #5  0x00007fc0752af20a in IA__g_main_context_dispatch (context=0x2b21280)
>    at /tmp/buildd/glib2.0-2.20.1/glib/gmain.c:1814
> #6  0x00007fc0752b28e0 in g_main_context_iterate (context=0x2b21280,
> block=1, dispatch=1,
>    self=<value optimized out>) at
> /tmp/buildd/glib2.0-2.20.1/glib/gmain.c:2448
> #7  0x00007fc0752b2dad in IA__g_main_loop_run (loop=0x385d460) at
> /tmp/buildd/glib2.0-2.20.1/glib/gmain.c:2656
> #8  0x00007fc0740d5bc7 in IA__gtk_main () at
> /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c:1205
> #9  0x00007fc074729772 in ?? () from
> /var/lib/python-support/python2.6/gtk-2.0/gtk/_gtk.so
> #10 0x00000000004a2d39 in PyEval_EvalFrameEx (f=0x2899780, throwflag=<value
> optimized out>)
>    at ../Python/ceval.c:3690
> #11 0x00000000004a3dae in PyEval_EvalFrameEx (f=0x288bb10, throwflag=<value
> optimized out>)
>    at ../Python/ceval.c:3792
> #12 0x00000000004a4649 in PyEval_EvalCodeEx (co=0x7fc076cdd918,
> globals=<value optimized out>,
>    locals=<value optimized out>, args=0x0, argcount=0, kws=0x0, kwcount=0,
> defs=0x0, defcount=0, closure=0x0)
>    at ../Python/ceval.c:2968
> #13 0x00000000004a4762 in PyEval_EvalCode (co=0x0, globals=0x29da850,
> locals=0x1) at ../Python/ceval.c:522
> #14 0x00000000004c4c3c in PyRun_FileExFlags (fp=0x288baf0,
> filename=0x7fff7edf0679 "/usr/bin/openshot",
>    start=<value optimized out>, globals=0x2832750, locals=0x2832750,
> closeit=1, flags=0x7fff7edef080)
>    at ../Python/pythonrun.c:1335
> #15 0x00000000004c4f6b in PyRun_SimpleFileExFlags (fp=0x288baf0,
> filename=0x7fff7edf0679 "/usr/bin/openshot",
>    closeit=1, flags=0x7fff7edef080) at ../Python/pythonrun.c:931
> #16 0x00000000004189ce in Py_Main (argc=<value optimized out>,
> argv=0x7fff7edef198) at ../Modules/main.c:599
> ---Type <return> to continue, or q <return> to quit---
> #17 0x00007fc075dbd5a6 in __libc_start_main (main=0x417bb0 <main>, argc=2,
> ubp_av=0x7fff7edef198,
>    init=0x54a180 <__libc_csu_init>, fini=<value optimized out>,
> rtld_fini=<value optimized out>,
>    stack_end=0x7fff7edef188) at libc-start.c:220
> #18 0x0000000000417ae9 in _start () at ../sysdeps/x86_64/elf/start.S:113
>
> (gdb) info threads
>  110 Thread 0x7fc056344950 (LWP 18252)  pthread_cond_wait@@GLIBC_2.3.2 ()
>    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
>  109 Thread 0x7fc05af45950 (LWP 18251)  0x00007fc075e7b496 in *__GI___poll
> (fds=0x36f5720, nfds=2, timeout=98)
>    at ../sysdeps/unix/sysv/linux/poll.c:87
>  4 Thread 0x7fc05c550950 (LWP 18143)  0x00007fc075e7d742 in select () from
> /lib/libc.so.6
>  3 Thread 0x7fc05cd51950 (LWP 18142)  0x00007fc075e7d742 in select () from
> /lib/libc.so.6
>  2 Thread 0x7fc06a831950 (LWP 18141)  0x00007fc075e7d742 in select () from
> /lib/libc.so.6
> * 1 Thread 0x7fc076dc76f0 (LWP 18136)  0x00007fc074114cc7 in
> IA__gtk_range_set_value (range=0x2b37c80, value=0)
>    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkrange.c:1014
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
> Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
> More help   : https://help.launchpad.net/ListHelp
>

References