Bug #2182
trunk became unstable for the last month (or two)
0%
Description
It can work an hour to two, three days before segfaulting. xbmc as client, ubuntu 12.04 with:
Linux sm 3.2.0-65-generic #98-Ubuntu SMP Wed Jun 11 20:27:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Cheers
stack trace:
2014-07-19 01:39:09.737 [ DEBUG] pat: tsid 0001 (1)
2014-07-19 01:39:09.737 [ DEBUG] pat: nit on pid 0010 (16)
2014-07-19 01:39:09.737 [ DEBUG] pat: sid 07D1 (2001) on pid 0043 (67)
2014-07-19 01:39:09.896 [ DEBUG] pat: completed pid 0 table 00000000 / 00000000
2014-07-19 01:39:10.693 [ DEBUG] eit: completed pid 18 table 00000000 / 00000000
2014-07-19 01:39:12.000 [ DEBUG] service: 11432V/AXN SPIN HD: Status changed to [Graceperiod expired]
2014-07-19 01:39:12.000 [ INFO] mpegts: 11432V in main - scan no data, failed
2014-07-19 01:39:12.000 [ DEBUG] mpegts: 11623V in main - no free tuner available
2014-07-19 01:39:13.917 [ DEBUG] eit: completed pid 18 table 00000000 / 00000000
2014-07-19 01:39:13.917 [ DEBUG] eit: grab complete
2014-07-19 01:39:13.917 [ DEBUG] settings: saving to /userdir/knienart/.hts/tvheadend/epggrab/otamux/2678e279a0ba23db9aae17b75b80f2b7
Program received signal SIGSEGV, Segmentation fault.
0x0000000000465ee2 in mpegts_mux_close_table (mm=0xb61bf0, mt=0x7fffbc00d080) at src/input/mpegts/mpegts_mux.c:761
761 LIST_REMOVE(mt, mt_link);
(gdb) bt
#0 0x0000000000465ee2 in mpegts_mux_close_table (mm=0xb61bf0, mt=0x7fffbc00d080) at src/input/mpegts/mpegts_mux.c:761
#1 0x0000000000469a8e in mpegts_table_destroy (mt=0x7fffbc00d080) at src/input/mpegts/mpegts_table.c:119
#2 0x0000000000461615 in descrambler_flush_tables (mux=0xb61bf0) at src/descrambler/descrambler.c:542
#3 0x000000000046a29a in mpegts_table_flush_all (mm=0xb61bf0) at src/input/mpegts/mpegts_table.c:209
#4 0x0000000000466c10 in mpegts_mux_stop (mm=0xb61bf0, force=<optimized out> at src/input/mpegts/mpegts_mux.c:671
#5 0x0000000000469141 in mpegts_service_stop (t=<optimized out> at src/input/mpegts/mpegts_service.c:259
#6 0x0000000000421613 in service_stop (t=0xdc69d0) at src/service.c:272
#7 0x000000000041fee8 in subscription_reschedule () at src/subscriptions.c:232
#8 0x000000000040707e in mainloop () at src/main.c:410
#9 main (argc=<optimized out>, argv=<optimized out> at src/main.c:853
full stack trace:
#0 0x0000000000465ee2 in mpegts_mux_close_table (mm=0xb61bf0, mt=0x7fffbc00d080) at src/input/mpegts/mpegts_mux.c:761
mi = <optimized out>
type = 4
#1 0x0000000000469a8e in mpegts_table_destroy (mt=0x7fffbc00d080) at src/input/mpegts/mpegts_table.c:119
st = <optimized out>
#2 0x0000000000461615 in descrambler_flush_tables (mux=0xb61bf0) at src/descrambler/descrambler.c:542
dt = 0x7fffbc000980
ds = 0x0
emm = <optimized out>
#3 0x000000000046a29a in mpegts_table_flush_all (mm=0xb61bf0) at src/input/mpegts/mpegts_table.c:209
mt = <optimized out>
#4 0x0000000000466c10 in mpegts_mux_stop (mm=0xb61bf0, force=<optimized out> at src/input/mpegts/mpegts_mux.c:671
buf = "11432V in main", '\000' <repeats 241 times>
mmi = 0x7fffbc041c50
mi = 0x7285e0
sub = <optimized out>
mp = <optimized out>
mps = <optimized out>
#5 0x0000000000469141 in mpegts_service_stop (t=<optimized out> at src/input/mpegts/mpegts_service.c:259
s = 0xdc69d0
i = 0x7285e0
#6 0x0000000000421613 in service_stop (t=0xdc69d0) at src/service.c:272
st = <optimized out>
#7 0x000000000041fee8 in subscription_reschedule () at src/subscriptions.c:232
reenter = 1
s = 0x7fffbc041a70
t = 0xdc69d0
si = <optimized out>
sm = <optimized out>
error = 0
PRETTY_FUNCTION = "subscription_reschedule"
#8 0x000000000040707e in mainloop () at src/main.c:410
gti = <optimized out>
cb = <optimized out>
ts = {tv_sec = 1405726754, tv_nsec = 1336410}
#9 main (argc=<optimized out>, argv=<optimized out> at src/main.c:853
i = <optimized out>
set = {__val = {16386, 0 <repeats 15 times>}}
adapter_mask = <optimized out>
log_level = <optimized out>
log_options = <optimized out>
log_debug = <optimized out>
log_trace = <optimized out>
buf = "/userdir/knienart/dvb/tvheadend.git/tvheadend.trunk\000\000\000\000\000\260\201\375\367\377\177\000\000.N=\366\000\000\000\000\236B\336\367\377\177\000\000\340\344\377\377\377\177\000\000.\000\000\000\000\000\000\000@\345\377\377\377\177\000\000\377\377\377\377\000\000\000\000\264\272H\366\377\177\000\000\250\274H\366\377\177\000\000\020\345\377\377\377\177\000\000x\205\375\367\377\177\000\000@~I\366\377\177", '\000' <repeats 18 times>, "H\202\375\367\377\177\000\000\340\224\375\367\377\177\000\000:*\000\000\000\000\000\370\211I\366\377\177\000\000\320\a
\000\000\000\000\000\000\000\000\000\001\000\000\000\021\b\000\000\001", '\000' <repeats 11 times>, " \346\377\367\377\177\000\000\200\345\377\377\377\177\000\000.N=\366\000\000\000\000H\202\375\367\377\177\000\000\240\345\377\377\377\177\000\000\310\342\377\367\377\177\000\000#E\336\367\377\177\000\000\000\000\000\000\000\000\000\000"...
opt_help = 0
opt_version = 0
opt_fork = 0
opt_firstrun = 0
opt_stderr = 1
opt_syslog = 0
opt_uidebug = 0
opt_abort = 0
opt_noacl = 0
opt_fileline = 0
opt_threadid = 0
opt_ipv6 = 0
opt_tsfile_tuner = 0
opt_dump = 0
opt_xspf = 0
opt_config = 0x7fffffffe8cd "/userdir/knienart/.hts/tvheadend"
opt_user = 0x7fffffffe8be "knienart"
opt_group = 0x0
opt_logpath = 0x0
opt_log_debug = 0x0
opt_log_trace = 0x0
opt_pidpath = 0x4a1529 "/var/run/tvheadend.pid"
opt_dvb_adapters = 0x0
opt_bindaddr = 0x0
opt_subscribe = 0x0
opt_user_agent = 0x0
opt_satip_xml = {max = 10, num = 0, str = 0x6f8010}
opt_tsfile = {max = 10, num = 0, str = 0x6f8070}
cmdline_opts = {{sopt = 0 '\000', lopt = 0x0, desc = 0x4a1540 "Generic Options", type = OPT_BOOL, param = 0x0}, {sopt = 104 'h', lopt = 0x4a1550 "help", desc = 0x4a1555 "Show this page", type = OPT_BOOL,
param = 0x7fffffffe2e4}, {sopt = 118 'v', lopt = 0x4b04b8 "version", desc = 0x4a1564 "Show version infomation", type = OPT_BOOL, param = 0x7fffffffe2e8}, {sopt = 0 '\000', lopt = 0x0,
desc = 0x4a157c "Service Configuration", type = OPT_BOOL, param = 0x0}, {sopt = 99 'c', lopt = 0x4a49b8 "config", desc = 0x4a1592 "Alternate config path", type = OPT_STR, param = 0x7fffffffe280}, {sopt = 102 'f',
lopt = 0x4a15a8 "fork", desc = 0x4a15ad "Fork and run as daemon", type = OPT_BOOL, param = 0x7fffffffe2ec}, {sopt = 117 'u', lopt = 0x4a15cb "user", desc = 0x4a15c4 "Run as user", type = OPT_STR, param = 0x7fffffffe288}, {
sopt = 103 'g', lopt = 0x4a15d7 "group", desc = 0x4a15d0 "Run as group", type = OPT_STR, param = 0x7fffffffe290}, {sopt = 112 'p', lopt = 0x4a153c "pid", desc = 0x4a15dd "Alternate pid path", type = OPT_STR,
param = 0x7fffffffe2b0}, {sopt = 67 'C', lopt = 0x4a15f0 "firstrun",
desc = 0x4a1b88 "If no user account exists then create one with\nno username and no password. Use with care as\nit will allow world-wide administrative access\nto your Tvheadend installation until you edit\nthe access-con"..., type = OPT_BOOL, param = 0x7fffffffe2f0}, {sopt = 97 'a', lopt = 0x4a15f9 "adapters", desc = 0x4a1c78 "Only use specified DVB adapters (comma separated)", type = OPT_STR, param = 0x7fffffffe2b8}, {sopt = 0 '\000',
lopt = 0x4a1602 "satip_xml", desc = 0x4a1cb0 "URL with the SAT>IP server XML location", type = OPT_STR_LIST, param = 0x7fffffffe260}, {sopt = 0 '\000', lopt = 0x0, desc = 0x4a160c "Server Connectivity", type = OPT_BOOL,
param = 0x0}, {sopt = 54 '6', lopt = 0x4a1620 "ipv6", desc = 0x4a1625 "Listen on IPv6", type = OPT_BOOL, param = 0x7fffffffe310}, {sopt = 98 'b', lopt = 0x4a1634 "bindaddr", desc = 0x4a163d "Specify bind address",
type = OPT_STR, param = 0x7fffffffe2c0}, {sopt = 0 '\000', lopt = 0x4a1652 "http_port", desc = 0x4a165c "Specify alternative http port", type = OPT_INT, param = 0x6f499c}, {sopt = 0 '\000', lopt = 0x4a167a "http_root",
desc = 0x4a1cd8 "Specify alternative http webroot", type = OPT_STR, param = 0x6f4988}, {sopt = 0 '\000', lopt = 0x4a1684 "htsp_port", desc = 0x4a168e "Specify alternative htsp port", type = OPT_INT, param = 0x6f4998}, {
sopt = 0 '\000', lopt = 0x4a16ac "htsp_port2", desc = 0x4a16b7 "Specify extra htsp port", type = OPT_INT, param = 0x6f49a0}, {sopt = 0 '\000', lopt = 0x4a16cf "useragent",
desc = 0x4a1d00 "Specify User-Agent header for the http client", type = OPT_STR, param = 0x7fffffffe2d0}, {sopt = 0 '\000', lopt = 0x4a16d9 "xspf", desc = 0x4a16de "Use xspf playlist instead M3U", type = OPT_BOOL,
param = 0x7fffffffe31c}, {sopt = 0 '\000', lopt = 0x0, desc = 0x4a16fc "Debug Options", type = OPT_BOOL, param = 0x0}, {sopt = 100 'd', lopt = 0x4a171a "stderr", desc = 0x4a170a "Enable debug on stderr", type = OPT_BOOL,
param = 0x7fffffffe2f4}, {sopt = 115 's', lopt = 0x4a1731 "syslog", desc = 0x4a1721 "Enable debug to syslog", type = OPT_BOOL, param = 0x7fffffffe2f8}, {sopt = 108 'l', lopt = 0x4a1738 "logfile",
desc = 0x4a1740 "Enable debug to file", type = OPT_STR, param = 0x7fffffffe298}, {sopt = 0 '\000', lopt = 0x4a17ac "debug", desc = 0x4a1755 "Enable debug subsystems", type = OPT_STR, param = 0x7fffffffe2a0}, {
sopt = 0 '\000', lopt = 0x4b3227 "trace", desc = 0x4a176d "Enable trace subsystems", type = OPT_STR, param = 0x7fffffffe2a8}, {sopt = 0 '\000', lopt = 0x4a1785 "fileline",
desc = 0x4a1d30 "Add file and line numbers to debug", type = OPT_BOOL, param = 0x7fffffffe308}, {sopt = 0 '\000', lopt = 0x4a178e "threadid", desc = 0x4a1797 "Add the thread ID to debug", type = OPT_BOOL,
param = 0x7fffffffe30c}, {sopt = 0 '\000', lopt = 0x4a17b2 "uidebug", desc = 0x4a1d58 "Enable webUI debug (non-minified JS)", type = OPT_BOOL, param = 0x7fffffffe2fc}, {sopt = 65 'A', lopt = 0x4a17c6 "abort",
desc = 0x4a17ba "Immediately abort", type = OPT_BOOL, param = 0x7fffffffe300}, {sopt = 68 'D', lopt = 0x4a17cc "dump", desc = 0x4a17d1 "Enable coredumps for daemon", type = OPT_BOOL, param = 0x7fffffffe318}, {
sopt = 0 '\000', lopt = 0x4a17ed "noacl", desc = 0x4a1d80 "Disable all access control checks", type = OPT_BOOL, param = 0x7fffffffe304}, {sopt = 106 'j', lopt = 0x4a17f3 "join",
desc = 0x4a1da8 "Subscribe to a service permanently", type = OPT_STR, param = 0x7fffffffe2c8}, {sopt = 0 '\000', lopt = 0x0, desc = 0x4a17f8 "TODO: testing", type = OPT_BOOL, param = 0x0}, {sopt = 0 '\000',
lopt = 0x4a1806 "tsfile_tuners", desc = 0x4a1814 "Number of tsfile tuners", type = OPT_INT, param = 0x7fffffffe314}, {sopt = 0 '\000', lopt = 0x4a182c "tsfile", desc = 0x4a1833 "tsfile input (mux file)",
type = OPT_STR_LIST, param = 0x7fffffffe270}}
History
Updated by Krzychu Noski over 10 years ago
Debug output while crashing:
2014-07-19 21:47:01.033 [ ALERT] CRASH: Signal: 11 in PRG: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/build.linux/tvheadend (3.9.1083~g05d6da3) [321af5b84cacb7ce07e62e7c399715f71bd77f47] CWD: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk
2014-07-19 21:47:01.033 [ ALERT] CRASH: Fault address (nil) (Address not mapped)
2014-07-19 21:47:01.034 [ ALERT] CRASH: Loaded libraries: /lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/x86_64-linux-gnu/libavahi-common.so.3 /usr/lib/x86_64-linux-gnu/libavahi-client.so.3 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libpthread.so.0 /lib/x86_64-linux-gnu/libm.so.6 /lib/x86_64-linux-gnu/librt.so.1 /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libdbus-1.so.3 /lib64/ld-linux-x86-64.so.2
2014-07-19 21:47:01.034 [ ALERT] CRASH: Register dump [23]: 0000000000b61dd000000000000077ed000000000000000d00000000000000d000000000000000000000000000b61dd0000000000000000400007fffffffdc80000000000000000100000000000000000000000000b61cb000007fffb800ec600000000000000000000000000000000000007fffb800003800007fffffffd8a00000000000465ee2000000000001024600000000000000330000000000000006000000000000000efffffffe7ffbba050000000000000000
2014-07-19 21:47:01.034 [ ALERT] CRASH: STACKTRACE
2014-07-19 21:47:01.236 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/trap.c:148 0x42f4cc
2014-07-19 21:47:01.256 [ ALERT] CRASH: ??:0 0x7ffff6d5bcb0
2014-07-19 21:47:01.314 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/input/mpegts/mpegts_mux.c:761 0x465ee2
2014-07-19 21:47:01.367 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/input/mpegts/mpegts_table.c:119 0x469a8e
2014-07-19 21:47:01.397 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/descrambler/descrambler.c:542 0x461615
2014-07-19 21:47:01.415 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/input/mpegts/mpegts_table.c:209 0x46a29a
2014-07-19 21:47:01.434 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/input/mpegts/mpegts_mux.c:671 0x466c10
2014-07-19 21:47:01.454 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/input/mpegts/mpegts_service.c:259 0x469141
2014-07-19 21:47:01.473 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/service.c:272 0x421613
2014-07-19 21:47:01.492 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/subscriptions.c:232 0x41fee8
2014-07-19 21:47:01.512 [ ALERT] CRASH: /userdir/knienart/dvb/tvheadend.git/tvheadend.trunk/src/main.c:410 0x40707e
2014-07-19 21:47:01.512 [ ALERT] CRASH: __libc_start_main+0xed (/lib/x86_64-linux-gnu/libc.so.6)
Program received signal SIGSEGV, Segmentation fault.
0x0000000000465ee2 in mpegts_mux_close_table (mm=0xb61cb0, mt=0x7fffb800ec60) at src/input/mpegts/mpegts_mux.c:761
761 LIST_REMOVE(mt, mt_link);
Updated by Krzychu Noski over 10 years ago
This bug is well repeatable, occurs always at the same place, right after start when xbmc client tries to reconnect.
Updated by Jaroslav Kysela over 10 years ago
- Status changed from New to Fixed
I believe, it's fixed in recent tvh.