Project

General

Profile

Bug #2182

trunk became unstable for the last month (or two)

Added by Krzychu Noski over 10 years ago. Updated over 10 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
Crashes
Target version:
-
Start date:
2014-07-19
Due date:
% Done:

0%

Estimated time:
Found in version:
trunk
Affected Versions:

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

#1

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

#2

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.

#3

Updated by Jaroslav Kysela over 10 years ago

  • Status changed from New to Fixed

I believe, it's fixed in recent tvh.

Also available in: Atom PDF