[gstreamer-bugs] [Bug 332677] New: rhythmbox takes 100%cpu to play ogg

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sun Feb 26 13:49:12 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=332677
 GStreamer | gst-plugins-base | Ver: 0.10.3

           Summary: rhythmbox takes 100%cpu to play ogg
           Product: GStreamer
           Version: 0.10.3
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: seb128 at debian.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


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 at 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  0x0fcd9ae4 in __read_nocancel () from /lib/libpthread.so.0
#1  0x0f728f2c in snd_timer_close () from /usr/lib/libasound.so.2
#2  0x0f728688 in snd_timer_read () from /usr/lib/libasound.so.2
#3  0x0f713d80 in snd_pcm_direct_clear_timer_queue () from
/usr/lib/libasound.so.2
#4  0x0f713ea4 in snd_pcm_direct_poll_revents () from /usr/lib/libasound.so.2
#5  0x0f716e68 in snd_pcm_direct_semaphore_create_or_connect ()
   from /usr/lib/libasound.so.2
#6  0x0f6d6948 in snd_pcm_poll_descriptors_revents () from
/usr/lib/libasound.so.2
#7  0x0f6d84a8 in snd_pcm_wait_nocheck () from /usr/lib/libasound.so.2
#8  0x0f6df274 in snd_pcm_wait () from /usr/lib/libasound.so.2
#9  0x0f6df424 in snd_pcm_write_areas () from /usr/lib/libasound.so.2
#10 0x0f6fe288 in snd_pcm_mmap_writei () from /usr/lib/libasound.so.2
#11 0x0f6d6214 in snd_pcm_writei () from /usr/lib/libasound.so.2
#12 0x0f78fef0 in ?? () from /usr/lib/gstreamer-0.10/libgstalsa.so
#13 0x0f630f50 in gst_audio_sink_get_type () from
/usr/lib/libgstaudio-0.10.so.0
#14 0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#15 0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#16 0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 9 (Thread -162663184 (LWP 5013)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0f6388cc in gst_ring_buffer_samples_done ()
   from /usr/lib/libgstaudio-0.10.so.0
#2  0x0f638e18 in gst_ring_buffer_commit () from /usr/lib/libgstaudio-0.10.so.0
#3  0x0f633c6c in gst_base_audio_sink_get_type ()
   from /usr/lib/libgstaudio-0.10.so.0
#4  0x0f7e61cc in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#5  0x0f7e6ed8 in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#6  0x0f7e7634 in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#7  0x0f7e7af8 in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#8  0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#9  0x0fed5fb8 in gst_proxy_pad_get_type () from
/usr/lib/libgstreamer-0.10.so.0
#10 0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#11 0x0fee98ec in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#12 0x0f7f116c in gst_base_transform_set_passthrough ()
   from /usr/lib/libgstbase-0.10.so.0
#13 0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#14 0x0fee98ec in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#15 0x0f7f116c in gst_base_transform_set_passthrough ()
   from /usr/lib/libgstbase-0.10.so.0
#16 0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#17 0x0fed5fb8 in gst_proxy_pad_get_type () from
/usr/lib/libgstreamer-0.10.so.0
#18 0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#19 0x0fee98ec in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#20 0x0f832704 in gst_queue_get_type ()
   from /usr/lib/gstreamer-0.10/libgstcoreelements.so
#21 0x0ff00d44 in gst_task_get_type () from /usr/lib/libgstreamer-0.10.so.0
#22 0x0fd57cb4 in g_thread_pool_thread_proxy (data=<value optimized out>)
    at gthreadpool.c:158
#23 0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#24 0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#25 0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 8 (Thread -154143504 (LWP 5010)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0fefb378 in gst_system_clock_obtain () from
/usr/lib/libgstreamer-0.10.so.0
#2  0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#3  0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#4  0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 7 (Thread -154143504 (LWP 5010)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0fefb378 in gst_system_clock_obtain () from
/usr/lib/libgstreamer-0.10.so.0
#2  0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#3  0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#4  0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 6 (Thread -154143504 (LWP 5010)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0fefb378 in gst_system_clock_obtain () from
/usr/lib/libgstreamer-0.10.so.0
---Type <return> to continue, or q <return> to quit---
#2  0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#3  0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#4  0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread -154143504 (LWP 5010)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0fefb378 in gst_system_clock_obtain () from
/usr/lib/libgstreamer-0.10.so.0
#2  0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#3  0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#4  0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread -154143504 (LWP 5010)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0fefb378 in gst_system_clock_obtain () from
/usr/lib/libgstreamer-0.10.so.0
#2  0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#3  0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#4  0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread -144358160 (LWP 5005)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0f8311e8 in gst_queue_get_type ()
   from /usr/lib/gstreamer-0.10/libgstcoreelements.so
#2  0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#3  0x0fee98ec in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#4  0x0e4164c0 in gst_stream_selector_get_type ()
   from /usr/lib/gstreamer-0.10/libgstplaybin.so
#5  0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#6  0x0fed5fb8 in gst_proxy_pad_get_type () from
/usr/lib/libgstreamer-0.10.so.0
#7  0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#8  0x0fee98ec in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#9  0x0e0d3ca8 in gst_vorbis_dec_get_type ()
   from /usr/lib/gstreamer-0.10/libgstvorbis.so
#10 0x0e0d465c in gst_vorbis_dec_get_type ()
   from /usr/lib/gstreamer-0.10/libgstvorbis.so
#11 0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#12 0x0fee98ec in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#13 0x0f832704 in gst_queue_get_type ()
   from /usr/lib/gstreamer-0.10/libgstcoreelements.so
#14 0x0ff00d44 in gst_task_get_type () from /usr/lib/libgstreamer-0.10.so.0
#15 0x0fd57cb4 in g_thread_pool_thread_proxy (data=<value optimized out>)
    at gthreadpool.c:158
#16 0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#17 0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#18 0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread -135969552 (LWP 5004)):
#0  0x0fcd61c4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0f8311e8 in gst_queue_get_type ()
   from /usr/lib/gstreamer-0.10/libgstcoreelements.so
#2  0x0fee91c0 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#3  0x0fee98ec in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#4  0x0e3d995c in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#5  0x0e3dabf8 in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#6  0x0e3db7dc in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#7  0x0ff00d44 in gst_task_get_type () from /usr/lib/libgstreamer-0.10.so.0
#8  0x0fd57cb4 in g_thread_pool_thread_proxy (data=<value optimized out>)
    at gthreadpool.c:158
#9  0x0fd54e60 in g_thread_create_proxy (data=<value optimized out>)
    at gthread.c:582
#10 0x0fcd2a30 in start_thread () from /lib/libpthread.so.0
#11 0x0fc40024 in clone () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread -134402048 (LWP 5001)):
#0  0x0fc35228 in poll () from /lib/libc.so.6
#1  0x0fc35210 in poll () from /lib/libc.so.6
#2  0x0fc35210 in poll () from /lib/libc.so.6
#3  0x0fc35210 in poll () from /lib/libc.so.6
#4  0x0fc35210 in poll () from /lib/libc.so.6
#5  0x0fc35210 in poll () from /lib/libc.so.6
#6  0x0fc35210 in poll () from /lib/libc.so.6
#7  0x0fc35210 in poll () from /lib/libc.so.6
#8  0x0fc35210 in poll () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)
(gdb) quit
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."


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list