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 442706 - [dvdsubdec] crashes when flushing/on seek
[dvdsubdec] crashes when flushing/on seek
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
0.10.5
Other Linux
: Normal normal
: 0.10.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-05-31 21:17 UTC by Mark Nauwelaerts
Modified: 2007-05-31 22:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Simple possible patch (419 bytes, patch)
2007-05-31 21:19 UTC, Mark Nauwelaerts
committed Details | Review

Description Mark Nauwelaerts 2007-05-31 21:17:49 UTC
As dvdsubdec receives FLUSH_START, it performs some reset/clear (freeing buffers, etc).  However, as FLUSH_START is not a serialized event, the streaming thread (in chain) may very well concurrently still be using those resources (hence segfault).
Comment 1 Mark Nauwelaerts 2007-05-31 21:19:48 UTC
Created attachment 89137 [details] [review]
Simple possible patch

* Perform reset when receiving (serialized) FLUSH_STOP (rather than FLUSH_START)
Comment 2 Tim-Philipp Müller 2007-05-31 22:34:55 UTC
Nice catch, makes sense:

 2007-05-31  Tim-Philipp Müller  <tim at centricular dot net>

       Patch by: Mark Nauwelaerts <manauw at skynet be>

       * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_sink_event):
         Clear state when handling the serialized FLUSH_STOP event instead of
         the FLUSH_START event, thereby making sure we don't free buffers the
         chain function is still processing. Fixes dvdsubdec crashing when
         flushing/seeking (#442706).

Thanks for the patch!