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.
History
Updated by Tux Droid almost 9 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 almost 9 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset commit:tvheadend|a3d672511f65047882b6ec343358ba4e969dfe00.