[pulseaudio-discuss] Pulse Jack module, dies sometimes on mpc toggle

Sean McNamara smcnam at gmail.com
Wed Apr 29 19:25:02 PDT 2009


Hi,

On Thu, Apr 30, 2009 at 6:07 AM, Ng Oon-Ee <ngoonee at gmail.com> wrote:
>
> Colin Guthrie wrote:
>>
>> You'll need to install the debugging symbols for your pulse build. If you
>> build from source, simply don't strip the files (should be default) of if
>> you use a distro package they (typically) provide a way to install these as
>> separate "debug" packages.
>>
>> Col
>
> Okay, I've recompiled without stripping, have a proper stack trace. Is it
> appropriate to include it, or is it preferable to pastebin it? I ask due to
> the moderator's warning I got on the last email. I'll include them here, for
> now, please advise if pastebin is preferable, I won't do it again if that's
> the case. Similarly to the previous, pulselog3.txt is the output of
> `pulseaudio -vvvvv > pulselog3.txt 2>&1`, and gdbpulselog3.txt is my copy
> paste of the gdb output when reproducing the crash.
>
> Oh, and I notice I didn't mention this explicitly earlier, as I thought it
> should be obvious, but just in case, please note that this does not occur
> with module-alsa-sink/source (obviously, or I wouldn't be having to report
> it I believe).
>
> [ngoonee at ngoonee-laptop ~]$ pulseaudio -vvvvv > pulselog3.txt 2>&1
> Segmentation fault
> [ngoonee at ngoonee-laptop ~]$ gedit pulselog3.txt
> [ngoonee at ngoonee-laptop ~]$ LD_BIND_NOW=1 gdb pulseaudio
> GNU gdb 6.8
> Copyright (C) 2008 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-unknown-linux-gnu"...
> (gdb) handle SIGXCPU SIGPWR SIG33 SIG34 SIG42 SIG43 SIG44 SIG45 SIG46 SIG47
> SIG48 SIG49 SIG50 SIG51 SIG52 SIG53 SIG63 SIG62 SIG61 SIG60 SIG59 SIG58
> nostop noprint
> Signal        Stop      Print   Pass to program Description
> SIGXCPU       No        No      Yes             CPU time limit exceeded
> SIGPWR        No        No      Yes             Power fail/restart
> SIG33         No        No      Yes             Real-time event 33
> SIG34         No        No      Yes             Real-time event 34
> SIG42         No        No      Yes             Real-time event 42
> SIG43         No        No      Yes             Real-time event 43
> SIG44         No        No      Yes             Real-time event 44
> SIG45         No        No      Yes             Real-time event 45
> SIG46         No        No      Yes             Real-time event 46
> SIG47         No        No      Yes             Real-time event 47
> SIG48         No        No      Yes             Real-time event 48
> SIG49         No        No      Yes             Real-time event 49
> SIG50         No        No      Yes             Real-time event 50
> SIG51         No        No      Yes             Real-time event 51
> SIG52         No        No      Yes             Real-time event 52
> SIG53         No        No      Yes             Real-time event 53
> SIG58         No        No      Yes             Real-time event 58
> SIG59         No        No      Yes             Real-time event 59
> SIG60         No        No      Yes             Real-time event 60
> SIG61         No        No      Yes             Real-time event 61
> ---Type <return> to continue, or q <return> to quit---
> SIG62         No        No      Yes             Real-time event 62
> SIG63         No        No      Yes             Real-time event 63
> (gdb) run
> Starting program: /usr/bin/pulseaudio
> [Thread debugging using libthread_db enabled]
> W: pid.c: Stale PID file, overwriting.
> [New Thread 0x7f79c583a740 (LWP 2167)]
> E: bluetooth-util.c: Error from ListAdapters reply:
> org.freedesktop.DBus.Error.ServiceUnknown
> [New Thread 0x7f79bae14950 (LWP 2171)]
> [New Thread 0x7f79b99e6950 (LWP 2422)]
> [New Thread 0x7f79b91e5950 (LWP 2427)]
> [New Thread 0x7f79b89e4950 (LWP 2439)]
> [Thread 0x7f79bae14950 (LWP 2171) exited]
> [New Thread 0x7f79bae14950 (LWP 2442)]
> [New Thread 0x7f79bafbf950 (LWP 2443)]
> W: module-jack-source.c: JACK error >zombified - calling shutdown handler<
> [Thread 0x7f79b89e4950 (LWP 2439) exited]
> [Thread 0x7f79b99e6950 (LWP 2422) exited]
> [New Thread 0x7f79b99e6950 (LWP 2931)]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7f79b91e5950 (LWP 2427)]
> 0x00007f79b99f08c4 in jack_port_get_total_latency ()
>   from /usr/lib/libjack.so.0
> (gdb) q
> The program is running.  Exit anyway? (y or n) y
> [ngoonee at ngoonee-laptop ~]$


I hate to barge into this thread, but it seems you chose to quit the
debugger right here rather than printing a backtrace. That might have
been significantly more useful so we can get an idea of the context of
this function call (i.e. how the program got there).

After pulseaudio gets a SIGSEGV, the first thing you should type into
gdb is `bt' (no quotes). Then you can quit.

Sean


>
>
> D: main.c: Started as real root: no, suid root: yes
> I: main.c: We're in the group 'pulse-rt', allowing high-priority scheduling.
> I: main.c: We're in the group 'pulse-rt', allowing real-time scheduling.
> I: main.c: RLIMIT_RTPRIO is set to 99, allowing real-time scheduling.
> I: main.c: RLIMIT_NICE is set to 30, allowing high-priority scheduling.
> I: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
> I: core-util.c: Successfully gained nice level -11.
> D: main.c: Can realtime: yes, can high-priority: yes
> I: main.c: Giving up CAP_NICE
> D: main.c: Can realtime: yes, can high-priority: yes
> I: main.c: This is PulseAudio 0.9.15
> D: main.c: Compilation host: x86_64-unknown-linux-gnu
> D: main.c: Compilation CFLAGS: -march=x86-64 -mtune=generic -O2 -pipe -g
> -Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings
> -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare
> -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral
> -Wold-style-definition -Wpointer-arith -Winit-self
> -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
> -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
> -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2
> -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2
> -fno-common -fdiagnostics-show-option
> D: main.c: Running on host: Linux x86_64 2.6.29-ice #1 SMP PREEMPT RT Wed
> Apr 29 12:26:59 MYT 2009
> D: main.c: Found 2 CPUs.
> I: main.c: Page size is 4096 bytes
> D: main.c: Compiled with Valgrind support: no
> D: main.c: Running in valgrind mode: no
> D: main.c: Optimized build: yes
> D: main.c: All asserts enabled.
> I: main.c: Machine ID is 97d309d0bcf94d1cd753ce7449f50f47.
> I: main.c: Session ID is
> 97d309d0bcf94d1cd753ce7449f50f47-1241080518.735583-884647883.
> I: main.c: Using runtime directory
> /home/ngooneearch/.pulse/97d309d0bcf94d1cd753ce7449f50f47:runtime.
> I: main.c: Using state directory /home/ngooneearch/.pulse.
> I: main.c: Running in system mode: no
> W: pid.c: Stale PID file, overwriting.
> I: main.c: Fresh high-resolution timers available! Bon appetit!
> D: memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB
> each, total size is 64.0 MiB, maximum usable slot size is 65472
> I: module-device-restore.c: Sucessfully opened database file
> '/home/ngooneearch/.pulse/97d309d0bcf94d1cd753ce7449f50f47:device-volumes.x86_64-unknown-linux-gnu.gdbm'.
> I: module.c: Loaded "module-device-restore" (index: #0; argument: "").
> I: module-stream-restore.c: Sucessfully opened database file
> '/home/ngooneearch/.pulse/97d309d0bcf94d1cd753ce7449f50f47:stream-volumes.x86_64-unknown-linux-gnu.gdbm'.
> I: module.c: Loaded "module-stream-restore" (index: #1; argument: "").
> I: module-card-restore.c: Sucessfully opened database file
> '/home/ngooneearch/.pulse/97d309d0bcf94d1cd753ce7449f50f47:card-database.x86_64-unknown-linux-gnu.gdbm'.
> I: module.c: Loaded "module-card-restore" (index: #2; argument: "").
> I: module.c: Loaded "module-augment-properties" (index: #3; argument: "").
> D: cli-command.c: Checking for existance of
> '/usr/lib/pulse-0.9.15/modules/module-bluetooth-discover.so': success
> D: dbus-util.c: Successfully connected to D-Bus system bus
> 26987e09abce8e8fa968489b49f962b4 as :1.74
> D: bluetooth-util.c: dbus: interface=org.freedesktop.DBus,
> path=/org/freedesktop/DBus, member=NameAcquired
> E: bluetooth-util.c: Error from ListAdapters reply:
> org.freedesktop.DBus.Error.ServiceUnknown
> I: module.c: Loaded "module-bluetooth-discover" (index: #4; argument: "").
> D: cli-command.c: Checking for existance of
> '/usr/lib/pulse-0.9.15/modules/module-esound-protocol-unix.so': success
> I: module.c: Loaded "module-esound-protocol-unix" (index: #5; argument: "").
> I: module.c: Loaded "module-native-protocol-unix" (index: #6; argument: "").
> D: cli-command.c: Checking for existance of
> '/usr/lib/pulse-0.9.15/modules/module-gconf.so': success
> I: module.c: Loaded "module-gconf" (index: #7; argument: "").
> I: module-default-device-restore.c: Saved default sink 'alsa_output.hw_0_0'
> not existant, not restoring default sink setting.
> I: module-default-device-restore.c: Saved default source 'alsa_input.hw_0_0'
> not existant, not restoring default source setting.
> I: module.c: Loaded "module-default-device-restore" (index: #8; argument:
> "").
> I: module.c: Loaded "module-rescue-streams" (index: #9; argument: "").
> D: module-always-sink.c: Autoloading null-sink as no other sinks detected.
> I: module-device-restore.c: Restoring volume for sink auto_null.
> I: module-device-restore.c: Restoring mute state for sink auto_null.
> I: sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and
> channel map front-left,front-right
> I: sink.c:     device.description = "Null Output"
> I: sink.c:     device.class = "abstract"
> I: sink.c:     device.icon_name = "audio-card"
> I: module-device-restore.c: Restoring volume for source auto_null.monitor.
> I: module-device-restore.c: Restoring mute state for source
> auto_null.monitor.
> I: source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch
> 44100Hz and channel map front-left,front-right
> I: source.c:     device.description = "Monitor of Null Output"
> I: source.c:     device.class = "monitor"
> I: source.c:     device.icon_name = "audio-input-microphone"
> D: module-null-sink.c: Thread starting up
> D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+29
> I: module.c: Loaded "module-null-sink" (index: #10; argument:
> "sink_name=auto_null").
> I: module.c: Loaded "module-always-sink" (index: #11; argument: "").
> D: module-suspend-on-idle.c: Sink auto_null becomes idle.
> I: module.c: Loaded "module-suspend-on-idle" (index: #12; argument: "").
> I: client.c: Created 0 "ConsoleKit Session
> /org/freedesktop/ConsoleKit/Session1"
> D: module-console-kit.c: Added new session
> /org/freedesktop/ConsoleKit/Session1
> I: module.c: Loaded "module-console-kit" (index: #13; argument: "").
> I: module.c: Loaded "module-position-event-sounds" (index: #14; argument:
> "").
> I: module.c: Loaded "module-cork-music-on-phone" (index: #15; argument: "").
> D: dbus-util.c: Successfully connected to D-Bus session bus
> 8c23b0e1565502b9116ba78749f962c7 as :1.92
> D: main.c: Got org.pulseaudio.Server!
> I: main.c: Daemon startup complete.
> I: module-suspend-on-idle.c: Sink auto_null idle for too long, suspending
> ...
> I: client.c: Created 1 "Native client (UNIX socket client)"
> D: protocol-native.c: Protocol version: remote 15, local 15
> I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
> D: protocol-native.c: SHM possible: yes
> D: protocol-native.c: Negotiated SHM: yes
> D: module-augment-properties.c: Looking for .desktop file for pactl
> I: client.c: Freed 1 "pactl"
> I: protocol-native.c: Connection died.
> I: client.c: Created 2 "Native client (UNIX socket client)"
> D: protocol-native.c: Protocol version: remote 15, local 15
> I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
> D: protocol-native.c: SHM possible: yes
> D: protocol-native.c: Negotiated SHM: yes
> D: module-augment-properties.c: Looking for .desktop file for pactl
> I: client.c: Freed 2 "pactl"
> I: protocol-native.c: Connection died.
> I: client.c: Created 3 "Native client (UNIX socket client)"
> D: protocol-native.c: Protocol version: remote 15, local 15
> I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
> D: protocol-native.c: SHM possible: yes
> D: protocol-native.c: Negotiated SHM: yes
> D: module-augment-properties.c: Looking for .desktop file for pactl
> I: client.c: Freed 3 "pactl"
> I: protocol-native.c: Connection died.
> I: client.c: Created 4 "Native client (UNIX socket client)"
> D: protocol-native.c: Protocol version: remote 15, local 15
> I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
> D: protocol-native.c: SHM possible: yes
> D: protocol-native.c: Negotiated SHM: yes
> D: module-augment-properties.c: Looking for .desktop file for pactl
> I: client.c: Freed 4 "pactl"
> I: protocol-native.c: Connection died.
> I: client.c: Created 5 "Native client (UNIX socket client)"
> D: protocol-native.c: Protocol version: remote 15, local 15
> I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
> D: protocol-native.c: SHM possible: yes
> D: protocol-native.c: Negotiated SHM: yes
> D: module-augment-properties.c: Looking for .desktop file for pactl
> I: module-jack-sink.c: Successfully connected as 'PulseAudio JACK Sink'
> I: module-device-restore.c: Restoring volume for sink jack_out.
> I: module-device-restore.c: Restoring mute state for sink jack_out.
> I: sink.c: Created sink 1 "jack_out" with sample spec float32le 2ch 44100Hz
> and channel map front-left,front-right
> I: sink.c:     device.api = "jack"
> I: sink.c:     device.description = "Jack sink (PulseAudio JACK Sink)"
> I: sink.c:     jack.client_name = "PulseAudio JACK Sink"
> I: sink.c:     device.icon_name = "audio-card"
> I: module-device-restore.c: Restoring volume for source jack_out.monitor.
> I: module-device-restore.c: Restoring mute state for source
> jack_out.monitor.
> I: source.c: Created source 1 "jack_out.monitor" with sample spec float32le
> 2ch 44100Hz and channel map front-left,front-right
> I: source.c:     device.description = "Monitor of Jack sink (PulseAudio JACK
> Sink)"
> I: source.c:     device.class = "monitor"
> I: source.c:     device.icon_name = "audio-input-microphone"
> D: module-jack-sink.c: Thread starting up
> I: core-util.c: Successfully enabled SCHED_FIFO scheduling for thread, with
> priority 8.
> D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+28
> I: module-jack-sink.c: JACK thread starting up.
> I: core-util.c: Successfully enabled SCHED_FIFO scheduling for thread, with
> priority 9, which is lower than the requested 12.
> I: module-jack-sink.c: Connecting PulseAudio JACK Sink:front-left to
> system:playback_1
> I: module-jack-sink.c: Connecting PulseAudio JACK Sink:front-right to
> system:playback_2
> D: module-suspend-on-idle.c: Sink jack_out becomes idle.
> I: module-always-sink.c: A new sink has been discovered. Unloading
> null-sink.
> I: module.c: Loaded "module-jack-sink" (index: #16; argument: "").
> I: module.c: Unloading "module-null-sink" (index: #10).
> D: module-rescue-streams.c: No sink inputs to move away.
> D: module-rescue-streams.c: No source outputs to move away.
> D: module-null-sink.c: Thread shutting down
> I: sink.c: Freeing sink 0 "auto_null"
> I: source.c: Freeing source 0 "auto_null.monitor"
> I: module.c: Unloaded "module-null-sink" (index: #10).
> I: client.c: Freed 5 "pactl"
> I: protocol-native.c: Connection died.
> I: client.c: Created 6 "Native client (UNIX socket client)"
> D: protocol-native.c: Protocol version: remote 15, local 15
> I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
> D: protocol-native.c: SHM possible: yes
> D: protocol-native.c: Negotiated SHM: yes
> D: module-augment-properties.c: Looking for .desktop file for pactl
> I: module-jack-source.c: Successfully connected as 'PulseAudio JACK Source'
> I: module-device-restore.c: Restoring volume for source jack_in.
> I: module-device-restore.c: Restoring mute state for source jack_in.
> I: source.c: Created source 2 "jack_in" with sample spec float32le 2ch
> 44100Hz and channel map front-left,front-right
> I: source.c:     device.api = "jack"
> I: source.c:     device.description = "Jack source (PulseAudio JACK Source)"
> I: source.c:     jack.client_name = "PulseAudio JACK Source"
> I: source.c:     device.icon_name = "audio-input-microphone"
> D: module-jack-source.c: Thread starting up
> I: core-util.c: Successfully enabled SCHED_FIFO scheduling for thread, with
> priority 8.
> D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+29
> I: module-jack-source.c: JACK thread starting up.
> I: core-util.c: Successfully enabled SCHED_FIFO scheduling for thread, with
> priority 9, which is lower than the requested 12.
> I: module-jack-source.c: Connecting PulseAudio JACK Source:front-left to
> system:capture_1
> I: module-jack-source.c: Connecting PulseAudio JACK Source:front-right to
> system:capture_2
> D: module-suspend-on-idle.c: Source jack_in becomes idle.
> I: module.c: Loaded "module-jack-source" (index: #17; argument: "").
> I: client.c: Freed 6 "pactl"
> I: protocol-native.c: Connection died.
> I: client.c: Created 7 "Native client (UNIX socket client)"
> D: protocol-native.c: Protocol version: remote 15, local 15
> I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
> D: protocol-native.c: SHM possible: yes
> D: protocol-native.c: Negotiated SHM: yes
> D: module-augment-properties.c: Looking for .desktop file for paplay
> D: module-suspend-on-idle.c: Sink jack_out becomes busy.
> D: resampler.c: Channel matrix:
> D: resampler.c:        I00
> D: resampler.c:     +------
> D: resampler.c: O00 | 1.000
> D: resampler.c: O01 | 1.000
> I: resampler.c: Using resampler 'speex-float-3'
> I: resampler.c: Using float32le as working format.
> I: resampler.c: Choosing speex quality setting 3.
> D: memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=8,
> prebuf=0, minreq=1 maxrewind=0
> D: memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432,
> base=8, prebuf=0, minreq=8 maxrewind=0
> I: sink-input.c: Created input 0 "/usr/share/sounds/alsa/Rear_Center.wav" on
> jack_out with sample spec s16le 1ch 48000Hz and channel map mono
> I: protocol-native.c: Requested tlength=250.00 ms, minreq=20.00 ms
> D: protocol-native.c: Traditional mode enabled, modifying sink usec only for
> compat with minreq.
> D: memblockq.c: memblockq requested: maxlength=4194304, tlength=27840,
> base=2, prebuf=25922, minreq=1920 maxrewind=0
> D: memblockq.c: memblockq sanitized: maxlength=4194304, tlength=27840,
> base=2, prebuf=25922, minreq=1920 maxrewind=0
> I: protocol-native.c: Final latency 540.00 ms = 250.00 ms + 2*20.00 ms +
> 250.00 ms
> D: protocol-native.c: Requesting rewind due to end of underrun.
> I: module-suspend-on-idle.c: Source jack_in idle for too long, suspending
> ...
> D: protocol-native.c: Underrun on '/usr/share/sounds/alsa/Rear_Center.wav',
> 0 bytes in queue.
> W: module-jack-source.c: JACK error >zombified - calling shutdown handler<
> I: module-jack-sink.c: JACK thread shutting down.
> I: module.c: Unloading "module-jack-sink" (index: #16).
> D: module-always-sink.c: Autoloading null-sink as no other sinks detected.
> I: module-device-restore.c: Restoring volume for sink auto_null.
> I: module-device-restore.c: Restoring mute state for sink auto_null.
> I: sink.c: Created sink 2 "auto_null" with sample spec s16le 2ch 44100Hz and
> channel map front-left,front-right
> I: sink.c:     device.description = "Null Output"
> I: sink.c:     device.class = "abstract"
> I: sink.c:     device.icon_name = "audio-card"
> I: module-device-restore.c: Restoring volume for source auto_null.monitor.
> I: module-device-restore.c: Restoring mute state for source
> auto_null.monitor.
> I: source.c: Created source 3 "auto_null.monitor" with sample spec s16le 2ch
> 44100Hz and channel map front-left,front-right
> I: source.c:     device.description = "Monitor of Null Output"
> I: source.c:     device.class = "monitor"
> I: source.c:     device.icon_name = "audio-input-microphone"
> D: module-null-sink.c: Thread starting up
> D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+27
> D: module-suspend-on-idle.c: Sink auto_null becomes idle.
> I: module.c: Loaded "module-null-sink" (index: #18; argument:
> "sink_name=auto_null").
> D: module-suspend-on-idle.c: Sink jack_out becomes idle.
>
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at mail.0pointer.de
> https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
>
>



More information about the pulseaudio-discuss mailing list