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 156063 - infinite loop and 100% CPU with some MP3
infinite loop and 100% CPU with some MP3
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.8.8
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-10-21 14:54 UTC by Loïc Minier
Modified: 2005-08-15 01:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Loïc Minier 2004-10-21 14:54:00 UTC
gst-launch-0.8 gnomevfssrc location=00-time_signal.mp3 ! typefind ! spider !
fakesink

with <http://www.nottingham.ac.uk/~enxrah/00-time_signal.mp3>

This is Debian bug <http://bugs.debian.org/277650>.
Comment 1 enxrah 2004-10-23 11:24:16 UTC
I have a number of files that exhibit this behaviour. They are all very short (3
or 4 seconds)
Comment 2 nate 2004-10-23 20:37:41 UTC
I have a bunch of .mp3 and .ogg files that are showing this as well; all of them
are small (one is a 128byte file for a 'data track').

running:
gst-launch-0.8 gnomevfssrc location=00-time_signal.mp3 ! spider ! fakesink
seems to work for these, as does:
gst-launch-0.8 filesrc location=00-time_signal.mp3 ! typefind ! spider ! fakesink

Seems to be a combination of gnomevfssrc and typefind.  I get the following
infinite loop with both:
gstevent.c(171):gst_event_new: creating new event type 1: 0x8066608
gstevent.c(92):_gst_event_free: freeing event 0x8066608
gstevent.c(171):gst_event_new: creating new event type 1: 0x8066608
gstevent.c(92):_gst_event_free: freeing event 0x8066608
...

with debug level 4 showed:
gstevent.c(171):gst_event_new: creating new event type 1: 0x8066608
gstpad.c(4425):gst_pad_call_get_function:<gnomevfssrc0:src> getfunction returned
event 0x8066608 (type 1, refcount 1)
gstpad.c(3174):gst_pad_push:<gnomevfssrc0:src> gst_pad_push event 0x8066608
(type 1, refcount 1)
 gstpad.c(4402):gst_pad_call_chain_function:<typefindelement0:sink> calling
chain function with  event 0x8066608 (type 1, refcount 1)
gstevent.c(92):_gst_event_free: freeing event 0x8066608
gstoptimalscheduler.c(1303):get_group_schedule_function: doing get and push on
pad "gnomevfssrc0:src" in group 0x80d3110
gstelement.c(3469):gst_element_set_eos: setting EOS on element gnomevfssrc0
gstevent.c(171):gst_event_new: creating new event type 1: 0x8066608
...
Comment 3 alexander.winston 2004-11-02 15:27:10 UTC
Using CVS revision HEAD versions of gstreamer, gst-plugins, and gst-ffmpeg (all
up-to-date as of 2004-11-02T00:34:34+0000):


This pipeline plays the file once, but then seems to loop infinitely until I
kill the process:

gst-launch-0.8 gnomevfssrc location="00-time_signal.mp3" ! typefind ! spider !
alsasink


This does not occur with these pipelines, which all play the file once and then
exit:

gst-launch-0.8 gnomevfssrc location="00-time_signal.mp3" ! spider ! alsasink

gst-launch-0.8 filesrc location="00-time_signal.mp3" ! spider ! alsasink

gst-launch-0.8 filesrc location="00-time_signal.mp3" ! typefind ! spider ! alsasink
Comment 4 Ronald Bultje 2004-12-03 22:41:10 UTC
No longer occurs with current CVS. It was a but in gsttypefindelement. There is
another bug for this but I can't find it, so I'll close this separately.
Comment 5 Loïc Minier 2004-12-04 11:52:22 UTC
I confirm it is gone.