Bug 252353 - [Win] ASSERT() on Windows fires silently if caller has set up a SEH frame
Summary: [Win] ASSERT() on Windows fires silently if caller has set up a SEH frame
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Template Framework (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-02-15 15:00 PST by Brent Fulgham
Modified: 2023-07-31 14:55 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brent Fulgham 2023-02-15 15:00:13 PST
If code in the callchain has set up a structured exception handling frame with __try/__except, exceptions will fire silently, causing code to get killed and execution to mysteriously continue.

This can happen if we are called back from another DLL, called from a Windows WM_TIMER callback, or called on a secondary thread.

We should consider implementing ASSERT() on Windows with a mechanism as described in:
http://www.codeproject.com/KB/debug/DebugBreakAnyway.aspx

<rdar://8033688>