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 399338 - Hang in PREROLLING when trying to play a specially crafted AVI file
Hang in PREROLLING when trying to play a specially crafted AVI file
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.4
Other Linux
: Normal major
: 0.10.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-01-22 11:13 UTC by Loïc Minier
Modified: 2007-01-22 13:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Log of a hanging playbin run on a broken AVI file (318.24 KB, application/x-gzip)
2007-01-22 11:14 UTC, Loïc Minier
Details

Description Loïc Minier 2007-01-22 11:13:40 UTC
Hi,

Sam Hocevar reported three different issues with GStreamer 0.10 modules in Debian bug http://bugs.debian.org/407004.  The bugs were discovered with the help of a new media file fuzzer, "zzuf", which is available from http://sam.zoy.org/zzuf/.

This particular bug is about the hang that happens when trying to play http://sam.zoy.org/zzuf/lol-gstreamer.avi.

I think the problem is in the avidemux plugin; it might be interesting that it barks:
0:00:00.719084000   831 0x8136300 WARN              avidemux gstavidemux.c:3521:gst_avi_demux_loop: stream_header flow: unexpected

The pipeline stays in the PREROLLING state.

I'm going to attach a gzipped level 5 log:
gst-launch-0.10 --gst-debug-no-color --gst-debug-level=5 playbin uri=file://$PWD/lol-gstreamer.avi > ~/avi-debug-log.txt 2>&1

Bye,
Comment 1 Loïc Minier 2007-01-22 11:14:35 UTC
Created attachment 80877 [details]
Log of a hanging playbin run on a broken AVI file
Comment 2 Tim-Philipp Müller 2007-01-22 13:09:12 UTC
Yeah, we saw those (see #397229, but it's better to have a separate bug for each issue). This one is harmless, no exploit and no deadlock, we just fail to post an error message so the main thread waits forever for the state change to succeed.

  2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>

       * gst/avi/gstavidemux.c: (gst_avi_demux_stream_header_pull):
         Error out properly when pull_range fails while we're reading the
         headers, instead of just pausing the task silently. Fixes #399338.