Skip to content

Exception handling on Windows causing access violation with ARC #222

Closed
@triplef

Description

@triplef

Throwing/catching an exception in ARC-enabled code on Windows causes an access violation. I’ve reproduced this in various environments/projects and both x64 and x86 with the same results. While debug builds will usually crash almost immediately, release builds can sometimes continue execution for a bit before crashing.

I also tried using Application Verifier and Page Heap to find the cause, but unfortunately I never got any more useful info. The stack trace is usually corrupt and/or unhelpful.

This can for example be reproduced with the ObjCXXEHInterop_arc test, which is currently disabled for Windows due to the failure:

Exception thrown at 0x00007FFA9FC522C8 (objc.dll) in ObjCXXEHInterop_arc.exe: 0xE06D7363: Microsoft C++ Exception (parameters: 0x0000000019930520, 0x0000003160DFF6A8, 0x0000003160DFF5D8, 0x0000003160DFF6A7).
ObjCXXEHInterop_arc.exe has triggered a breakpoint.

ObjCXXEHInterop_arc.exe has triggered a breakpoint.

Exception thrown at 0x00007FFA9FC25280 (vcruntime140d.dll) in ObjCXXEHInterop_arc.exe: 0xC0000005: Access violation executing location 0x00007FFA9FC25280.

Any thoughts on how to debug this further would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions