[vdr] segfault when killing vdr
Wolfgang Rohdewald
wolfgang at rohdewald.de
Thu Mar 17 14:28:43 CET 2005
this is vdr-1.3.22, no patches, no plugins.
Sometimes when I kill it, it segfaults in different
places but always while clearing some cList. After
putting in a dsyslog into ~cListBase, I could no
longer reproduce it.
Any ideas? To me this smells like a threading bug.
(gdb) bt
#0 0xb7dbd4a1 in malloc_consolidate () from /lib/libc.so.6
#1 0xb7dbd36e in _int_free () from /lib/libc.so.6
#2 0xb7dbc09f in free () from /lib/libc.so.6
#3 0x080e6140 in ~cRecording (this=0x84b0e60) at recording.c:431
#4 0x081153fc in cListBase::Clear (this=0x81e1df8) at tools.c:997
#5 0x08114ffb in ~cListBase (this=0x81e1df8) at tools.c:920
#6 0x080e99a5 in ~cList (this=0x81e1df8) at svdrp.c:330
#7 0x080e987d in ~cRecordings (this=0x81e1df8) at svdrp.c:330
#8 0x080e943c in __tcf_0 () at recording.c:621
#9 0xb7d76ae2 in exit () from /lib/libc.so.6
#10 0xb7d60dce in __libc_start_main () from /lib/libc.so.6
#11 0x08086301 in _start () at ../sysdeps/i386/elf/start.S:102
(gdb) bt
#0 0xb7dbd4a1 in malloc_consolidate () from /lib/libc.so.6
#1 0xb7dbd36e in _int_free () from /lib/libc.so.6
#2 0xb7dbc09f in free () from /lib/libc.so.6
#3 0xb7f39d23 in operator delete () from /usr/lib/libstdc++.so.5
#4 0x080df13c in ~cCaDescriptors (this=0x84c7068) at pat.c:199
#5 0x08115584 in cListBase::Clear (this=0x81e1fe0) at tools.c:997
#6 0x08115183 in ~cListBase (this=0x81e1fe0) at tools.c:920
#7 0x080df477 in ~cList (this=0x81e1fe0) at pat.c:222
#8 0x080df569 in ~cCaDescriptorHandler (this=0x81e1fe0) at pat.c:222
#9 0x080de84c in __tcf_0 () at pat.c:222
#10 0xb7d76ae2 in exit () from /lib/libc.so.6
#11 0xb7d60dce in __libc_start_main () from /lib/libc.so.6
#12 0x08086301 in _start () at ../sysdeps/i386/elf/start.S:102
valgrind output:
==17072== Process terminating with default action of signal 11 (SIGSEGV)
==17072== Access not within mapped region at address 0xFFFFFFFF
==17072== at 0x81C1209: typeinfo for cString (in /home/vdr/vdr-1.3.22/vdr)
==17072== by 0x810DCF5: cThread::StartThread(cThread*) (thread.c:227)
==17072== by 0x1D4E4D52: thread_wrapper (vg_libpthread.c:867)
==17072== by 0xB000F5DF: do__quit (vg_scheduler.c:1872)
==17072==
--
Wolfgang
More information about the vdr
mailing list