I will try LD_ASSUME_KERNEL, let's see ...
Seems to "fix" the problem .. so how can we debug this?
See if the problem exists running under gdb as well. If it does, set a
breakpoint to the watchdog function (maybe gdb catches SIGALRM before).
When the watchdog expires, get a bt from all threads (thread apply all bt)
and examine where the main thread is hanging.
If the error does not occur, let VDR segfault in Watchdog() (something like
(*((int *)0))++; will do this), and examine the core file (set ulimit -c
unlimited)
The backtrace is attached (thread 1 moved to top).
Marcel
--
---------------------------------------
Malte Schröder
MalteSch@gmx.de
ICQ# 68121508
---------------------------------------
Thread 1 (Thread -1211275040 (LWP 21816)):
#0 Watchdog (signum=14) at vdr.c:84
#1 <signal handler called>
#2 0xb7f35179 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#3 0xb7f31ee7 in _L_mutex_lock_29 () from /lib/tls/libpthread.so.0
#4 0x00000000 in ?? ()
#5 0x080826ea in cChannel::Transponder (Frequency=155879276,
Polarization=0 '\0') at channels.c:225
#6 0x080edaed in cMutex::Lock (this=0x94a876c) at thread.c:184
#7 0x08098a1d in cDvbTuner::Set (this=0x94a8760, Channel=0x94cf674,
Tune=true, UseCa=false) at thread.h:87
#8 0x08098b86 in cDvbDevice::SetChannelDevice (this=0x94a79d0,
Channel=0x94cf674, LiveView=false) at dvbdevice.c:812
#9 0x08092b2c in cDevice::SetChannel (this=0x94a79d0, Channel=0x94cf674,
LiveView=false) at device.c:602
#10 0x08092eb5 in cDevice::SwitchChannel (this=0x94a79d0, Channel=0x94cf674,
LiveView=false) at device.c:525
#11 0x080a171f in cEITScanner::Process (this=0x81b80c4) at eitscan.c:163
#12 0x080f7b89 in main (argc=8, argv=0xbfc79314) at vdr.c:885
Thread 8 (Thread -1262802000 (LWP 21860)):
#0 0xb7f32dc2 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/tls/libpthread.so.0
#1 0x080edba3 in cCondWait::Wait (this=0x94b9298, TimeoutMs=1000)
at thread.c:66
#2 0x0809aaec in cNonBlockingFileReader::Action (this=0x94b9258)
at dvbplayer.c:163
#3 0x080ee302 in cThread::StartThread (Thread=0x94b9258) at thread.c:234
#4 0xb7f30ccd in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7da8b0e in clone () from /lib/tls/libc.so.6
Thread 7 (Thread -1254413392 (LWP 21859)):
#0 0xb7d9e5a9 in poll () from /lib/tls/libc.so.6
#1 0x080f316c in cPoller::Poll (this=0xb53b237c, TimeoutMs=100) at tools.c:636
#2 0x08096141 in cDvbDevice::Poll (this=0x94a79d0, Poller=@0xb53b237c,
TimeoutMs=100) at dvbdevice.c:1131
#3 0x0809b2d2 in cDvbPlayer::Action (this=0x94c7a18) at player.h:25
#4 0x080ee302 in cThread::StartThread (Thread=0x94c7a24) at thread.c:234
#5 0xb7f30ccd in start_thread () from /lib/tls/libpthread.so.0
#6 0xb7da8b0e in clone () from /lib/tls/libc.so.6
Thread 6 (Thread -1244873808 (LWP 21826)):
#0 0xb7f353f1 in __read_nocancel () from /lib/tls/libpthread.so.0
#1 0xb7ccfac7 in cRemoteDevInput::getKey (this=0x94af188) at remote.c:422
#2 0xb7ccf74a in cRemoteGeneric::Action (this=0x94af188) at remote.c:83
#3 0x080ee302 in cThread::StartThread (Thread=0x94af198) at thread.c:234
#4 0xb7f30ccd in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7da8b0e in clone () from /lib/tls/libc.so.6
Thread 5 (Thread -1236485200 (LWP 21825)):
#0 0xb7d9e5a9 in poll () from /lib/tls/libc.so.6
#1 0x080d90a9 in cSectionHandler::Action (this=0x94ab198) at sections.c:184
#2 0x080ee302 in cThread::StartThread (Thread=0x94ab198) at thread.c:234
#3 0xb7f30ccd in start_thread () from /lib/tls/libpthread.so.0
#4 0xb7da8b0e in clone () from /lib/tls/libc.so.6
Thread 4 (Thread -1228096592 (LWP 21824)):
#0 0xb7f32dc2 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/tls/libpthread.so.0
#1 0x080edba3 in cCondWait::Wait (this=0x94ab100, TimeoutMs=1000)
at thread.c:66
#2 0x08097d13 in cDvbTuner::Action (this=0x94aadf8) at dvbdevice.c:338
#3 0x080ee302 in cThread::StartThread (Thread=0x94aadf8) at thread.c:234
#4 0xb7f30ccd in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7da8b0e in clone () from /lib/tls/libc.so.6
Thread 3 (Thread -1219707984 (LWP 21822)):
#0 0xb7d9e5a9 in poll () from /lib/tls/libc.so.6
#1 0x080d90a9 in cSectionHandler::Action (this=0x94a8ab8) at sections.c:184
#2 0x080ee302 in cThread::StartThread (Thread=0x94a8ab8) at thread.c:234
#3 0xb7f30ccd in start_thread () from /lib/tls/libpthread.so.0
#4 0xb7da8b0e in clone () from /lib/tls/libc.so.6
Thread 2 (Thread -1211319376 (LWP 21821)):
#0 0xb7d9e5a9 in poll () from /lib/tls/libc.so.6
#1 0x08094747 in cDvbTuner::GetFrontendEvent (this=0x94a8760,
Event=@0xb7ccb3f4, TimeoutMs=10) at dvbdevice.c:154
#2 0x08097bda in cDvbTuner::Action (this=0x94a8760) at dvbdevice.c:302
#3 0x080ee302 in cThread::StartThread (Thread=0x94a8760) at thread.c:234
#4 0xb7f30ccd in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7da8b0e in clone () from /lib/tls/libc.so.6