Actions
Bug #3503
closedTVH as Sat>IP server is crashing with a segfault after switching channels
Bug #3503:
TVH as Sat>IP server is crashing with a segfault after switching channels
Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
SAT>IP
Target version:
-
Start date:
2016-01-18
Due date:
% Done:
100%
Estimated time:
Found in version:
4.1-1363~ga46818c
Affected Versions:
Description
Hi,
TVH as Sat>IP server is crashing after a short time when switching channels with:
Jan 18 11:05:50 satip-server-71 tvheadend[23032]: linuxdvb: STV090x Multistandard : DVB-S #2 - read() EOVERFLOW Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: Signal: 11 in PRG: tvheadend (4.1-1363~ga46818c) [36639f5339f6639cf8d1d1194f6b954716742436] CWD: / Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: Fault address 0x10 (Address not mapped) Jan 18 11:05:51 satip-server-71 tvheadend[23032]: 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/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 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2 /lib/x86_64-linux-gnu/libnss_compat.so.2 /lib/x86_64-linux-gnu/libnsl.so.1 /lib/x86_64-linux-gnu/libnss_nis.so.2 /lib/x86_64-linux-gnu/libnss_files.so.2 Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: Register dump [23]: 00007f852c002a38ffffffffe4000429ffffffffe40004190000000000000011000000000000000100007f853c0087a500000000000000bc00007f853c0087a50000000000000000000000000000004000007f852c002a3800007f852c0028600000000000000000000000000000001100007f855800844000007f858dffa82000000000004d2548000000000001020600000000000000330000000000000004000000000000000efffffffe7ffbba130000000000000010 Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: STACKTRACE Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: /build/tvheadend/src/trap.c:148 0x46ca09 Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: ??:0 0x7f859da49340 Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: /build/tvheadend/src/input/mpegts/tsdemux.c:303 0x4d2548 Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: /build/tvheadend/src/input/mpegts/mpegts_input.c:1291 0x4d0117 Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: /build/tvheadend/src/wrappers.c:177 0x43b77e Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: ??:0 0x7f859da41182 Jan 18 11:05:51 satip-server-71 tvheadend[23032]: CRASH: clone+0x6d (/lib/x86_64-linux-gnu/libc.so.6)
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7f858dffb700 (LWP 23085)] ts_recv_raw (t=0x7f852c002860, tsb=tsb@entry=0x7f853c0087a5 "G@\021\025", len=len@entry=188) at src/input/mpegts/tsdemux.c:304 304 src/input/mpegts/tsdemux.c: Datei oder Verzeichnis nicht gefunden. (gdb) info reg rax 0x11 17 rbx 0x7f852c002860 140209945585760 rcx 0x7f8558008440 140210683806784 rdx 0x0 0 rsi 0x40 64 rdi 0x0 0 rbp 0x7f852c002a38 0x7f852c002a38 rsp 0x7f858dffa820 0x7f858dffa820 r8 0x7f852c002a38 140209945586232 r9 0xffffffffe4000429 -469760983 r10 0xffffffffe4000419 -469760999 r11 0x11 17 r12 0x1 1 r13 0x7f853c0087a5 140210214045605 r14 0xbc 188 r15 0x7f853c0087a5 140210214045605 rip 0x4d2548 0x4d2548 <ts_recv_raw+88> eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0
(gdb) disassemble $pc-32,$pc+32 Dump of assembler code from 0x4d2528 to 0x4d2568: 0x00000000004d2528 <ts_recv_raw+56>: cmpl $0x0,0x348(%rbx) 0x00000000004d252f <ts_recv_raw+63>: je 0x4d2572 <ts_recv_raw+130> 0x00000000004d2531 <ts_recv_raw+65>: mov 0x360(%rbx),%rdi 0x00000000004d2538 <ts_recv_raw+72>: movzbl 0x1(%r13),%esi 0x00000000004d253d <ts_recv_raw+77>: mov $0x1,%r12d 0x00000000004d2543 <ts_recv_raw+83>: movzbl 0x2(%r13),%eax => 0x00000000004d2548 <ts_recv_raw+88>: mov 0x10(%rdi),%edx 0x00000000004d254b <ts_recv_raw+91>: test %edx,%edx 0x00000000004d254d <ts_recv_raw+93>: je 0x4d25b0 <ts_recv_raw+192> 0x00000000004d254f <ts_recv_raw+95>: mov 0x230(%rbx),%esi 0x00000000004d2555 <ts_recv_raw+101>: test $0x8,%sil 0x00000000004d2559 <ts_recv_raw+105>: jne 0x4d2566 <ts_recv_raw+118> 0x00000000004d255b <ts_recv_raw+107>: or $0x8,%esi 0x00000000004d255e <ts_recv_raw+110>: mov %rbx,%rdi 0x00000000004d2561 <ts_recv_raw+113>: callq 0x459ff0 <service_set_streaming_status_flags_> 0x00000000004d2566 <ts_recv_raw+118>: orl $0x1,0x234(%rbx) End of assembler dump.
(gdb) bt full
#0 ts_recv_raw (t=0x7f852c002860, tsb=tsb@entry=0x7f853c0087a5 "G@\021\025", len=len@entry=188) at src/input/mpegts/tsdemux.c:304
pid = 17
parent = 0
#1 0x00000000004d0117 in mpegts_input_process (mpkt=0x7f853c005940, mi=0x3d5e750) at src/input/mpegts/mpegts_input.c:1291
f = <optimized out>
mps = 0x7f852c001fa0
tsb = <optimized out>
type = 22
s = <optimized out>
st = <optimized out>
table_wakeup = 0
pid = 17
tsb2_end = <optimized out>
cc = <optimized out>
cc2 = <optimized out>
tsb2 = <optimized out>
len = 6956
llen = 188
mm = 0x38cb8d0
mmi = 0x519fd50
muxname = "11992.5H in 19.2E", '\000' <repeats 238 times>
#2 mpegts_input_thread (p=0x3d5e750) at src/input/mpegts/mpegts_input.c:1431
mp = 0x7f853c005940
mi = 0x3d5e750
bytes = 0
buf = "STV090x Multistandard : DVB-S #2", '\000' <repeats 223 times>
#3 0x000000000043b77e in thread_wrapper (p=0x3176380) at src/wrappers.c:177
ts = 0x3176380
set = {__val = {16388, 0 <repeats 15 times>}}
r = <optimized out>
#4 0x00007f859da41182 in start_thread (arg=0x7f858dffb700) at pthread_create.c:312
__res = <optimized out>
pd = 0x7f858dffb700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140211589723904, 5961968128057138104, 0, 0, 140211589724608, 140211589723904, -5929497348009108552, -5929533010627929160},
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"
#5 0x00007f859d26047d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.
No issues with minisatip on the same box.
Thank you for reviewing this ticket.
Kind regards.
Updated by Jaroslav Kysela over 10 years ago
Which clients?
Updated by Tux Droid over 10 years ago
Hi,
VDR-plugin-satip and DVBviewer Lite.
I can reproduce this issue as often as I like.
The system is Ubuntu 14.04 server, kernel 4.3.
Updated by Jaroslav Kysela over 10 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset commit:tvheadend|a3d672511f65047882b6ec343358ba4e969dfe00.
Updated by Jaroslav Kysela over 10 years ago
Fixed in v4.1-1412-ga3d6725 .
Updated by Tux Droid over 10 years ago
Thank You!
Actions