Bug #1153
TVHeadend crashes while tuning channel
100%
Description
Sorry for another ticket
DS112j> gdb --args /opt/tvheadend/testbuild/bin/tvheadend -d dlopen failed on 'libthread_db.so.1' - libthread_db.so.1: cannot open shared object file: No such file or directory GDB will not be able to debug pthreads. GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-none-linux-gnueabi"... (gdb) attach 7913 Attaching to program: /opt/tvheadend/testbuild/bin/tvheadend, process 7913 Reading symbols from /lib/libssl.so.0.9.8...done. Loaded symbols for /lib/libssl.so.0.9.8 Reading symbols from /lib/libcrypto.so.0.9.8...done. Loaded symbols for /lib/libcrypto.so.0.9.8 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libpthread.so.0...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.3...done. Loaded symbols for /lib/ld-linux.so.3 0x4029ab3c in ioctl () from /lib/libc.so.6 (gdb) bt full #0 0x4029ab3c in ioctl () from /lib/libc.so.6 No symbol table info available. #1 0x00044bb8 in tdt_open_fd (tdmi=0x4755df70, tdt=0x36) at /opt/src/tvheadend_beta/src/dvb/dvb_tables.c:112 tda = (th_dvb_adapter_t *) 0x7c668 e = {events = 1, data = {ptr = 0x26c3, fd = 9923, u32 = 9923, u64 = 73014453955}} __PRETTY_FUNCTION__ = "tdt_open_fd" #2 0x00044fec in dvb_table_add_default (tdmi=0x4755df70) at /opt/src/tvheadend_beta/src/dvb/dvb_tables.c:1025 fp = <value optimized out> #3 0x00043a34 in dvb_fe_tune (tdmi=0x4755df70, reason=0x64f54 "Autoscan") at /opt/src/tvheadend_beta/src/dvb/dvb_fe.c:523 tda = (th_dvb_adapter_t *) 0x7c668 dmc = {dmc_fe_params = {frequency = 121000000, inversion = INVERSION_AUTO, u = {qpsk = {symbol_rate = 6900000, fec_inner = FEC_NONE}, qam = {symbol_rate = 6900000, fec_inner = FEC_NONE, modulation = QAM_64}, ofdm = { bandwidth = 6900000, code_rate_HP = FEC_NONE, code_rate_LP = FEC_3_4, constellation = QPSK, transmission_mode = TRANSMISSION_MODE_2K, guard_interval = GUARD_INTERVAL_1_32, hierarchy_information = HIERARCHY_NONE}, vsb = {modulation = 6900000}}}, dmc_polarisation = 0, dmc_satconf = 0x0} buf = "KBW: 121,000 kHz\000\000\000\000\000\000\001\000?\201?\001\000\000\000\000\000\001\000\000?&@\000\000\000\000\220?&@\000\000\000\000\000\000\000\000\232\036?\005/root/.hts/tvheadend/dvbmuxes/_dev_dvb_adapter0_HDHomeRun_DVB_C/_dev_dvb_adapter0_HDHomeRun_DVB_C698000000\000\000\001\000\000\000\022\000\000\000(\000\000\000?X\002@?\230\000\000 \000\000\000???\177????"... r = 0 #4 0x0000b5d4 in main (argc=<value optimized out>, argv=<value optimized out>) at /opt/src/tvheadend_beta/src/main.c:233 c = <value optimized out> forkaway = -1098793972 pidfile = <value optimized out> pidpath = 0x4002 <Address 0x4002 out of bounds> grp = <value optimized out> pw = <value optimized out> usernam = <value optimized out> groupnam = <value optimized out> createdefault = 0 set = {__val = {16386, 0 <repeats 31 times>}} rawts_input = 0x0 join_transport = 0x0 confpath = 0x0 p = <value optimized out> endp = 0x0 ---Type <return> to continue, or q <return> to quit--- adapter_mask = 4294967295 crash = 0 (gdb) What I've done: started XBMC and it imported epg database. I thought I could test some channels during import. The first channel tune was ok, but the second one crashed xbmc and tvheadend, too.
Subtasks
History
Updated by Rene Herbrich about 12 years ago
What I've done: started XBMC and it imported epg database. I thought I could test
some channels during import. The first channel tune was ok, but the second one crashed xbmc and tvheadend, too.
Updated by Adam Sutton about 12 years ago
- Status changed from New to Need feedback
- Assignee set to Adam Sutton
Is this repeatable?
That crash is so worrying for so many reason! But it could be related to recent changes so if it repeatable, maybe try going back a few days in the history and trying an older version (though I guess you might have to play around a bit to get it to compile).
Adam
Updated by Rene Herbrich about 12 years ago
I think so. Yesterday I let it run for a while with idle scan enabled. No xbmc, nothing else. And it crashed again. But I think I do know why: userhdhomerun crashed before and thus tvheadend could not communicate with my TV adapter. (userhdhomerun is some kind of driver for my TV adapter)
The problem is, that this never happened before. I'll try to update the driver, but nevertheless it's a bit strange? Was there a change how the TV adapter is being treated?
Is there a way to catch such crashes, so that tvheadend won't crash, too?
Maybe this has the same reason as the other ticket I opened yesterday...
Updated by Rene Herbrich about 12 years ago
I wanted to write: maybe the reason for the other problem / ticket is the same as this one
Updated by Adam Sutton about 12 years ago
Rene,
The only change is that I stop tuning the adapter now when its not in use, i.e. I shut down some of the use of it and it "might" go into an idle mode depending on the tuner.
Could that have caused the crash?
Note: that will only happen if IDLE scan is disabled.
Not sure that TVH should crash because of this, could you try and repeat with TVH in gdb?
I won't close just yet, in case there is a problem in the way TVH handles the DVB device failing. But if it is caused by an external failure it "might" be out of our hands (kernel level crash etc...).
Updated by Rene Herbrich about 12 years ago
no, idle scan was enabled.
I tried to debug it yesterday, but it did not crash. I suppose, if I often start, stop oder restart tvheadend the driver gets unstable by the time.
Sadly there's no update, so I have to deal with it respectively restart the NAS, if I want to be sure that it runs stable.
But maybe you could let the ticket open for some days? Maybe I'm able to record some further crashes.
Updated by Rene Herbrich about 12 years ago
install table handlers Aug 26 17:15:05 eit: begin processing Aug 26 17:15:05 epg: now/next 9890/0 set on Sky Sel ect Aug 26 17:15:05 epg: arm channel timer @ 1346040000 for Sky Sel ect Aug 26 17:15:05 epg: inform HTSP of now event change on Sky Select Aug 26 17:15:08 eit: processing cancelled
I often get these information in the log output, especially the "processing cancelled". Is this ok?
Updated by Adam Sutton about 12 years ago
They're fine. It means that either something needed the tuner before eit update complete or channel was tuned as part of idle scan which doesn't alot full time slot . But that's all expected behavior.
Updated by Adam Sutton about 12 years ago
Rene,
Any update on this? Do you think this is still a TVH issue or something caused by homerun going very? Have you been able to repeat it?
Adam
Updated by Rene Herbrich about 12 years ago
Well, not really. I've had one crash in the meantime, while playing around with xbmc. I'd say you can close the ticket as I'm not able to constantly reproduce the crashes.
Updated by Adam Sutton about 12 years ago
- Status changed from Need feedback to Invalid
Closing. No updates have been received and as discussed this was probably a rogue incident caused by other problems on the machine.
Adam
Updated by Rene Herbrich about 12 years ago
If someone experiences the same problem and maybe is using a Synology NAS with a HDHomeRun device: make sure you're using the latest source files - especially the kernel sources - when compiling the dvb drivers for the HDHomeRun device. I accidently used an old version. At first everything was fine, but after an update of my NAS I got into troubles: the driver crashed while tvheadend was running and that caused the various crashes of tvheadend.
With the latest sources everything is rock-stable now