Bug 218017 - audio/pulseaudio 10.0 SIGBUS
Summary: audio/pulseaudio 10.0 SIGBUS
Status: Closed Feedback Timeout
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords: crash
Depends on:
Blocks:
 
Reported: 2017-03-22 19:09 UTC by Eric McCorkle
Modified: 2017-07-01 10:16 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric McCorkle 2017-03-22 19:09:25 UTC
Following an update to pulseaudio 10.0, I'm reliably getting a SIGBUS when the daemon attempts to start.  The following is a backtrace from running in gdb:

#0  0x0000000801fc96c4 in memset () from /lib/libc.so.7
#1  0x0000000800d35f25 in pa_silence_memory () from /usr/local/lib/pulseaudio/libpulsecommon-10.0.so
#2  0x000000080b04e85a in module_oss_LTX_pa__init () from /usr/local/lib/pulse-10.0/modules/module-oss.so
#3  0x0000000800a6eeea in pa_module_load () from /usr/local/lib/pulseaudio/libpulsecore-10.0.so
#4  0x000000080ae4a2de in module_detect_LTX_pa__init () from /usr/local/lib/pulse-10.0/modules/module-detect.so
#5  0x0000000800a6eeea in pa_module_load () from /usr/local/lib/pulseaudio/libpulsecore-10.0.so
#6  0x0000000800a5de22 in ?? () from /usr/local/lib/pulseaudio/libpulsecore-10.0.so
#7  0x0000000800a5bbbe in pa_cli_command_execute_line_stateful () from /usr/local/lib/pulseaudio/libpulsecore-10.0.so
#8  0x0000000800a5c390 in pa_cli_command_execute_file_stream () from /usr/local/lib/pulseaudio/libpulsecore-10.0.so
#9  0x000000000040b110 in main ()


From the looks of it, memset is probably getting called on an uninitialized or NULL pointer, since this seems to be happening in initialization.  Here is the output of starting with -v:

$ pulseaudio -vvv
W: [(null)] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
I: [(null)] core-util.c: Failed to acquire high-priority scheduling: Operation not supported
I: [(null)] main.c: This is PulseAudio 10.0
D: [(null)] main.c: Compilation host: amd64-portbld-freebsd12.0
D: [(null)] main.c: Compilation CFLAGS: -O2 -pipe -march=native  -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing -Wall -W -Wextra -Wno-long-long -Wno-overlength-strings -Wundef -Wformat=2 -Wsign-compare -Wformat-security -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 -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto
D: [(null)] main.c: Running on host: FreeBSD amd64 12.0-CURRENT FreeBSD 12.0-CURRENT #9 9544c49d481(drm-next): Mon Mar 20 14:39:07 EDT 2017     root@neutron:/usr/obj/usr/src/sys/CUSTOM
D: [(null)] main.c: Found 4 CPUs.
I: [(null)] main.c: Page size is 4096 bytes
D: [(null)] main.c: Compiled with Valgrind support: no
D: [(null)] main.c: Running in valgrind mode: no
D: [(null)] main.c: Running in VM: no
D: [(null)] main.c: Optimized build: yes
D: [(null)] main.c: FASTPATH defined, only fast path asserts disabled.
I: [(null)] main.c: Machine ID is 314bf415cf84ae3f87a6c71858308d47.
I: [(null)] main.c: Using runtime directory /home/eric/.config/pulse/314bf415cf84ae3f87a6c71858308d47-runtime.
I: [(null)] main.c: Using state directory /home/eric/.config/pulse.
I: [(null)] main.c: Using modules directory /usr/local/lib/pulse-10.0/modules.
I: [(null)] main.c: Running in system mode: no
W: [(null)] pid.c: Stale PID file, overwriting.
I: [(null)] main.c: System supports high resolution timers
D: [(null)] memblock.c: Using shared posix-shm memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
I: [(null)] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 
I: [(null)] svolume_mmx.c: Initialising MMX optimized volume functions.
I: [(null)] remap_mmx.c: Initialising MMX optimized remappers.
I: [(null)] svolume_sse.c: Initialising SSE2 optimized volume functions.
I: [(null)] remap_sse.c: Initialising SSE2 optimized remappers.
I: [(null)] sconv_sse.c: Initialising SSE2 optimized conversions.
I: [(null)] svolume_orc.c: Initialising ORC optimized volume functions.
I: [(null)] module-device-restore.c: Successfully opened database file '/home/eric/.config/pulse/314bf415cf84ae3f87a6c71858308d47-device-volumes'.
I: [(null)] module.c: Loaded "module-device-restore" (index: #0; argument: "").
I: [(null)] module-stream-restore.c: Successfully opened database file '/home/eric/.config/pulse/314bf415cf84ae3f87a6c71858308d47-stream-volumes'.
D: [(null)] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1 added for object /org/pulseaudio/stream_restore1
D: [(null)] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry0
D: [(null)] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry1
D: [(null)] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry2
D: [(null)] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry3
D: [(null)] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry4
D: [(null)] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry5
I: [(null)] module.c: Loaded "module-stream-restore" (index: #1; argument: "").
I: [(null)] module-card-restore.c: Successfully opened database file '/home/eric/.config/pulse/314bf415cf84ae3f87a6c71858308d47-card-database'.
I: [(null)] module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: [(null)] module.c: Loaded "module-augment-properties" (index: #3; argument: "").
I: [(null)] module.c: Loaded "module-switch-on-port-available" (index: #4; argument: "").
D: [(null)] module.c: Checking for existence of '/usr/local/lib/pulse-10.0/modules/module-detect.so': success
W: [(null)] oss-util.c: '/dev/dsp0' doesn't support full duplex
D: [(null)] oss-util.c: capabilities: MMAP REALTIME TRIGGER
I: [(null)] module-oss.c: Device opened in O_WRONLY mode.
D: [(null)] oss-util.c: Asking for 4 fragments of size 4096 (requested 4408)
I: [(null)] module-oss.c: Output -- 4 fragments of size 4096.
D: [(null)] module-oss.c: Successfully mmap()ed output buffer.
Failed to handle SIGBUS.
Abort trap
Comment 1 Jan Beich freebsd_committer freebsd_triage 2017-03-27 11:31:29 UTC
Try updating -CURRENT to a newer snapshot. If it doesn't help manually merge master branch from freebsd repo to drm-next. Likely a kernel issue unless you can reproduce with older userland in a jail. I've seen it as well a few weeks ago.

The backtrace lacks source lines. Try building with symbols:

  $ make clean all deinstall install WITH_DEBUG=