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 161471 - gst-launch gets a floating point exception when outputting to alsasink
gst-launch gets a floating point exception when outputting to alsasink
Status: RESOLVED DUPLICATE of bug 151288
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.6
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-12-16 19:27 UTC by Matt Rose
Modified: 2005-08-29 15:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Matt Rose 2004-12-16 19:27:33 UTC
I can play sounds through alsa using the alsaplayer utility as well as
through xmms, however when I try to play through rhythmbox, I get a
crash.  I inspected this further and I traced it down to a problem in
the underlying gstreamer utilities that rhythmbox uses.

[mrose@host-175 Constantines]$ gst-launch filesrc location=STYOU.ogg !
vorbisdec ! alsasink
RUNNING pipeline ...
Floating point exception (core dumped)

mrose@host-175 bin]$ gdb -s /usr/lib/debug/usr/bin/gst-launch-0.8.debug -e /usr
/bin/gst-launch-0.8
GNU gdb Red Hat Linux (6.1post-1.20040607.41rh)
Copyright 2004 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 "i386-redhat-linux-gnu"...Using host libthread_db lib
rary "/lib/tls/libthread_db.so.1".

(gdb) filesrc location=/home/users/mrose/mp3/Constantines/Constantines/STYOU.ogg
 ! vorbisdec ! alsasink
Undefined command: "filesrc".  Try "help".
(gdb) set args filesrc location=/home/users/mrose/mp3/Constantines/Constantines/
STYOU.ogg ! vorbisdec ! alsasink
(gdb) run
Starting program: /usr/bin/gst-launch-0.8 filesrc location=/home/users/mrose/mp3
/Constantines/Constantines/STYOU.ogg ! vorbisdec ! alsasink
[Thread debugging using libthread_db enabled]
[New Thread -151079232 (LWP 28214)]
RUNNING pipeline ...

Program received signal SIGFPE, Arithmetic exception.

Thread NaN (LWP 28214)

  • #0 _snd_pcm_adpcm_open
    from /lib/libasound.so.2
  • #1 snd_pcm_hw_refine_slave
    from /lib/libasound.so.2
  • #2 _snd_pcm_adpcm_open
    from /lib/libasound.so.2
  • #3 snd_pcm_hw_refine
    from /lib/libasound.so.2
  • #4 snd_pcm_hw_params_slave
    from /lib/libasound.so.2
  • #5 _snd_pcm_rate_open
    from /lib/libasound.so.2
  • #6 snd_pcm_hw_params_slave
    from /lib/libasound.so.2
  • #7 snd_pcm_hw_params
    from /lib/libasound.so.2
  • #8 gst_alsa_hw_params_dump
    from /usr/lib/gstreamer-0.8/libgstalsa.so
  • #9 gst_alsa_hw_params_dump
    from /usr/lib/gstreamer-0.8/libgstalsa.so
  • #10 gst_alsa_link
    from /usr/lib/gstreamer-0.8/libgstalsa.so
  • #11 gst_alsa_mixer_get_type
    from /usr/lib/gstreamer-0.8/libgstalsa.so
  • #12 gst_alsa_sink_get_type
    from /usr/lib/gstreamer-0.8/libgstalsa.so
  • #13 gst_element_set_state_func
    at gstelement.c line 2796
  • #14 gst_element_set_state
    at gstelement.c line 2739
  • #15 set_kid_state_func
    at gstbin.c line 796
  • #16 gst_bin_foreach
    at gstbin.c line 760
  • #17 gst_bin_change_state
    at gstbin.c line 851
  • #18 gst_pipeline_change_state
    at gstpipeline.c line 174
  • #19 gst_element_set_state_func
    at gstelement.c line 2796
  • #20 gst_bin_set_state
    at gstbin.c line 890
  • #21 gst_element_set_state
    at gstelement.c line 2739
  • #22 main
    at gst-launch.c line 531

Comment 1 Elijah Newren 2004-12-16 19:36:23 UTC
Looks like a duplicate of bug 153227, but I hesitate to mark it as such since it
looks like Matt may be willing to try to track down information for the
GStreamer devs...
Comment 2 Ronald Bultje 2004-12-16 21:01:54 UTC
Matt, your bug report is saying that you have gst-plugins 0.8.6, can you please
explicitely confirm that? I hoped to have solved this issue in 0.8.6... If it's
0.8.6, I'd like to continue debugging it.
Comment 3 Matt Rose 2004-12-16 21:57:44 UTC
I'm just double-checking that now.  Let you know in two secs
Comment 4 Matt Rose 2004-12-16 22:12:14 UTC
yep.  I downloaded the latest version, and is still exhibiting the same behaviour.

gstreamer-plugins-0.8.6-0.fdr.1.3

This version does tell me to file a bug, though.

[mrose@host-175 Constantines]$ gst-launch-i386 filesrc location=09\ -\ St.\
You.mp3 ! mad ! alsasink
RUNNING pipeline ...
ERROR: from element /pipeline0/mad0: Internal GStreamer error: pad problem. 
File a bug.
Additional debug info:
gstpad.c(2490): gst_pad_set_explicit_caps: /pipeline0/mad0:
failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=(int)1234,
signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100,
channels=(int)2" returned REFUSED)
Floating point exception

running with --gst-debug flags from 153227

[mrose@host-175 Constantines]$ gst-launch-i386 --gst-debug=*alsa*:5 filesrc
location=09\ -\ St.\ You.mp3 ! mad ! alsasink
RUNNING pipeline ...
INFO  (0x9fc68d0 - 306455:04:10.914409000)            alsa( 6894)
gstalsa.c(1325):gst_alsa_open_audio: Opening alsa device "default"...
LOG   (0x9fc68d0 - 306455:04:10.950876000)            alsa( 6894)
gstalsa.c(876):gst_alsa_get_caps:<alsasink0> get_caps returns audio/x-alaw,
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-mulaw, rate=(int)[
8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-float, buffer-frames=(int)[
0, 2147483647 ], width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 8000,
192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)16,
depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 },
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int,
width=(int)32, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){
1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ];
audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean){ false, true },
endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)[ 1,
32 ]; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean){ false,
true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ],
channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)24, depth=(int)20,
signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[
8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)24,
depth=(int)18, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 },
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int,
width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 8000,
192000 ], channels=(int)[ 1, 32 ]
LOG   (0x9fc68d0 - 306455:04:10.978807000)            alsa( 6894)
gstalsa.c(876):gst_alsa_get_caps:<alsasink0> get_caps returns audio/x-alaw,
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-mulaw, rate=(int)[
8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-float, buffer-frames=(int)[
0, 2147483647 ], width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 8000,
192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)16,
depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 },
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int,
width=(int)32, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){
1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ];
audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean){ false, true },
endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)[ 1,
32 ]; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean){ false,
true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ],
channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)24, depth=(int)20,
signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[
8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)24,
depth=(int)18, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 },
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int,
width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 8000,
192000 ], channels=(int)[ 1, 32 ]
LOG   (0x9fc68d0 - 306455:04:11.008700000)            alsa( 6894)
gstalsasink.c(380):gst_alsa_sink_loop:<alsasink0> pulled data 0x9fd4a48 from pad 0
LOG   (0x9fc68d0 - 306455:04:11.008904000)            alsa( 6894)
gstalsasink.c(385):gst_alsa_sink_loop:<alsasink0> pulled data 0x9fd4a48 is an
event, checking
LOG   (0x9fc68d0 - 306455:04:11.008982000)            alsa( 6894)
gstalsasink.c(209):gst_alsa_sink_check_event:<alsasink0> checking event
0x9fd4a48 of type 4 on sink pad 0
WARN  (0x9fc68d0 - 306455:04:11.009062000)            alsa( 6894)
gstalsasink.c(246):gst_alsa_sink_check_event:<alsasink0> couldn't extract time
from discont event. Bad things might happen!
LOG   (0x9fc68d0 - 306455:04:11.009138000)            alsa( 6894)
gstalsasink.c(257):gst_alsa_sink_check_event:<alsasink0> unreffing event
0x9fd4a48 of type 4 with refcount 1
LOG   (0x9fc68d0 - 306455:04:11.043334000)            alsa( 6894)
gstalsa.c(876):gst_alsa_get_caps:<alsasink0> get_caps returns audio/x-alaw,
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-mulaw, rate=(int)[
8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-float, buffer-frames=(int)[
0, 2147483647 ], width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 8000,
192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)16,
depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 },
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int,
width=(int)32, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){
1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ];
audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean){ false, true },
endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)[ 1,
32 ]; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean){ false,
true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ],
channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)24, depth=(int)20,
signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[
8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int, width=(int)24,
depth=(int)18, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 },
rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 32 ]; audio/x-raw-int,
width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 8000,
192000 ], channels=(int)[ 1, 32 ]
DEBUG (0x9fc68d0 - 306455:04:11.044332000)            alsa( 6894)
gstalsa.c(1019):gst_alsa_link: found format S16_LE
INFO  (0x9fc68d0 - 306455:04:11.044462000)            alsa( 6894)
gstalsa.c(1403):gst_alsa_probe_hw_params: Probing format: S16_LE 44100Hz, 2 channels
WARN  (0x9fc68d0 - 306455:04:11.045480000)            alsa( 6894)
gstalsa.c(1445):gst_alsa_probe_hw_params:<alsasink0>
"snd_pcm_hw_params_set_period_size_near (this->handle, hw_params, &period_size,
0)": Invalid argument
ERROR: from element /pipeline0/mad0: Internal GStreamer error: pad problem. 
File a bug.
Additional debug info:
gstpad.c(2490): gst_pad_set_explicit_caps: /pipeline0/mad0:
failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=(int)1234,
signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100,
channels=(int)2" returned REFUSED)
Floating point exception

Do you have a debug rpm so that I can run this under gdb?  Would that help?

Comment 5 Matt Rose 2004-12-16 22:12:53 UTC
oh, as well:

output of lspci -vv

00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] Sound
Controller (rev a0)
        Subsystem: Giga-byte Technology: Unknown device a002
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (13000ns min, 2750ns max)
        Interrupt: pin C routed to IRQ 10
        Region 0: I/O ports at d800 [size=256]
        Region 1: I/O ports at dc00 [size=128]
        Capabilities: [48] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=55mA
PME(D0-,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Comment 6 Stephane Loeuillet 2004-12-17 10:21:12 UTC

*** This bug has been marked as a duplicate of 151288 ***