Actions
Bug #5680
closedTvheadend hangs (descrambling?)
Status:
Invalid
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
2019-07-07
Due date:
% Done:
0%
Estimated time:
Found in version:
4.3-1801~g8f1de1621
Affected Versions:
Description
Note: This livelock happens on 4.3-1801~g8f1de1621 (It would not have to be related with my reported crash on #5659 )
(gdb) print global_lock
$2 = {mutex = pthread_mutex_t = {Type = Normal, Status = Acquired, possibly with waiters, Owner ID = 25538, Robust = No, Shared = No, Protocol = None}, magic1 = 3614061450, tid = 0, filename = 0x0, lineno = 0, tstamp = 0, waiters = {lh_first = 0x0}, link = {tqe_next = 0x0, tqe_prev = 0x0}, magic2 = 4181353505}
(gdb) thread find 25538
Thread 7 has target id 'Thread 0x7fe26db2e700 (LWP 25538)'
(gdb) info threads 7
7 Thread 0x7fe26db2e700 (LWP 25538) "tvh:mtimer" 0x000055e693f46763 in cc_service_start (cac=0x55e69746b530, t=0x55e697683360) at src/descrambler/cclient.c:1079
(gdb) thread 7
#2 0x000055e693f46763 in cc_service_start (cac=0x55e69746b530, t=0x55e697683360) at src/descrambler/cclient.c:1079 warning: Source file is more recent than executable. 1079 tvh_mutex_lock(&t->s_stream_mutex);
(gdb) bt
#0 __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007fe271317023 in __GI___pthread_mutex_lock (mutex=mutex@entry=0x55e697683550)
at ../nptl/pthread_mutex_lock.c:78
#2 0x000055e693f46763 in cc_service_start (cac=0x55e69746b530, t=0x55e697683360)
at src/descrambler/cclient.c:1079
#3 0x000055e693ed6926 in caclient_start (t=t@entry=0x55e697683360) at src/descrambler/caclient.c:344
#4 0x000055e693ed30c6 in descrambler_service_start (t=t@entry=0x55e697683360)
at src/descrambler/descrambler.c:472
#5 0x000055e693e40d38 in service_start (t=0x55e697683360, instance=31, weight=weight@entry=100,
flags=flags@entry=131153, timeout=timeout@entry=0, postpone=postpone@entry=0) at src/service.c:334
#6 0x000055e693e42be0 in service_find_instance (s=<optimized out>, ch=0x55e69757a760,
ti=<optimized out>, prch=<optimized out>, sil=sil@entry=0x7fe224279aa8,
error=error@entry=0x7fe26db2d924, weight=100, flags=131153, timeout=0, postpone=0)
at src/service.c:535
#7 0x000055e693e3d179 in subscription_start_instance (s=s@entry=0x7fe224279900,
error=error@entry=0x7fe26db2d924) at src/subscriptions.c:336
#8 0x000055e693e3ec10 in subscription_reschedule () at src/subscriptions.c:409
#9 0x000055e693e0af79 in mtimer_thread (aux=<optimized out>) at src/main.c:706
#10 0x000055e693e18988 in thread_wrapper (p=0x55e6974504f0) at src/tvh_thread.c:91
#11 0x00007fe2713146db in start_thread (arg=0x7fe26db2e700) at pthread_create.c:463
#12 0x00007fe2704e488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) bt full
#0 __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
No locals.
#1 0x00007fe271317023 in __GI___pthread_mutex_lock (mutex=mutex@entry=0x55e697683550)
at ../nptl/pthread_mutex_lock.c:78
ignore1 = <optimized out>
ignore2 = <optimized out>
ignore3 = <optimized out>
type = 0
__PRETTY_FUNCTION__ = "__pthread_mutex_lock"
id = <optimized out>
#2 0x000055e693f46763 in cc_service_start (cac=0x55e69746b530, t=0x55e697683360)
at src/descrambler/cclient.c:1079
cc = 0x55e69746b530
ct = <optimized out>
td = <optimized out>
st = <optimized out>
c = <optimized out>
pcard = <optimized out>
buf = "\020\000\000\000\000\000\000\000 \360\022<\342\177\000\000S\000\000\000\000\000\000\000\ 220*\016<\346\003\000\000\n\000\000\000\000\000\000\000\020\065g\227\346U\000\000 \360\022<\342\177\000 \000 7g\227\346U\000\000|\004\023<\342\177\000\000p\267\001\060\342\177\000\000\030\272\001\060\342\177 \000\000\002a\356\223\346U\000\000\000\000\000\000\000\000\000\000,a\356\223\346U\000\000`k,<\342\177\0 00\000 \000\000<\346\003\000\000\000\000\000\000\000\000\000\000\020\065g\227\346U\000\000pֲm\342\177\00 0\000 7g\227\346U\000\000\002\000\000\000\000\000\000\000\361oڔ\346U\000\000 \360\022<\342\177\000\000\ 365\261\356\223\346U\000\000\360\364\356\223\346U\000\000\031\004"...
i = <optimized out>
reuse = 0
prefpid = <optimized out>
prefpid_lock = <optimized out>
---Type <return> to continue, or q <return> to quit---
forcecaid = <optimized out>
epids = {pids = 0x7fe23001b770, alloc = -1813136798, count = 21990, all = 1049, sorted = 0}
#3 0x000055e693ed6926 in caclient_start (t=t@entry=0x55e697683360) at src/descrambler/caclient.c:344
cac = 0x55e69746b530
#4 0x000055e693ed30c6 in descrambler_service_start (t=t@entry=0x55e697683360) at src/descrambler/descrambler.c:472
dr = <optimized out>
tk = <optimized out>
hint = <optimized out>
st = <optimized out>
ca = <optimized out>
i = <optimized out>
count = <optimized out>
constcw = <optimized out>
multipid = <optimized out>
interval = 10000
paritycheck = <optimized out>
ecmparity = <optimized out>
#5 0x000055e693e40d38 in service_start (t=0x55e697683360, instance=31, weight=weight@entry=100, flags=flags@entry=131153, timeout=timeout@entry=0, postpone=postpone@entry=0) at src/service.c:334
r = 0
stimeout = 10
__PRETTY_FUNCTION__ = "service_start"
#6 0x000055e693e42be0 in service_find_instance (s=<optimized out>, ch=0x55e69757a760, ti=<optimized out>, prch=<optimized out>, sil=sil@entry=0x7fe224279aa8, error=error@entry=0x7fe26db2d924, weight=100, flags=131153, timeout=0,
postpone=0) at src/service.c:535
ilm = <optimized out>
si = 0x7fe23c0f0f70
next = <optimized out>
pro = 0x55e697468de0
r = <optimized out>
r1 = <optimized out>
#7 0x000055e693e3d179 in subscription_start_instance (s=s@entry=0x7fe224279900, error=error@entry=0x7fe26db2d924) at src/subscriptions.c:336
si = <optimized out>
#8 0x000055e693e3ec10 in subscription_reschedule () at src/subscriptions.c:409
reenter = 1
s = 0x7fe224279900
t = <optimized out>
si = <optimized out>
sm = <optimized out>
error = 0
postpone = 2147483647
postpone2 = <optimized out>
__PRETTY_FUNCTION__ = "subscription_reschedule"
#9 0x000055e693e0af79 in mtimer_thread (aux=<optimized out>) at src/main.c:706
mti = 0x55e6953f68a0 <subscription_reschedule_timer>
cb = 0x55e693e3eee0 <subscription_reschedule_cb>
now = <optimized out>
next = 459755634681
id = 0x0
#10 0x000055e693e18988 in thread_wrapper (p=0x55e6974504f0) at src/tvh_thread.c:91
ts = <optimized out>
set = {__val = {16388, 0 <repeats 15 times>}}
r = <optimized out>
#11 0x00007fe2713146db in start_thread (arg=0x7fe26db2e700) at pthread_create.c:463
pd = 0x7fe26db2e700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140610479777536, -3151256368534430442, 140610479774528, 0, 94448868721904, 140721520580672, 3134688283981864214, 3134680600684092694}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0,
0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#12 0x00007fe2704e488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
Updated by saen acro over 6 years ago
https://github.com/tvheadend/tvheadend/commit/6be300c430ab614aa527ef34e34f007f34a68ee0
aka 4.3-1802 isn't fix this?
Updated by Pablo R. over 6 years ago
saen acro wrote:
https://github.com/tvheadend/tvheadend/commit/6be300c430ab614aa527ef34e34f007f34a68ee0
aka 4.3-1802 isn't fix this?
Not at all, see my posts on #5659
Updated by Pablo R. about 6 years ago
I have not been able to reproduce it anymore. It can be set as invalid.
Actions