Bug #5415
CRASH 4.3-1642, Random on playback request
100%
Description
I Reported a crash last night https://tvheadend.org/issues/5413 which was a 100% chance of crash which was marked as resolved.
This time its a random crash on playback request (not sure if related to previous bug)
2018-12-10 20:26:32.357 [ ALERT] CRASH: Signal: 6 in PRG: tvheadend (4.3-1642~g5dbd828) [f700de7e32fb436c2066ae15c7b8706676e73c2c] CWD: /home/hts
2018-12-10 20:26:32.357 [ ALERT] CRASH: Fault address 0x6f00003bc9 (N/A)
2018-12-10 20:26:32.357 [ ALERT] CRASH: Loaded libraries: /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1 /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/libpcre2-8.so.0 /usr/lib/x86_64-linux-gnu/liburiparser.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/libdbus-1.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 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libsystemd.so.0 /lib64/ld-linux-x86-64.so.2 /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/x86_64-linux-gnu/libselinux.so.1 /lib/x86_64-linux-gnu/liblzma.so.5 /lib/x86_64-linux-gnu/libgcrypt.so.20 /lib/x86_64-linux-gnu/libpcre.so.3 /lib/x86_64-linux-gnu/libgpg-error.so.0
2018-12-10 20:26:32.357 [ ALERT] CRASH: Register dump [23]: 00007f68480029f0ffffff00000000000000000000000008000000000000020600000000000001f8000055c29828fbf8000000000000210c00007f68580018000000000000003bc90000000000003bd3000055c29828fae400007f68826720000000000000000006000000000000000000007f687fe3442800007f687d53d1e800007f687fe344280000000000000206000000000000003300000000000000000000000000000000fffffffe7ffbba130000000000000000
2018-12-10 20:26:32.357 [ ALERT] CRASH: STACKTRACE
2018-12-10 20:26:32.657 [ ALERT] CRASH: /project/repo/checkout/src/trap.c:176 0x55c2973812ad 0x55c29716d000
2018-12-10 20:26:32.963 [ ALERT] CRASH: ??:0 0x7f6880a6d390 0x7f6880a5c000
2018-12-10 20:26:32.963 [ ALERT] CRASH: gsignal+0x38 (/lib/x86_64-linux-gnu/libc.so.6)
2018-12-10 20:26:32.963 [ ALERT] CRASH: abort+0x16a (/lib/x86_64-linux-gnu/libc.so.6)
2018-12-10 20:26:33.256 [ ALERT] CRASH: ??:0 0x7f687fe2cbd7 0x7f687fdff000
2018-12-10 20:26:33.500 [ ALERT] CRASH: ??:0 0x7f687fe2cc82 0x7f687fdff000
2018-12-10 20:26:33.723 [ ALERT] CRASH: /project/repo/checkout/src/utils.c:504 (discriminator 1) 0x55c29733fd7d 0x55c29716d000
2018-12-10 20:26:33.949 [ ALERT] CRASH: /project/repo/checkout/src/input/mpegts/mpegts_input.c:1297 0x55c297405c6b 0x55c29716d000
2018-12-10 20:26:34.178 [ ALERT] CRASH: /project/repo/checkout/src/input/mpegts/iptv/iptv.c:625 0x55c2974518d4 0x55c29716d000
2018-12-10 20:26:34.405 [ ALERT] CRASH: /project/repo/checkout/src/input/mpegts/iptv/iptv_http.c:342 0x55c297454613 0x55c29716d000
2018-12-10 20:26:34.633 [ ALERT] CRASH: /project/repo/checkout/src/httpc.c:784 0x55c29739369d 0x55c29716d000
2018-12-10 20:26:34.862 [ ALERT] CRASH: /project/repo/checkout/src/httpc.c:919 0x55c2973938da 0x55c29716d000
2018-12-10 20:26:35.087 [ ALERT] CRASH: /project/repo/checkout/src/httpc.c:1133 0x55c297395f1f 0x55c29716d000
2018-12-10 20:26:35.312 [ ALERT] CRASH: /project/repo/checkout/src/httpc.c:1195 0x55c297396488 0x55c29716d000
2018-12-10 20:26:35.538 [ ALERT] CRASH: /project/repo/checkout/src/httpc.c:1453 0x55c297396641 0x55c29716d000
2018-12-10 20:26:35.763 [ ALERT] CRASH: /project/repo/checkout/src/tvh_thread.c:91 0x55c297341565 0x55c29716d000
GDB output
#0 0x00007f687fe34428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
resultvar = 0
pid = 15305
selftid = 15315
#1 0x00007f687fe36187 in __GI_abort () at abort.c:118
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f687fe2cbd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x55c29828fae4 "off <= sb->sb_ptr", file=file@entry=0x55c29828fad8 "src/utils.c", line=line@entry=504, function=function@entry=0x55c29828fbf8 <__PRETTY_FUNCTION__.7853> "sbuf_cut") at assert.c:92
str = 0x7f68480029f0 ""
total = 4096
#3 0x00007f687fe2cc82 in __GI___assert_fail (assertion=assertion@entry=0x55c29828fae4 "off <= sb->sb_ptr", file=file@entry=0x55c29828fad8 "src/utils.c", line=line@entry=504, function=function@entry=0x55c29828fbf8 <__PRETTY_FUNCTION__.7853> "sbuf_cut") at assert.c:101
No locals.
#4 0x000055c29733fd7d in sbuf_cut (sb=sb@entry=0x55c29a2b1628, off=off@entry=8460) at src/utils.c:504
__PRETTY_FUNCTION__ = "sbuf_cut"
#5 0x000055c297405c6b in mpegts_input_recv_packets (mmi=mmi@entry=0x7f6858001800, sb=sb@entry=0x55c29a2b1628, flags=<optimized out>, pcr=pcr@entry=0x7f687d53d440) at src/input/mpegts/mpegts_input.c:1297
mi = <optimized out>
len = <optimized out>
len2 = <optimized out>
off = <optimized out>
mp = <optimized out>
tsb = <optimized out>
#6 0x000055c2974518d4 in iptv_input_recv_packets (im=im@entry=0x55c29a2b11b0, len=len@entry=8612) at src/input/mpegts/iptv/iptv.c:625
in = 0x55c29a09a190
mmi = 0x7f6858001800
pcr = {pcr_first = -9223372036854775808, pcr_last = -9223372036854775808, pcr_pid = 0}
buf = "q#\000\000\001\000\000\000\000\000\002\000\000\000\000\000n\004\000\000\000\000\000\000\215\000\000\000\000\000\000\000\311\004\000\000\373\000\000\000\021\000\000\000\000\000\000\000\002", '\000' <repeats 11 times>, "~", '\000' <repeats 11 times>, "\002\000\000\000\060", '\000' <repeats 11 times>, " \000\000Hh\177\000\000\024\000\000\000\000\000\000\000\220\330\000Xh\177\000\000 \000\000Xh\177\000\000\000\000\000\000\000\000\000\000`\334\b\000\000\000\000\000\220\204\vXh\177\000\000\360\264\001Xh\177\000\000P#\350\177h\177\000\000`\334\000\000\000\000\000\000\020\325S}h\177", '\000' <repeats 14 times>, "h\177\000\000\320\326S}h\177\000\000\000"...
#7 0x000055c297454613 in iptv_http_data (hc=0x7f6858001f40, buf=<optimized out>, len=8612) at src/input/mpegts/iptv/iptv_http.c:342
hp = 0x7f6858001d40
im = 0x55c29a2b11b0
pause = 0
off = <optimized out>
rem = <optimized out>
tsbuf = "uc\000\000\000\000\000\000@\037\000Xh\177\000\000a)\254\202\227\200\377\377\237\326S}h\177\000\000\023\001\000\000\001\000\000\000M\004\000\000C\001\000\000\"\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\327S}h\177\000\000\000\000\000\000|\000\000\000\005\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\001)\254\202\227\200\377\377\377\326S}h\177\000\000\000\000\000\000\000\000\000\000\002\000\000\000\060", '\000' <repeats 19 times>, "[\000\000\000n", '\000' <repeats 13 times>, "\n\000\000\r\000\000\000\000\000"
__PRETTY_FUNCTION__ = "iptv_http_data"
#8 0x000055c29739369d in http_client_data_copy (hc=0x7f6858001f40, buf=0x7f6848007ac4 "G@\021\020", len=8612) at src/httpc.c:784
res = <optimized out>
#9 0x000055c2973938da in http_client_data_received (hc=hc@entry=0x7f6858001f40, buf=0x7f6848007ac4 "G@\021\020", len=8612, hdr=hdr@entry=1) at src/httpc.c:919
l = 8612
l2 = <optimized out>
csize = <optimized out>
res = <optimized out>
end = 0
#10 0x000055c297395f1f in http_client_run0 (hc=hc@entry=0x7f6858001f40) at src/httpc.c:1133
buf = 0x7f687d53d7f0 "HTTP/1.1 200 OK\r\nServer: nginx\r\nDate: Tue, 11 Dec 2018 04:26:11 GMT\r\nContent-Type: video/mp2t\r\nConnection: close\r\nAccess-Control-Allow-Origin: *\r\n\r\nG@\021\020"
saveptr = 0x7f6848007ac0 ""
argv = {0x7f6848007a30 "HTTP/1.1", 0x7f6848007a39 "200", 0x7f6848007a3d "OK"}
d = <optimized out>
p = <optimized out>
ver = 1
res = <optimized out>
delimsize = <optimized out>
r = <optimized out>
len = <optimized out>
#11 0x000055c297396488 in http_client_run (hc=hc@entry=0x7f6858001f40) at src/httpc.c:1195
r = <optimized out>
#12 0x000055c297396641 in http_client_thread (p=<optimized out>) at src/httpc.c:1453
n = <optimized out>
ev = {fd = -1, events = 1, ptr = 0x7f6858001f40}
hc = <optimized out>
c = 0 '\000'
#13 0x000055c297341565 in thread_wrapper (p=0x55c29a09a740) at src/tvh_thread.c:91
set = {__val = {16388, 0 <repeats 15 times>}}
r = <optimized out>
#14 0x00007f6880a636ba in start_thread (arg=0x7f687d55e700) at pthread_create.c:333
__res = <optimized out>
pd = 0x7f687d55e700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140086756108032, 7013784661553240502, 0, 140731881166239, 140086756108736, 5, -6952135784581899850, -6952160683105658442}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"
#15 0x00007f687ff0641d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.
History
Updated by Vik Toras almost 6 years ago
kodiaq kodiaq wrote:
Does it also crash with 4.3-1645~g401821c ?
I upgraded to 4.3-1645~g401821c and within 1-2 minutes of changing channels it crashed.
Dec 11 00:07:37 ubuntu tvheadend[19544]: CRASH: Signal: 6 in PRG: /usr/bin/tvheadend (4.3-1645~g401821cf1~bionic) [d5c928187b9b423d6af73ad14a3e98562daf7def] CWD: /
Dec 11 00:07:37 ubuntu tvheadend[19544]: CRASH: Fault address 0x6f00004c58 (N/A)
Dec 11 00:07:37 ubuntu tvheadend[19544]: CRASH: Loaded libraries: linux-vdso.so.1 /usr/lib/x86_64-linux-gnu/libhdhomerun.so.4 /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1 /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0 /usr/lib/x86_64-linux-gnu/liburiparser.so.1 /usr/lib/x86_64-linux-gnu/libavahi-common.so.3 /usr/lib/x86_64-linux-gnu/libavahi-client.so.3 /usr/lib/x86_64-linux-gnu/libavfilter.so.6 /usr/lib/x86_64-linux-gnu/libavformat.so.57 /usr/lib/x86_64-linux-gnu/libavcodec.so.57 /usr/lib/x86_64-linux-gnu/libavutil.so.55 /usr/lib/x86_64-linux-gnu/libva.so.2 /lib/x86_64-linux-gnu/libdbus-1.so.3
/lib/x86_64-linux-gnu/libsystemd.so.0 /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 /usr/lib/x86_64-linux-gnu/libavresample.so.3 /usr/lib/x86_64-linux-gnu/libswscale.so.4 /usr/lib/x86_64-linux-gnu/libpostproc.so.54 /usr/lib/x86_64-lin
Dec 11 00:07:37 ubuntu tvheadend[19544]: CRASH: Register dump [23]: 000000000000000000007fb86acb0a000000000000000008000000000000024600005643c1cbbd6800005643c1cbbd7400000000000001f800007fb82000d4a0000000000000000200007fb86acb0a0000007fb882a7e7d800000000000000000000000000000000000000000000000000007fb882905e9700007fb86acb0a0000007fb882905e970000000000000246002b00000000003300000000000000000000000000000000fffffffe7ffbba130000000000000000
Dec 11 00:07:37 ubuntu tvheadend[19544]: CRASH: STACKTRACE
Dec 11 00:07:37 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/trap.c:176 0x5643c1bb526d 0x5643c1a11000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: ??:0 0x7fb883270890 0x7fb88325e000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: gsignal+0xc7 (/lib/x86_64-linux-gnu/libc.so.6)
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: abort+0x141 (/lib/x86_64-linux-gnu/libc.so.6)
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: ??:0 0x7fb8828f739a 0x7fb8828c7000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: ??:0 0x7fb8828f7412 0x7fb8828c7000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/utils.c:504 (discriminator 1) 0x5643c1b74060 0x5643c1a11000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/input/mpegts/mpegts_input.c:1297 0x5643c1c3a00b 0x5643c1a11000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/input/mpegts/iptv/iptv.c:625 0x5643c1c86724 0x5643c1a11000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/input/mpegts/iptv/iptv_http.c:342 0x5643c1c8940b 0x5643c1a11000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/httpc.c:784 0x5643c1bc77ed 0x5643c1a11000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/httpc.c:919 0x5643c1bc795e 0x5643c1a11000
Dec 11 00:07:38 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/httpc.c:1133 0x5643c1bca0cd 0x5643c1a11000
Dec 11 00:07:39 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/httpc.c:1195 0x5643c1bca6da 0x5643c1a11000
Dec 11 00:07:39 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/httpc.c:1453 0x5643c1bca832 0x5643c1a11000
Dec 11 00:07:39 ubuntu tvheadend[19544]: CRASH: /build/tvheadend-2AZ02d/tvheadend-4.3/src/tvh_thread.c:91 0x5643c1b75858 0x5643c1a11000
Updated by Jaroslav Kysela almost 6 years ago
Could you print 'sb' structure from frame 4 ('print *sb' in gdb)?
Updated by Jaroslav Kysela almost 6 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset commit:tvheadend|7ce391fc7f9a8643cce7e83cd495ca872e752e93.
Updated by Jaroslav Kysela almost 6 years ago
I think that I found it. Please, retest with latest.
Updated by Vik Toras almost 6 years ago
Jaroslav Kysela wrote:
I think that I found it. Please, retest with latest.
I will retests when i spot it in one of the repos (right now i only see 1645 and 1642).
can you also elaborate on how to "print 'sb' structure from frame 4". I am linux noobie.
Updated by Jaroslav Kysela almost 6 years ago
I think that the problem is fixed so I don't need the further feedback if everything is fine. In gdb, you can select the stack frame with 'frame <number>' and print the contents of a local variable using the print command like 'print *sb' (the * means the contents of the structured behing the pointer, without this, just the pointer - memory address is printed).