Bug #1258
Assertion and resulting crash in dvb_fe.c
100%
Description
tvheadend: /root/tvheadend/src/dvb/dvb_fe.c:229: dvb_fe_stop: Assertion `tdmi->tdmi_scan_queue == ((void *)0)' failed.
Sep 26 14:31:03 [ALERT]:CRASH: Signal: 6 in PRG: tvheadend () [014c8d8236c05d79502b9d6bf58bbb5041dcdc1a] CWD: /root/tvheadend
Sep 26 14:31:03 [ALERT]:CRASH: Fault address 0x27e5 (N/A)
Sep 26 14:31:03 [ALERT]:CRASH: Loaded libraries: linux-vdso.so.1 /usr/lib/libssl.so.1.0.0 /usr/lib/libcrypto.so.1.0.0 /usr/lib/libz.so.1 /usr/lib/libavahi-common.so.3 /usr/lib/libavahi-client.so.3 /usr/lib/librt.so.1 /usr/lib/libdl.so.2 /usr/lib/libpthread.so.0 /usr/lib/libc.so.6 /usr/lib/libdbus-1.so.3 /lib/ld-linux-x86-64.so.2
Sep 26 14:31:03 [ALERT]:CRASH: Register dump [23]: fefefefefefefeff ff092d63646b6860 0000000000000008 0000000000000202 000000000046e618 000000000046e80e 0000000000000000 0000000000000000 00000000000027e5 00000000000027e5 00007f71d7a37a90 00007f71d9167000 0000000000000006 0000000000000000 ffffffffffffffff 00007fff01b1ff48 00007f71d7906fa5 0000000000000202 0000000000000033 0000000000000000 0000000000000000 fffffffe7ffbba15 0000000000000000
Sep 26 14:31:03 [ALERT]:CRASH: STACKTRACE
Sep 26 14:31:04 [ALERT]:CRASH: /root/tvheadend/src/trap.c:139 0x425206
Sep 26 14:31:04 [ALERT]:CRASH: ??:0 0x7f71d7c88170
Sep 26 14:31:04 [ALERT]:CRASH: gsignal+0x35 (/usr/lib/libc.so.6)
Sep 26 14:31:04 [ALERT]:CRASH: abort+0x148 (/usr/lib/libc.so.6)
Sep 26 14:31:04 [ALERT]:CRASH: ??:0 0x7f71d7900002
Sep 26 14:31:04 [ALERT]:CRASH: ??:0 0x7f71d79000b2
Sep 26 14:31:04 [ALERT]:CRASH: /root/tvheadend/src/dvb/dvb_fe.c:229 0x443aef
Sep 26 14:31:04 [ALERT]:CRASH: /root/tvheadend/src/dvb/dvb_fe.c:447 0x443bf9
Sep 26 14:31:04 [ALERT]:CRASH: /root/tvheadend/src/main.c:237 0x404af9
Sep 26 14:31:04 [ALERT]:CRASH: __libc_start_main+0xf5 (/usr/lib/libc.so.6)
Sep 26 14:31:04 [ALERT]:CRASH: ??:0 0x404bd1
Adam sucks
History
Updated by Adam Sutton about 12 years ago
Joe,
I need the actual revision (git hash'ish) that crash is against. And ideally a gdb trace as well.
Plus any insight into what you were doing at the time?
Adam
Updated by Joe Holden about 12 years ago
Certainly sir, commit 30a38965208f1cb5255206eec409d90dab19aeda - sometimes at startup, but reliably triggered by enabling/disabling muxes... will get onto the gdb trace!
Updated by Joe Holden about 12 years ago
(gdb) bt
#0 0x00007ffff6799fa5 in raise () from /usr/lib/libc.so.6
#1 0x00007ffff679b428 in abort () from /usr/lib/libc.so.6
#2 0x00007ffff6793002 in __assert_fail_base () from /usr/lib/libc.so.6
#3 0x00007ffff67930b2 in __assert_fail () from /usr/lib/libc.so.6
#4 0x0000000000443aef in dvb_fe_stop (tdmi=<optimized out>, retune=retune@entry=1) at /root/tvheadend/src/dvb/dvb_fe.c:229
#5 0x0000000000443bf9 in dvb_fe_tune (tdmi=0x7664f0, reason=0x46ed51 "Initial autoscan") at /root/tvheadend/src/dvb/dvb_fe.c:447
#6 0x0000000000404af9 in mainloop () at /root/tvheadend/src/main.c:237
#7 main (argc=<optimized out>, argv=<optimized out> at /root/tvheadend/src/main.c:480
Updated by Joe Holden about 12 years ago
Sep 26 14:47:08 [DEBUG]:eit: begin processing
Sep 26 14:47:08 [DEBUG]:eit: invalid transport id found (tid 0x51, tsid 12294 != 4165
Sep 26 14:47:08 [DEBUG]:dvb: "/dev/dvb/adapter2" initial scan completed for "West Midlands: 658,000 kHz"
Sep 26 14:47:08 [DEBUG]:eit: processing cancelled
Sep 26 14:47:08 [DEBUG]:dvb: "/dev/dvb/adapter2" tuning to "West Midlands: 490,000 kHz" (Initial autoscan)
Sep 26 14:47:08 [DEBUG]:eit: install table handlers
Sep 26 14:47:08 [DEBUG]:eit: begin processing
Sep 26 14:47:11 [DEBUG]:dvb: "/dev/dvb/adapter0" initial scan completed for "West Midlands: 634,200 kHz"
Sep 26 14:47:11 [DEBUG]:eit: processing cancelled
Sep 26 14:47:11 [DEBUG]:dvb: "/dev/dvb/adapter0" tuning to "West Midlands: 490,000 kHz" (Autoscan)
Sep 26 14:47:11 [DEBUG]:eit: install table handlers
Sep 26 14:47:12 [DEBUG]:eit: begin processing
Sep 26 14:47:13 [DEBUG]:dvb: "/dev/dvb/adapter2" initial scan completed for "West Midlands: 490,000 kHz"
Sep 26 14:47:13 [DEBUG]:eit: processing cancelled
Sep 26 14:47:13 [DEBUG]:dvb: "/dev/dvb/adapter2" tuning to "West Midlands: 514,000 kHz" (Autoscan)
Sep 26 14:47:13 [DEBUG]:eit: install table handlers
Sep 26 14:47:13 [DEBUG]:eit: begin processing
Sep 26 14:47:15 [DEBUG]:dvb: "/dev/dvb/adapter5" is off
Sep 26 14:47:15 [DEBUG]:dvb: "/dev/dvb/adapter4" is off
Sep 26 14:47:15 [DEBUG]:eit: processing cancelled
Sep 26 14:47:15 [DEBUG]:dvb: "/dev/dvb/adapter1" tuning to "West Midlands: 658,000 kHz" (Autoscan)
Sep 26 14:47:15 [DEBUG]:eit: install table handlers
tvheadend: /root/tvheadend/src/dvb/dvb_fe.c:229: dvb_fe_stop: Assertion `tdmi->tdmi_scan_queue == ((void *)0)' failed.
Updated by Adam Sutton about 12 years ago
- Target version set to 3.2
OK,
think I've found the problem, it relates to disable/enable'ing a mux while its currently in use. I have temporary fix that Joe is testing out and if all goes well I'll push to master.
Adam
Updated by Adam Sutton about 12 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset commit:f26810df6c91e5fc6bc6212c2688ec0d5f195fb0.