http://bugs.winehq.org/show_bug.cgi?id=24038
Summary: kernel32.UnhandledExceptionFilter: ensure that registered JIT debugger can attach and collect debugging info before return Product: Wine Version: 1.3.0 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net
Hello,
the symptom is some apps generate unhandled exceptions which ought to call the registered just-in-time debugger but the collection of debugging info fails. When the debugger process is up and running the faulting app is gone, hence attaching and collecting module, backtrace info etc. fails.
Example (you can find several of such occurrences in bugzilla):
--- snip --- ... wine: Unhandled exception 0xc000000d at address 0x68080023:0x004bd342 (thread 0026), starting debugger... 0026:trace:seh:start_debugger Starting debugger "winedbg --auto 37 252" 0027:Ret KERNEL32.Sleep() retval=00000000 ret=00484091 0027:Call KERNEL32.Sleep(00000032) ret=00484091 0028:Ret KERNEL32.Sleep() retval=00000000 ret=00484091 0028:Call KERNEL32.Sleep(00000032) ret=00484091 0026:Ret KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=004c599a 0026:Call KERNEL32.GetCurrentProcess() ret=004c59b5 0026:Ret KERNEL32.GetCurrentProcess() retval=ffffffff ret=004c59b5 0026:Call KERNEL32.TerminateProcess(ffffffff,c000000d) ret=004c59bc Process of pid=0025 has terminated No process loaded, cannot execute 'echo Modules:' Cannot get info on module while no process is loaded No process loaded, cannot execute 'echo Threads:' process tid prio (all id:s are in hex) --- snip ---
kernel32.UnhandledExceptionFilter() -> start_debugger_atomic -> start_debugger -> CreateProcessA() (wait for debugger to come up) -> return
The app code immediately terminates the process after return from UnhandledExceptionFilter() which is an indication that all debugging info collection stuff needs to be done synchronously _before_ UnhandledExceptionFilter() returns in case JIT debugger was called.
Regards