[Bug 24038] New: kernel32.UnhandledExceptionFilter: ensure that registered JIT debugger can attach and collect debugging info before return

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Aug 18 06:16:10 CDT 2010


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 at winehq.org
        ReportedBy: focht at 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

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list