Bug 447550

Summary: pulseaudio daemon gets SIGFPE, crash when "pactl list" is run
Product: [Fedora] Fedora Reporter: Tom London <selinux>
Component: pulseaudioAssignee: Lennart Poettering <lpoetter>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: lkundrak, pierre-bugzilla
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-21 14:11:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tom London 2008-05-20 14:29:45 UTC
Description of problem:
pulseaudio daemon crashes every time if I run "pactl list".  Here is output from
gdb:

(gdb) cont
Continuing.
I: module-alsa-sink.c: Underrun!
N: module-alsa-sink.c: Increasing wakeup watermark to 320.00 ms
I: module-alsa-source.c: Overrun!
N: module-alsa-source.c: Increasing wakeup watermark to 160.00 ms
I: module-suspend-on-idle.c: Source
alsa_input.pci_8086_27d8_sound_card_0_alsa_capture_0 idle for too long,
suspending ...
I: module-alsa-source.c: Device suspended...
I: module-suspend-on-idle.c: Source
alsa_output.pci_8086_27d8_sound_card_0_alsa_playback_0.monitor idle for too
long, suspending ...
I: module-alsa-sink.c: Underrun!
N: module-alsa-sink.c: Increasing wakeup watermark to 368.53 ms
I: module-suspend-on-idle.c: Sink
alsa_output.pci_8086_27d8_sound_card_0_alsa_playback_0 idle for too long,
suspending ...
W: pcm_hw.c: SNDRV_PCM_IOCTL_DRAIN failed
I: module-alsa-sink.c: Device suspended...
I: client.c: Created 0 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=500 gid=500 success=1
I: protocol-native.c: Enabled SHM for new connection

Program received signal SIGFPE, Arithmetic exception.
[Switching to LWP 4940]
0x00d0c561 in __udivdi3 () from /usr/lib/libpulsecore.so.6
(gdb) where
#0  0x00d0c561 in __udivdi3 () from /usr/lib/libpulsecore.so.6
#1  0x00ca718a in pa_bytes_to_usec (length=<value optimized out>, 
    spec=<value optimized out>) at pulse/sample.c:74
#2  0x001a2da5 in ?? ()
#3  0x00000000 in ?? ()
(gdb) quit
The program is running.  Exit anyway? (y or n) y

Here are the last few lines from the window running "pactl list":
<<<<<SNIP>>>>>
*** Client #0 ***
Driver: pulsecore/protocol-native.c
Owner Module: 4
Properties:
application.name = "pactl"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "13"
application.process.id = "4956"
application.process.user = "tbl"
application.process.host = "localhost.localdomain"
application.process.binary = "pactl"
application.language = "C"
Connection failure: Connection terminated


Version-Release number of selected component (if applicable):
pulseaudio-libs-glib2-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-module-gconf-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-libs-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-utils-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-module-bluetooth-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-module-x11-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-module-zeroconf-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-esound-compat-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-debuginfo-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-libs-zeroconf-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-core-libs-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-module-jack-0.9.11-0.1.svn20080516.fc10.i386
pulseaudio-module-lirc-0.9.11-0.1.svn20080516.fc10.i386

How reproducible:
Every time.....

Steps to Reproduce:
1. start pulseaudio via "gdb pulseaudio; run -vvv"
2. enter 'cont' as needed to get program "running"
3. in another console window, enter "pactl list"
  
Actual results:
SIGFPE, crash

Expected results:
Not that ;)

Additional info:

Comment 1 Tom London 2008-05-20 14:31:47 UTC
Not sure it relevant, but I see lots of these in /var/log/messages:

May 20 07:22:46 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x3
May 20 07:22:46 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x2
May 20 07:22:46 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x4
May 20 07:23:48 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x4
May 20 07:23:48 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x4
May 20 07:23:48 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x3
May 20 07:23:48 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x2
May 20 07:23:48 localhost kernel: ALSA sound/pci/hda/hda_codec.c:725:
hda_codec_cleanup_stream: NID=0x3


Comment 2 Lennart Poettering 2008-05-21 14:11:31 UTC
This is fixed upstream. I will push a new snapshot into rawhide shortly.

Also, apparently you are missing the HDA ALSA fix as suggested in 

https://www.redhat.com/archives/fedora-devel-list/2008-May/msg01244.html

The patch should be in the kernel shortly. See #446967