Bug 15628 – Exceptions in fibers never caught with /SAFESEH

Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2016-01-30T08:57:14Z
Last change time
2018-01-05T13:27:11Z
Keywords
pull
Assigned to
No Owner
Creator
Rainer Schuetze

Comments

Comment #0 by r.sagitario — 2016-01-30T08:57:14Z
When a Win32 program is linked with /SAFESEH (not supported by DMD, but with LDC), a unittest in core.thread fails, i.e. the one with throwAndYield(). The exception is never caught because the OS considers the exception chain invalid.
Comment #1 by r.sagitario — 2016-01-30T09:02:27Z
Comment #2 by github-bugzilla — 2016-01-30T19:18:33Z
Commit pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/44285e90d946f677273e9d8365af7862c2ff1c9b Merge pull request #1489 from rainers/safeseh_fibers Fix issue 15628: exception handling in fibers with /SAFESEH
Comment #3 by github-bugzilla — 2016-03-19T20:21:26Z
Comment #4 by github-bugzilla — 2018-01-05T13:27:11Z
Commit pushed to dmd-cxx at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/44285e90d946f677273e9d8365af7862c2ff1c9b Merge pull request #1489 from rainers/safeseh_fibers