GNOME Bugzilla – Bug 385623
[quarktv] crash when plugged dynamically into a pipeline
Last modified: 2006-12-14 19:21:23 UTC
I am getting a crash in the quarktv element however since I am not 100% that my method is correct I describe it below:
Given a pipeline in PLAYING state:
v4lsrc ! ffmpegcolorspace ! xvimagesink
I block the v4lsrc src pad unlink with the csp. Then I add to the pipeline a bin containing [ ffmpegcolorspace ! quarktv ] and link the blocked src pad to a ghost pad on the bin, the bin src pad to the csp and then unblock the blocked pad.
For most of the *tv filters this always works (i.e. never any crash). With the quarktv I sometimes get a crash:
Program received signal SIGSEGV, Segmentation fault.
Created attachment 78318 [details]
GST_DEBUG=3 log of crash
Are you setting the effects bin to PLAYING state before you put it into the pipeline (or before you unblock the pad)?
Could you try with -good CVS to see if it's been fixed?
If it hasn't been fixed or you can't try CVS, could you please either
- provide a small test program that demonstrates the bug, or
- provide a stack trace with debugging symbols (your distro might
have -dbg packages for gstreamer, as ubuntu does for example)?
> Are you setting the effects bin to PLAYING state before you put it into the pipeline (or before you unblock the pad)?
After fixing this I cannot reproduce the crash. Thank you very much - a very good guess.
If a stack trace would be useful anyway (i.e. if the old behavior is classed as a bug) I can provide one, just ask.
> If a stack trace would be useful anyway (i.e. if the old behavior is classed as
> a bug) I can provide one, just ask.
It should never crash, no matter what.
If you can provide one, a stack trace with debugging symbols would still be very useful, that way we can make sure my recent commit does in fact fix the issue.
Here is the trace with debug symbols installed.
Thanks a lot, that confirms it is in fact the same thing that I fixed:
2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
* gst/effectv/gstquark.c: (gst_quarktv_transform),
Add some NULL pointer checks (possibly related to #385623).