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 332677 - rhythmbox takes 100%cpu to play ogg
rhythmbox takes 100%cpu to play ogg
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.3
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-02-26 21:49 UTC by Sebastien Bacher
Modified: 2006-06-09 14:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastien Bacher 2006-02-26 21:49:11 UTC
That bug has been described on https://launchpad.net/distros/ubuntu/+source/gstreamer0.10/+bug/32894

"When I play oggs with rhythmbox, it takes 100% of one cpu.
I use a powerppc with 2 cpu with Ubuntu Dapper.
...
> Thanks for your bug. Does it happen if you use "gst-launch playbin uri="file://path/to/ogg" to play them? Does that happen with all the ogg or only one?
...


Yes, it's still loading a cpu.

Here is the output of gst-launch, interrupted by a ctrl-c :
---------------------------------------------------
OIL: ERROR liboiltest.c 403: oil_test_check_impl(): function conv_f32_s16_bitstuff in class conv_f32_s16 failed check (37,7031 > 0,1) || (outside=0)
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: audioclock4
Caught interrupt -- Pausing pipeline.
Pipeline paused.
WARNING: Element "playbin0" warns: pipeline interrupted
Element "playbin0" has gone from PLAYING to PAUSED, quitting. Execution ended after 8029122000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...
...
> Does it happen with all the ogg or only one? Could you get a backtrace? - gdb gst-launch
(gdb) run playbin uri="file://path/to/ogg"
... ctrl-C
(gdb) thread apply all bt

And copy that to a comment
...
> What audiosink do you use from gstreamer-properties? Could you try changing it?
...


Using gstreamer-properties, I have autodetect, alsa, esd, oss and custom settings for audio output.
It was on autodetect before.
Alsa and esd load the cpu.
Oss give an error message :
 Error running pipeline 'OSS - Open Sound System': Unable to open device /dev/dsp for writing: Périphérique ou ressource occupé [gstosssink.c(388): gst_oss_sink_open (): /pipeline0/osssink1]

I am using a custom kernel but It behaves identical with ubuntu kernel. I was thinking about timer issue as it seems an active wait ? maybe dev/rtc problems ?
...
> Could you attach the backtrace as an attachment without all the extra lines from the previous comment?
...
fredo@ange:~$ gdb  gst-launch-0.10 
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "powerpc-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run playbin uri="file:///home/fredo/Desktop/a.ogg"
Starting program: /usr/bin/gst-launch-0.10 playbin uri="file:///home/fredo/Desktop/a.ogg"
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -134402048 (LWP 5001)]
OIL: ERROR liboiltest.c 403: oil_test_check_impl(): function conv_f32_s16_bitstuff in class conv_f32_s16 failed check (42,6641 > 0,1) || (outside=0)
Setting pipeline to PAUSED ...
[New Thread -135969552 (LWP 5004)]
Pipeline is PREROLLING ...
[New Thread -144358160 (LWP 5005)]
[New Thread -154143504 (LWP 5006)]
[Thread -154143504 (LWP 5006) exited]
[New Thread -154143504 (LWP 5007)]
[Thread -154143504 (LWP 5007) exited]
[New Thread -154143504 (LWP 5008)]
[Thread -154143504 (LWP 5008) exited]
[New Thread -154143504 (LWP 5009)]
[Thread -154143504 (LWP 5009) exited]
[New Thread -154143504 (LWP 5010)]
[New Thread -162663184 (LWP 5013)]
[New Thread -171051792 (LWP 5014)]
[New Thread -179440400 (LWP 5015)]
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: audioclock4
[Thread -171051792 (LWP 5014) exited]

Program received signal SIGINT, Interrupt.
[Switching to Thread -134402048 (LWP 5001)]
0x0fc35228 in poll () from /lib/libc.so.6
(gdb) thread apply all bt

Thread 11 (Thread -179440400 (LWP 5015))

  • #0 __read_nocancel
    from /lib/libpthread.so.0
  • #1 snd_timer_close
    from /usr/lib/libasound.so.2
  • #2 snd_timer_read
    from /usr/lib/libasound.so.2
  • #3 snd_pcm_direct_clear_timer_queue
    from /usr/lib/libasound.so.2
  • #4 snd_pcm_direct_poll_revents
    from /usr/lib/libasound.so.2
  • #5 snd_pcm_direct_semaphore_create_or_connect
    from /usr/lib/libasound.so.2
  • #6 snd_pcm_poll_descriptors_revents
    from /usr/lib/libasound.so.2
  • #7 snd_pcm_wait_nocheck
    from /usr/lib/libasound.so.2
  • #8 snd_pcm_wait
    from /usr/lib/libasound.so.2
  • #9 snd_pcm_write_areas
    from /usr/lib/libasound.so.2
  • #10 snd_pcm_mmap_writei
    from /usr/lib/libasound.so.2
  • #11 snd_pcm_writei
    from /usr/lib/libasound.so.2
  • #12 ??
    from /usr/lib/gstreamer-0.10/libgstalsa.so
  • #13 gst_audio_sink_get_type
    from /usr/lib/libgstaudio-0.10.so.0
  • #14 g_thread_create_proxy
    at gthread.c line 582
  • #15 start_thread
    from /lib/libpthread.so.0
  • #16 clone
    from /lib/libc.so.6
The program is running.  Exit anyway? (y or n) y

This is a backtrace of gst-launch playing an ogg and taking 100% cpu. gst-properties is set on 'auto' for audio output."
Comment 1 Sebastien Bacher 2006-03-21 23:44:58 UTC
distribution comment: "I forgot my platform : Apple Powermac G5 1.8Ghz - 2 cpus"
Comment 2 Jan Schmidt 2006-05-06 20:05:27 UTC
There's a report upstream that this is fixed. Can I close?
Comment 3 Sebastien Bacher 2006-05-22 17:02:10 UTC
right, probably fine to close, I'll reopen if required