[vlc-devel] commit: Abort on invalid lock transition ( Rémi Denis-Courmont )
Ilkka Ollakka
ilkka.ollakka+vlc at oamk.fi
Sun Nov 29 16:59:25 CET 2009
On Sun, Nov 29, 2009 at 05:25:23PM +0200, Rémi Denis-Courmont wrote:
> Please report post-mortem stack traces if you hit a violation in a code path.
I got this with pulse (trying to open mkv file):
---
ef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007fffe3d44838 in stream_request_cb (s=<value optimized out>,
length=59904,
userdata=<value optimized out>) at
../../../vlc/modules/audio_output/pulse.c:464
#6 0x00007fffe3b2a147 in ?? () from /usr/lib64/libpulse.so.0
#7 0x00007fffe38dbb86 in pa_pdispatch_run () from
/usr/lib64/libpulsecommon-0.9.19.so
#8 0x00007fffe3b131bd in ?? () from /usr/lib64/libpulse.so.0
#9 0x00007fffe38e021c in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#10 0x00007fffe3b1f41d in pa_mainloop_dispatch () from
/usr/lib64/libpulse.so.0
#11 0x00007fffe3b1f7a8 in pa_mainloop_iterate () from
/usr/lib64/libpulse.so.0
#12 0x00007fffe3b1f850 in pa_mainloop_run () from
/usr/lib64/libpulse.so.0
#13 0x00007fffe3b2dcdb in ?? () from /usr/lib64/libpulse.so.0
#14 0x00007fffe38eced0 in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#15 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()
(gdb)
---
And with alsa:
---
0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007ffff66b5f4f in ALSAFill (p_aout=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:846
#6 0x00007ffff66b6239 in ALSAThread (data=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:764
#7 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#8 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#9 0x0000000000000000 in ?? ()
(gdb)
---
ef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007fffe3d44838 in stream_request_cb (s=<value optimized out>,
length=59904,
userdata=<value optimized out>) at
../../../vlc/modules/audio_output/pulse.c:464
#6 0x00007fffe3b2a147 in ?? () from /usr/lib64/libpulse.so.0
#7 0x00007fffe38dbb86 in pa_pdispatch_run () from
/usr/lib64/libpulsecommon-0.9.19.so
#8 0x00007fffe3b131bd in ?? () from /usr/lib64/libpulse.so.0
#9 0x00007fffe38e021c in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#10 0x00007fffe3b1f41d in pa_mainloop_dispatch () from
/usr/lib64/libpulse.so.0
#11 0x00007fffe3b1f7a8 in pa_mainloop_iterate () from
/usr/lib64/libpulse.so.0
#12 0x00007fffe3b1f850 in pa_mainloop_run () from
/usr/lib64/libpulse.so.0
#13 0x00007fffe3b2dcdb in ?? () from /usr/lib64/libpulse.so.0
#14 0x00007fffe38eced0 in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#15 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()
(gdb)
---
And with alsa:
---
0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007ffff66b5f4f in ALSAFill (p_aout=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:846
#6 0x00007ffff66b6239 in ALSAThread (data=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:764
#7 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#8 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#9 0x0000000000000000 in ?? ()
(gdb)
---
ef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007fffe3d44838 in stream_request_cb (s=<value optimized out>,
length=59904,
userdata=<value optimized out>) at
../../../vlc/modules/audio_output/pulse.c:464
#6 0x00007fffe3b2a147 in ?? () from /usr/lib64/libpulse.so.0
#7 0x00007fffe38dbb86 in pa_pdispatch_run () from
/usr/lib64/libpulsecommon-0.9.19.so
#8 0x00007fffe3b131bd in ?? () from /usr/lib64/libpulse.so.0
#9 0x00007fffe38e021c in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#10 0x00007fffe3b1f41d in pa_mainloop_dispatch () from
/usr/lib64/libpulse.so.0
#11 0x00007fffe3b1f7a8 in pa_mainloop_iterate () from
/usr/lib64/libpulse.so.0
#12 0x00007fffe3b1f850 in pa_mainloop_run () from
/usr/lib64/libpulse.so.0
#13 0x00007fffe3b2dcdb in ?? () from /usr/lib64/libpulse.so.0
#14 0x00007fffe38eced0 in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#15 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()
(gdb)
---
And with alsa:
---
0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007ffff66b5f4f in ALSAFill (p_aout=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:846
#6 0x00007ffff66b6239 in ALSAThread (data=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:764
#7 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#8 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#9 0x0000000000000000 in ?? ()
(gdb)
---
ef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007fffe3d44838 in stream_request_cb (s=<value optimized out>,
length=59904,
userdata=<value optimized out>) at
../../../vlc/modules/audio_output/pulse.c:464
#6 0x00007fffe3b2a147 in ?? () from /usr/lib64/libpulse.so.0
#7 0x00007fffe38dbb86 in pa_pdispatch_run () from
/usr/lib64/libpulsecommon-0.9.19.so
#8 0x00007fffe3b131bd in ?? () from /usr/lib64/libpulse.so.0
#9 0x00007fffe38e021c in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#10 0x00007fffe3b1f41d in pa_mainloop_dispatch () from
/usr/lib64/libpulse.so.0
#11 0x00007fffe3b1f7a8 in pa_mainloop_iterate () from
/usr/lib64/libpulse.so.0
#12 0x00007fffe3b1f850 in pa_mainloop_run () from
/usr/lib64/libpulse.so.0
#13 0x00007fffe3b2dcdb in ?? () from /usr/lib64/libpulse.so.0
#14 0x00007fffe38eced0 in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#15 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()
(gdb)
---
And with alsa:
---
0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007ffff66b5f4f in ALSAFill (p_aout=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:846
#6 0x00007ffff66b6239 in ALSAThread (data=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:764
#7 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#8 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#9 0x0000000000000000 in ?? ()
(gdb)
---
ef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007fffe3d44838 in stream_request_cb (s=<value optimized out>,
length=59904,
userdata=<value optimized out>) at
../../../vlc/modules/audio_output/pulse.c:464
#6 0x00007fffe3b2a147 in ?? () from /usr/lib64/libpulse.so.0
#7 0x00007fffe38dbb86 in pa_pdispatch_run () from
/usr/lib64/libpulsecommon-0.9.19.so
#8 0x00007fffe3b131bd in ?? () from /usr/lib64/libpulse.so.0
#9 0x00007fffe38e021c in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#10 0x00007fffe3b1f41d in pa_mainloop_dispatch () from
/usr/lib64/libpulse.so.0
#11 0x00007fffe3b1f7a8 in pa_mainloop_iterate () from
/usr/lib64/libpulse.so.0
#12 0x00007fffe3b1f850 in pa_mainloop_run () from
/usr/lib64/libpulse.so.0
#13 0x00007fffe3b2dcdb in ?? () from /usr/lib64/libpulse.so.0
#14 0x00007fffe38eced0 in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#15 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()
(gdb)
---
And with alsa:
---
0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at
../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized
out>)
at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at
../../vlc/src/audio_output/output.c:349
#5 0x00007ffff66b5f4f in ALSAFill (p_aout=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:846
#6 0x00007ffff66b6239 in ALSAThread (data=<value optimized out>)
at ../../../vlc/modules/audio_output/alsa.c:764
#7 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#8 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#9 0x0000000000000000 in ?? ()
(gdb)
---
ef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at ../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized out>) at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at ../../vlc/src/audio_output/output.c:349
#5 0x00007fffe3d44838 in stream_request_cb (s=<value optimized out>, length=59904, userdata=<value optimized out>) at ../../../vlc/modules/audio_output/pulse.c:464
#6 0x00007fffe3b2a147 in ?? () from /usr/lib64/libpulse.so.0
#7 0x00007fffe38dbb86 in pa_pdispatch_run () from /usr/lib64/libpulsecommon-0.9.19.so
#8 0x00007fffe3b131bd in ?? () from /usr/lib64/libpulse.so.0
#9 0x00007fffe38e021c in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#10 0x00007fffe3b1f41d in pa_mainloop_dispatch () from /usr/lib64/libpulse.so.0
#11 0x00007fffe3b1f7a8 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#12 0x00007fffe3b1f850 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#13 0x00007fffe3b2dcdb in ?? () from /usr/lib64/libpulse.so.0
#14 0x00007fffe38eced0 in ?? () from /usr/lib64/libpulsecommon-0.9.19.so
#15 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()
(gdb)
---
And with alsa:
---
0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6aef4e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff6af09b0 in abort () from /lib64/libc.so.6
#2 0x00007ffff794b482 in aout_lock (i=4) at ../../vlc/src/audio_output/common.c:156
#3 0x00007ffff7951ca7 in aout_lock_input_fifos (p_aout=<value optimized out>) at ../../vlc/src/audio_output/aout_internal.h:205
#4 aout_OutputNextBuffer (p_aout=<value optimized out>) at ../../vlc/src/audio_output/output.c:349
#5 0x00007ffff66b5f4f in ALSAFill (p_aout=<value optimized out>) at ../../../vlc/modules/audio_output/alsa.c:846
#6 0x00007ffff66b6239 in ALSAThread (data=<value optimized out>) at ../../../vlc/modules/audio_output/alsa.c:764
#7 0x00007ffff727765d in start_thread () from /lib64/libpthread.so.0
#8 0x00007ffff6b8e14d in clone () from /lib64/libc.so.6
#9 0x0000000000000000 in ?? ()
(gdb)
---
Let me know if you want full backtrace and I'll post them.
--
Ilkka Ollakka
More information about the vlc-devel
mailing list