ovyalov added a subscriber: ovyalov. ovyalov added a comment. It looks like this CL is introducing additional latency when destroying process - I noticed 10 seconds delay when destroying Android process and got logs for code with this CL and without:
1443231085.125153000 Process::StopForDestroyOrDetach() About to stop. 1443231085.125225000 Process::WaitForProcessToStop (timeout = 0x7fa9fb5fab28) 1443231085.125243000 Process::WaitForStateChangedEvents (timeout = 0x7fa9fb5fab28, event_sp)... 1443231085.125284000 Process::RunPrivateStateThread (arg = 0x7fa9ec38d470, pid = 20579) woke up with an interrupt - Halting. 1443231085.137527000 Process::SetPrivateState (stopped) 1443231085.137569000 Process::SetPrivateState (stopped) stop_id = 13 1443231085.137646000 Process::WaitForEventsPrivate (timeout = (nil), event_sp)... 1443231085.139090000 Process::ShouldBroadcastEvent (0x7fa9e4003a10) stopped due to an interrupt, state: stopped 1443231085.139159000 Process::ShouldBroadcastEvent (0x7fa9e4003a10) => new state: stopped, last broadcast state: stopped - YES 1443231085.139166000 Process::HandlePrivateEvent (pid = 20579) broadcasting new state stopped (old state running) to public 1443231085.139184000 Process::WaitForEventsPrivate (timeout = (nil), event_sp)... 1443231085.139267000 Process::SetPublicState (state = stopped, restarted = 0) 1443231085.139336000 Process::SetPublicState (stopped) -- unlocking run lock 1443231095.125328000 Process::WaitForStateChangedEvents (timeout = 0x7fa9fb5fab28, event_sp) => invalid 1443231095.125507000 Process::StopForDestroyOrDetach() failed to stop, state is: invalid 1443231549.351362000 Process::HaltForDestroyOrDetach() About to halt. 1443231549.364460000 Process::SetPrivateState (stopped) 1443231549.364475000 Process::SetPrivateState (stopped) stop_id = 13 1443231549.364499000 Process::WaitForProcessToStop (timeout = 0x7f4f34ff6b18) 1443231549.364508000 Process::WaitForStateChangedEvents (timeout = 0x7f4f34ff6b18, event_sp)... 1443231549.364973000 Process::ShouldBroadcastEvent (0x7f4f1c002150) stopped due to an interrupt, state: stopped 1443231549.365040000 Process::ShouldBroadcastEvent (0x7f4f1c002150) => new state: stopped, last broadcast state: stopped - YES 1443231549.365046000 Process::HandlePrivateEvent (pid = 20768) broadcasting new state stopped (old state running) to public 1443231549.365062000 Process::WaitForEventsPrivate (timeout = (nil), event_sp)... 1443231549.365095000 Process::SetPublicState (state = stopped, restarted = 0) 1443231549.365117000 Process::SetPublicState (stopped) -- unlocking run lock 1443231550.364602000 Process::WaitForStateChangedEvents (timeout = 0x7f4f34ff6b18, event_sp) => invalid 1443231550.364682000 Process::HaltForDestroyOrDetach() Halt failed to stop, state is: invalid So, I believe there is still a problem with stopped state delivery within WaitForProcessToStop which should be fixed in long-term. As quick workaround we can either revert this CL or reduce timeout to avoid 10 second delay upon process termination. Repository: rL LLVM http://reviews.llvm.org/D13056 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits