Eric Pouech eric.pouech@orange.fr writes:
what happens is something like: process P being debugged by D
- while processing a debug event (fetched in P, P calls
ntdll@send_debug_event, and waits for the debugger to process the event)
- D gets the event, and the user asks for quit in D. D sends back to
wineserver a DBG_CONTINUE response to the event
- D then dies before P runs again
- P then calls server@get_exception_status, where when getting the
status from the debugger, (which should be DBG_CONTINUE, and it is before releasing the debug event). but while releasing the debug event, someone clears the status, and we get 0 from the get_exception_status event
I didn't check in details which clear_error() is to blame in server, but close_thread_desktop (from a cursory look) could be to blame
That one probably shouldn't clear the error, but I don't see how you'd get there by releasing an event. Do you have a backtrace?