Hi,
I've been playing around a bit with VLC (after compiling world, and all my
pkgsrc with debugging symbols).
The testing machine is a VM so I access to it via ssh. I've installed all the
needed packages to be able to forward X to my local display.
So, I've run VLC in my local display and it does segfault after closing, just
like always. As I got a non-meaningful backtrace, I decided to run it from my
gdb. It segfaults again! It doesn't even show any window and this is the backtrace:
(gdb) bt
#0 0x28179c5c in _umtx_sleep_err ()
at/home/source/dfbsd/lib/libthread_xu/arch/i386/i386/_umtx_sleep_wakeup_err.S:12
#1 0x2817998c in _thr_umtx_wait (mtx=0x282f6adc, exp=0, timeout=0x0, clockid=0)
at /home/source/dfbsd/lib/libthread_xu/thread/thr_umtx.c:131
#2 0x281748c3 in cond_wait_common (cond=<value optimized out>,
mutex=0x282a7df0, abstime=0x0, cancel=1)
at /home/source/dfbsd/lib/libthread_xu/thread/thr_cond.c:230
#3 0x28174a41 in __pthread_cond_wait (cond=0x282a7df4, mutex=0x282a7df0)
at /home/source/dfbsd/lib/libthread_xu/thread/thr_cond.c:264
#4 0x2911dfd9 in QWaitConditionPrivate::wait (this=0x288ad6a0,
mutex=0x288ad69c, time=4294967295)
at thread/qwaitcondition_unix.cpp:87
#5 QWaitCondition::wait (this=0x288ad6a0, mutex=0x288ad69c,time=4294967295) at
thread/qwaitcondition_unix.cpp:159
#6 0x2870a50e in Open (p_this=0x28321208) at qt4.cpp:307
#7 0x28126da2 in __module_need (p_this=0x28321208,psz_capability=0x28159a40
"interface", psz_name=0x282e3d70 "", b_strict=true) at modules/modules.c:580
#8 0x280c7f27 in __intf_Create (p_this=0x282c00b0,psz_module=0x281512e0
"$intf") at interface/interface.c:104
#9 0x280b3085 in libvlc_InternalAddIntf (p_libvlc=0x282c00b0,psz_module=0x1d5
<Address 0x1d5 out of bounds>) at libvlc.c:1176
#10 0x2808b775 in libvlc_add_intf (p_i=0x28300080, name=0x0,p_e=0xbfbff86c) at
control/core.c:188
#11 0x08048e57 in main (i_argc=1, ppsz_argv=0xbfbff8e0) at vlc.c:153
It seems it hits another segfault in initalization, but well, I still wanted to
find out the backtrace after a the crash while closing. So I
started VLC again and then attached with gdb. The issued 'cont' in gdb, went to
VLC window and closed it.
This time there's a weird error. See the backtrace:
Program received signal ?, Unknown signal.
0x281ea323 in lwp_kill () at lwp_kill.S:2
2 RSYSCALL
(gdb) bt
#0 0x281ea323 in lwp_kill () at lwp_kill.S:2
#1 0x28177b14 in _thr_send_sig (thread=0x28290af0, sig=32) at
/home/source/dfbsd/lib/libthread_xu/thread/thr_kern.c:99
#2 0x28176acf in _pthread_cancel (pthread=0x28290af0) at
/home/source/dfbsd/lib/libthread_xu/thread/thr_cancel.c:64
#3 0x2812cfeb in vlc_cancel (thread_id=0x28290af0) at misc/threads.c:941
#4 0x280ce07f in playlist_preparser_Delete (p_preparser=0x28306ea0)
at playlist/preparser.c:97
#5 0x280c8955 in playlist_Deactivate (p_playlist=0x283309c0) at
playlist/thread.c:101
#6 0x280b4a2f in libvlc_InternalCleanup (p_libvlc=0x282c00b0) at libvlc.c:1036
#7 0x2808b651 in libvlc_release (p_instance=0x28300080) at control/core.c:179
#8 0x08048e8b in main (i_argc=1, ppsz_argv=0xbfbffb98) at vlc.c:156
I hope this throws a bit more light into this.
Cheers,
Antonio Huete