[Bug 34254] Wine64 seh:RtlUnwindEx error with c++ exception handling

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jan 27 12:37:49 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=34254

Sebastian Lackner <sebastian at fds-team.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |julliard at winehq.org

--- Comment #5 from Sebastian Lackner <sebastian at fds-team.de> ---
As it turns out this issue is technically a regression. My patch in comment #4
is exactly the opposite of a change which was committed a couple of years ago:

--- snip ---
commit a777676bc48d4575a0bafb40bad1fe85d269e352
Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Mar 30 14:42:55 2012 +0200

    ntdll: Also call the unwind handler for the target frame.
--- snip ---

Unfortunately I wasn't able to find out why this change was introduced. It
seems to violate all available documentations that further unwind handlers are
called after the first one with EH_TARGET_UNWIND. I assume that the idea was to
run one more round of unwind handlers (why?), but this can't work because there
is no relation between Rsp and EstablisherFrames. Rsp points to the location
after the return address was removed, but EstablisherFrame is smaller and
points to the location of the local variables / saved registers.

Adding Alexandre as CC, maybe he remembers why this change was necessary.

-- 
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