Project

General

Profile

Bug #1258

Assertion and resulting crash in dvb_fe.c

Added by Joe Holden about 9 years ago. Updated about 9 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
Category:
DVB
Target version:
Start date:
2012-09-26
Due date:
% Done:

100%

Estimated time:
Found in version:
Since about the 21st
Affected Versions:

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 :)

Associated revisions

Revision f26810df (diff)
Added by Adam Sutton about 9 years ago

Ensure that disabled muxes are immediately detuned. Fixes #1258.

Revision 329c7566 (diff)
Added by Adam Sutton about 9 years ago

Ensure that disabled muxes are immediately detuned. Fixes #1258.

History

#1

Updated by Adam Sutton about 9 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

#2

Updated by Joe Holden about 9 years ago

Certainly sir, commit 30a38965208f1cb5255206eec409d90dab19aeda - sometimes at startup, but reliably triggered by enabling/disabling muxes... will get onto the gdb trace!

#3

Updated by Joe Holden about 9 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>, [email protected]=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

#4

Updated by Joe Holden about 9 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.

#5

Updated by Adam Sutton about 9 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

#6

Updated by Adam Sutton about 9 years ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

Also available in: Atom PDF