Fix crash in VirtualMachine.AllThreads JDWP command
When collecting all the started threads, we may encounter a thread in the process of being started from Java code (Thread.start) in the threads list. The crash occurs when we attempt to access the java.lang.Thread peer (calling Thread::GetPeer) but the JNI global reference to it (Thread::jpeer) has not been destroyed yet (which is verified with a check). This only happens when the thread is starting up. We now check the thread finished starting up before accessing the Java peer. This also prevents from returning non-started threads in the reply. Bug: 16660101 Change-Id: I9e445e5da3a6951143d6c3c9a0d4f136398fde2f
Loading
Please sign in to comment