Closed GoogleCodeExporter closed 9 years ago
how often is this happening? Also, what is the app that this is in?
Original comment by Stericso...@gmail.com
on 17 Jun 2013 at 3:23
it doesn't happen often. the dev console reported it 4 times over about a
month. that accounts for a few thousand users.
the app is called Unlock With Wifi
i didn't post the entire report last time. sorry about that. here's the whole
thing.
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)
"main" prio=5 tid=1 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x40c57460 self=0x1108868
| sysTid=25600 nice=0 sched=0/0 cgrp=default handle=1074107656
| schedstat=( 147041159 58972211 328 ) utm=6 stm=8 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41a19e10> (a java.lang.VMThread) held by tid=16 (Thread-1193)
at java.lang.Thread.join(Thread.java:822)
at java.lang.Thread.join(Thread.java:778)
at com.stericson.RootTools.execution.Shell.<init>(Shell.java:68)
at com.stericson.RootTools.execution.Shell.startRootShell(Shell.java:309)
at com.stericson.RootTools.execution.Shell.startRootShell(Shell.java:291)
at
com.stericson.RootTools.internal.RootToolsInternalMethods.returnPath(RootToolsIn
ternalMethods.java:82)
at
com.stericson.RootTools.internal.RootToolsInternalMethods.getPath(RootToolsInter
nalMethods.java:1045)
at com.stericson.RootTools.RootTools.getPath(RootTools.java:419)
at
com.stericson.RootTools.internal.RootToolsInternalMethods.findBinary(RootToolsIn
ternalMethods.java:604)
at com.stericson.RootTools.RootTools.findBinary(RootTools.java:269)
at com.stericson.RootTools.RootTools.isRootAvailable(RootTools.java:668)
at
com.benhirashima.unlockwithwifi.common.DeviceAdminIntro.showMessage(DeviceAdminI
ntro.java:97)
at
com.benhirashima.unlockwithwifi.common.DeviceAdminIntro.onResume(DeviceAdminIntr
o.java:64)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1158)
at android.app.Activity.performResume(Activity.java:4607)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2448)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2486)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2000)
at android.app.ActivityThread.access$600(ActivityThread.java:128)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4517)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
at dalvik.system.NativeStart.main(Native Method)
"Thread-1194" prio=5 tid=17 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x41a139d0 self=0x12f2cc0
| sysTid=25699 nice=0 sched=0/0 cgrp=default handle=19176136
| schedstat=( 14770126 1345249 10 ) utm=0 stm=1 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41a13ba0> (a java.lang.VMThread) held by tid=17 (Thread-1194)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos
(AbstractQueuedSynchronizer.java:2061)
at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:360)
at com.apsalar.sdk.ApsalarRetryThread.run(ApThread.java:538)
"Thread-1193" prio=5 tid=16 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41a19d00 self=0x1380350
| sysTid=25680 nice=0 sched=0/0 cgrp=default handle=20522584
| schedstat=( 329042 0 2 ) utm=0 stm=0 core=3
at libcore.io.Posix.readBytes(Native Method)
at libcore.io.Posix.read(Posix.java:118)
at libcore.io.BlockGuardOs.read(BlockGuardOs.java:149)
at libcore.io.IoBridge.read(IoBridge.java:422)
at java.io.FileInputStream.read(FileInputStream.java:179)
at java.io.InputStreamReader.read(InputStreamReader.java:244)
at java.io.BufferedReader.fillBuf(BufferedReader.java:130)
at java.io.BufferedReader.readLine(BufferedReader.java:354)
at com.stericson.RootTools.execution.Shell$Worker.run(Shell.java:397)
"Binder Thread #3" prio=5 tid=15 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41adef50 self=0x11f42b0
| sysTid=25655 nice=0 sched=0/0 cgrp=default handle=18958080
| schedstat=( 558875 2560499 4 ) utm=0 stm=0 core=3
at dalvik.system.NativeStart.run(Native Method)
"java.lang.ProcessManager" daemon prio=5 tid=14 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41aded98 self=0x12ccf10
| sysTid=25653 nice=0 sched=0/0 cgrp=default handle=20291104
| schedstat=( 1250957 7524000 13 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41adec00> (a java.util.HashMap)
at java.lang.Object.wait(Object.java:364)
at java.lang.ProcessManager.waitForMoreChildren(ProcessManager.java:140)
at java.lang.ProcessManager.watchChildren(ProcessManager.java:105)
at java.lang.ProcessManager.access$000(ProcessManager.java:40)
at java.lang.ProcessManager$1.run(ProcessManager.java:58)
"AsyncTask #1" prio=5 tid=13 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41ac9f20 self=0x1392180
| sysTid=25652 nice=10 sched=0/0 cgrp=bg_non_interactive handle=20005472
| schedstat=( 574249 7340168 11 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x41aca0b8> (a java.lang.VMThread) held by tid=13 (AsyncTask #1)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abst
ractQueuedSynchronizer.java:2022)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
"IntentService[TrialAuthService]" prio=5 tid=12 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41ac84a0 self=0x1372b48
| sysTid=25651 nice=0 sched=0/0 cgrp=default handle=20050624
| schedstat=( 1072375 1223126 8 ) utm=0 stm=0 core=3
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:118)
at android.os.Looper.loop(Looper.java:118)
at android.os.HandlerThread.run(HandlerThread.java:60)
"RefQueueWorker@org.apache.http.impl.conn.tsccm.ConnPoolByRoute@41a5afa8"
daemon prio=5 tid=11 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41a5f790 self=0x138cda8
| sysTid=25616 nice=0 sched=0/0 cgrp=default handle=19681064
| schedstat=( 84667 0 2 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x41a5e068> (a java.lang.ref.ReferenceQueue)
at java.lang.Object.wait(Object.java:401)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
at org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102)
at java.lang.Thread.run(Thread.java:856)
"ApsalarThread" daemon prio=5 tid=10 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x419ed7b8 self=0x12c4ad8
| sysTid=25615 nice=0 sched=0/0 cgrp=default handle=19845664
| schedstat=( 18815751 5140002 40 ) utm=1 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x419edae0> (a java.lang.VMThread) held by tid=10 (ApsalarThread)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos
(AbstractQueuedSynchronizer.java:2061)
at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:360)
at com.apsalar.sdk.ApsalarThread.buffering(ApThread.java:427)
at com.apsalar.sdk.ApsalarThread.run(ApThread.java:176)
"Binder Thread #2" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x419f3648 self=0x1381e20
| sysTid=25611 nice=0 sched=0/0 cgrp=default handle=19893464
| schedstat=( 3958999 2148750 16 ) utm=0 stm=0 core=3
at dalvik.system.NativeStart.run(Native Method)
"Binder Thread #1" prio=5 tid=8 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x419f3148 self=0x1357e28
| sysTid=25610 nice=0 sched=0/0 cgrp=default handle=19120024
| schedstat=( 3414707 4120709 18 ) utm=0 stm=0 core=3
at dalvik.system.NativeStart.run(Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=7 WAIT
| group="main" sCount=1 dsCount=0 obj=0x419efd70 self=0x12eb350
| sysTid=25609 nice=0 sched=0/0 cgrp=default handle=19893400
| schedstat=( 261584 6656083 6 ) utm=0 stm=0 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x40c5ec98> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213)
at java.lang.Thread.run(Thread.java:856)
"FinalizerDaemon" daemon prio=5 tid=6 WAIT
| group="main" sCount=1 dsCount=0 obj=0x419efc18 self=0x136ecb0
| sysTid=25608 nice=0 sched=0/0 cgrp=default handle=19866480
| schedstat=( 1460958 205667 8 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x40c4d5d0> (a java.lang.ref.ReferenceQueue)
at java.lang.Object.wait(Object.java:401)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
at java.lang.Thread.run(Thread.java:856)
"ReferenceQueueDaemon" daemon prio=5 tid=5 WAIT
| group="main" sCount=1 dsCount=0 obj=0x419efab0 self=0x13950c0
| sysTid=25607 nice=0 sched=0/0 cgrp=default handle=19670184
| schedstat=( 473917 289459 8 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x40c4d4f8>
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:128)
at java.lang.Thread.run(Thread.java:856)
"Compiler" daemon prio=5 tid=4 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x419ef9c0 self=0x13596f8
| sysTid=25605 nice=0 sched=0/0 cgrp=default handle...
Original comment by benhiras...@gmail.com
on 17 Jun 2013 at 4:50
This issue happened to me as well.
My solution was to put the first request for isRootAvailable into a thread.
This is anyway better, because if the user is prompted for root access the app
will block.
Original comment by tob...@schulz-hess.de
on 4 Jul 2013 at 8:43
isRootAvailable is a blocking command, as stated above it should be used within
a thread.
Most static "conveniance" methods within RootTools are blocking and should be
used within a thread.
Original comment by Stericso...@gmail.com
on 4 Jul 2013 at 2:59
Original issue reported on code.google.com by
benhiras...@gmail.com
on 14 Jun 2013 at 4:45