GetVouts races against input destruction
Sometimes, pressing next triggers a crash in the input resource code while calling GetVouts (it probably affects GetAout too).
In thread 1, p_resource is NULL. This is a race condition with the input thread. In fact, the input is "b_dead" already when crash occurs, so I guess GetVouts() should return NULL.
Thread 11 (process 8387):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7fa71b1 in ___tls_get_addr (ti=0xb7e3fe70) at dl-tls.c:753
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7e0d84e in strerror_thread_freeres () at strerror_l.c:67
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb7e0d81a in __libc_thread_freeres () at thread-freeres.c:30
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7e7461a in start_thread (arg=0xb48edb90) at pthread_create.c:307
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 10 (process 8130):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7dbba37 in *__GI___poll (fds=0xb4e02928, nfds=3, timeout=19227) at ../sysdeps/unix/sysv/linux/poll.c:87
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb55b2892 in ?? () from /usr/lib/libglib-2.0.so.0
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb4e02928 in ?? ()
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x00000003 in ?? ()
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x00004b1b in ?? ()
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0xb4e02928 in ?? ()
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x00000003 in ?? ()
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x085bceac in ?? ()
[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0xb562b658 in ?? () from /usr/lib/libglib-2.0.so.0
[#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0xb562b680 in ?? () from /usr/lib/libglib-2.0.so.0
[#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0xb4b7a184 in ?? ()
[#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0xb562b658 in ?? () from /usr/lib/libglib-2.0.so.0
[#13](https://code.videolan.org/videolan/vlc/-/issues/13) 0xb562b680 in ?? () from /usr/lib/libglib-2.0.so.0
[#14](https://code.videolan.org/videolan/vlc/-/issues/14) 0x085bceac in ?? ()
[#15](https://code.videolan.org/videolan/vlc/-/issues/15) 0x00000001 in ?? ()
[#16](https://code.videolan.org/videolan/vlc/-/issues/16) 0x085bcea8 in ?? ()
[#17](https://code.videolan.org/videolan/vlc/-/issues/17) 0xb4e02928 in ?? ()
[#18](https://code.videolan.org/videolan/vlc/-/issues/18) 0xb7dbb9c0 in ?? () from /lib/i686/cmov/libc.so.6
[#19](https://code.videolan.org/videolan/vlc/-/issues/19) 0xb7e77370 in ?? () from /lib/i686/cmov/libpthread.so.0
[#20](https://code.videolan.org/videolan/vlc/-/issues/20) 0xb7e75890 in ?? () from /lib/i686/cmov/libpthread.so.0
[#21](https://code.videolan.org/videolan/vlc/-/issues/21) 0x085bceac in ?? ()
[#22](https://code.videolan.org/videolan/vlc/-/issues/22) 0xb608b935 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
[#23](https://code.videolan.org/videolan/vlc/-/issues/23) 0xb55b2bc1 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
[#24](https://code.videolan.org/videolan/vlc/-/issues/24) 0xb60a05e8 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
[#25](https://code.videolan.org/videolan/vlc/-/issues/25) 0xb5804d75 in ?? () from /usr/lib/libQtGui.so.4
[#26](https://code.videolan.org/videolan/vlc/-/issues/26) 0xb60747aa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
[#27](https://code.videolan.org/videolan/vlc/-/issues/27) 0xb607496a in QEventLoop::exec () from /usr/lib/libQtCore.so.4
[#28](https://code.videolan.org/videolan/vlc/-/issues/28) 0xb6077025 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
[#29](https://code.videolan.org/videolan/vlc/-/issues/29) 0xb576b617 in QApplication::exec () from /usr/lib/libQtGui.so.4
[#30](https://code.videolan.org/videolan/vlc/-/issues/30) 0xb61bb385 in Thread (obj=0xb4e01098) at ../../../../modules/gui/qt4/qt4.cpp:456
[#31](https://code.videolan.org/videolan/vlc/-/issues/31) 0xb7e744e5 in start_thread (arg=0xb4b7ab90) at pthread_create.c:297
[#32](https://code.videolan.org/videolan/vlc/-/issues/32) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
---Type <return> to continue, or q <return> to quit---
Thread 9 (process 8127):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7e8b1f9 in clock_nanosleep (clock_id=-1208519960, flags=0, req=0xb4cfd2b4, rem=0xb4cfd2b4) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:49
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7f2c6fa in msleep (delay=30000000) at ../../src/misc/mtime.c:406
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb79bfd05 in Run (p_intf=0xb4e00768) at ../../../modules/misc/screensaver.c:213
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7ec99e7 in RunInterface (p_this=0xb4e00768) at ../../src/interface/interface.c:229
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7f35888 in thread_entry (data=0x84a72d8) at ../../src/misc/threads.c:960
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0xb7e744e5 in start_thread (arg=0xb4cfdb90) at pthread_create.c:297
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 8 (process 8128):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7e7c1d0 in __sigwait (set=0xb63d4e5c, sig=0xb4c7c3b8) at ../nptl/sysdeps/unix/sysv/linux/../../../../../sysdeps/unix/sysv/linux/sigwait.c:63
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb63d3b9c in SigThread (data=0x8422c28) at ../../../modules/control/signals.c:104
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7e744e5 in start_thread (arg=0xb4c7cb90) at pthread_create.c:297
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 7 (process 8120):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7e77fb5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb7f36224 in vlc_cond_wait (p_condvar=0x85b3204, p_mutex=0x85b31a4) at ../../src/misc/threads.c:528
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7ecaf9d in InteractionLoop (p_this=0x85b31e0) at ../../src/interface/interaction.c:580
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7e744e5 in start_thread (arg=0xb51edb90) at pthread_create.c:297
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 6 (process 8125):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7dbba37 in *__GI___poll (fds=0xb4dff3b4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb63ed734 in Thread (p_data=0x84a8d60) at ../../../../modules/control/globalhotkeys/x11.c:350
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7e744e5 in start_thread (arg=0xb4dffb90) at pthread_create.c:297
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 5 (process 8121):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7e77fb5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb7f36224 in vlc_cond_wait (p_condvar=0x84a7258, p_mutex=0x84a7240) at ../../src/misc/threads.c:528
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7ece988 in Thread (p_data=0x84a7238) at ../../src/playlist/fetcher.c:378
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7e744e5 in start_thread (arg=0xb516cb90) at pthread_create.c:297
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 4 (process 8119):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7e77fb5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb7f36224 in vlc_cond_wait (p_condvar=0x842298c, p_mutex=0x842292c) at ../../src/misc/threads.c:528
---Type <return> to continue, or q <return> to quit---
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7eb11df in libvlc_InternalWait (p_libvlc=0x8422968) at ../../src/libvlc.c:1198
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7f7fb0f in libvlc_wait (p_i=0x8423118) at ../../src/control/core.c:188
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x08048d2e in main (i_argc=3, ppsz_argv=0xbffb34a4) at ../../bin/vlc.c:156
Thread 3 (process 8123):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7e74b67 in pthread_join (threadid=3029261200, thread_return=0x0) at pthread_join.c:89
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb7f360c4 in vlc_join (handle=3029261200, result=0x0) at ../../src/misc/threads.c:829
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7f36131 in __vlc_thread_join (p_this=0xb472bfb0) at ../../src/misc/threads.c:1084
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7ecc263 in Thread (data=0x85b3380) at ../../src/playlist/thread.c:501
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0xb7e744e5 in start_thread (arg=0xb506ab90) at pthread_create.c:297
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 2 (process 8122):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0xb7f967f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7e77fb5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb7f36224 in vlc_cond_wait (p_condvar=0x84a822c, p_mutex=0x84a8214) at ../../src/misc/threads.c:528
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7ed17f8 in Thread (data=0x84a8208) at ../../src/playlist/preparser.c:198
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7e744e5 in start_thread (arg=0xb50ebb90) at pthread_create.c:297
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 1 (process 8124):
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) __pthread_mutex_lock (mutex=0x28) at pthread_mutex_lock.c:51
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0xb7f3636d in vlc_mutex_lock (p_mutex=0x28) at ../../src/misc/threads.c:366
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0xb7ef9ea7 in input_resource_HoldVouts (p_resource=0x0, ppp_vout=0xb4fe9328, pi_vout=0xb4fe9324) at ../../src/input/resource.c:277
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0xb7eda021 in input_vaControl (p_input=0xb472bfb0, i_query=34, args=0xb4fe90c8 "(\223��$\223��\005") at ../../src/input/control.c:432
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0xb7edb44b in input_Control (p_input=0xb472bfb0, i_query=34) at ../../src/input/control.c:55
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0xb63e31b4 in Run (p_intf=0x85b1cd0) at ../../../include/vlc_input.h:549
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0xb7ec99e7 in RunInterface (p_this=0x85b1cd0) at ../../src/interface/interface.c:229
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0xb7f35888 in thread_entry (data=0x85b1d28) at ../../src/misc/threads.c:960
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0xb7e744e5 in start_thread (arg=0xb4fe9b90) at pthread_create.c:297
[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0xb7dc610e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130