deadlock in RingAccount
Issue generated from Tuleap's migration script. Originally submitted by: Adrien Béraud (adrienberaud)
Waiting on a future that should be delivered later in the same thread :
"DRingService.Executor" prio=5 tid=10 Native | group="main" sCount=1 dsCount=0 obj=0x12c18080 self=0xb4f0e800 | sysTid=11626 nice=0 cgrp=apps sched=0/0 handle=0xaef52300 | state=S schedstat=( 5954749395 6479803332 23836 ) utm=316 stm=279 core=3 HZ=100 | stack=0xb3afe000-0xb3b00000 stackSize=1036KB | held mutexes= kernel: (couldn't read /proc/self/task/11626/stack) native: \#00 pc 00010110 /system/lib/libc.so (syscall+28) native: \#01 pc 0001368d /system/lib/libc.so (\_\_pthread\_cond\_timedwait\_relative(pthread\_cond\_t\*, pthread\_mutex\_t\*, timespec const\*)+56) native: \#02 pc 00899790 /data/app/cx.ring-1/lib/arm/libringjni.so (???) native: \#03 pc 0046b6e3 /data/app/cx.ring-1/lib/arm/libringjni.so (void std::condition\_variable::wait<std::\_\_future\_base::\_State\_baseV2::wait()::'lambda'()>(std::unique\_lock<std::mutex>&, std::\_\_future\_base::\_State\_baseV2::wait()::'lambda'())+18) native: \#04 pc 00464b2f /data/app/cx.ring-1/lib/arm/libringjni.so (std::\_\_future\_base::\_State\_baseV2::wait()+54) native: \#05 pc 004754a5 /data/app/cx.ring-1/lib/arm/libringjni.so (std::\_\_basic\_future<unsigned int>::\_M\_get\_result() const+28) native: \#06 pc 0046fec7 /data/app/cx.ring-1/lib/arm/libringjni.so (std::future<unsigned int>::get()+26) native: \#07 pc 0045a781 /data/app/cx.ring-1/lib/arm/libringjni.so (ring::RingAccount::handlePendingCallList()+220) native: \#08 pc 0045a699 /data/app/cx.ring-1/lib/arm/libringjni.so (ring::RingAccount::handleEvents()+28) native: \#09 pc 0045b8cb /data/app/cx.ring-1/lib/arm/libringjni.so (???) native: \#10 pc 00460ee7 /data/app/cx.ring-1/lib/arm/libringjni.so (???) native: \#11 pc 00496d7b /data/app/cx.ring-1/lib/arm/libringjni.so (???) native: \#12 pc 004b7a17 /data/app/cx.ring-1/lib/arm/libringjni.so (ring::Manager::pollEvents()+78) native: \#13 pc 004308f1 /data/app/cx.ring-1/lib/arm/libringjni.so (DRing::pollEvents()+12) native: \#14 pc 003cc29c /data/app/cx.ring-1/lib/arm/libringjni.so (Java\_cx\_ring\_service\_RingserviceJNI\_pollEvents+20) at cx.ring.service.RingserviceJNI.pollEvents(Native method) at cx.ring.service.Ringservice.pollEvents(unavailable:-1) at cx.ring.service.DRingService$1$1.doRun(unavailable:-1) at cx.ring.service.DRingService$SipRunnable.run(unavailable:-1) at cx.ring.service.DRingService$SipServiceExecutor.executeInternal(unavailable:-1) at cx.ring.service.DRingService$SipServiceExecutor.handleMessage(unavailable:-1) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.os.HandlerThread.run(HandlerThread.java:61)