Bug 18547 – Win32: throwing exception in fiber crashes application

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2018-03-02T15:53:15Z
Last change time
2018-03-11T11:00:48Z
Keywords
pull
Assigned to
No Owner
Creator
Rainer Schuetze

Comments

Comment #0 by r.sagitario — 2018-03-02T15:53:15Z
test15779.d crashes for Win32 (and Win32/COFF) if compiled without -gx (or with -O): import core.thread; int main() { try { bar(); } catch (Exception e) { } return 0; } void bar() { new Fiber({ throw new Exception("fly"); }).call(); } The auto-tester currently disables it for Win64, though.
Comment #1 by r.sagitario — 2018-03-04T08:59:04Z
Comment #2 by github-bugzilla — 2018-03-11T11:00:47Z
Commits pushed to master at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/a1a5ad8d70464534228839ad8f1f2a7938cb9524 fix issue 18547 - Win32: throwing exception in fiber crashes application increase the default stack size because exception handling might need up to 16k. The actually used stack can depend on the version of DbgHelp.dll, the existence of debug information and possibly other conditions. https://github.com/dlang/druntime/commit/86cd40a036a67d9b1bff6c14e91cba1e5557b119 Merge pull request #2129 from rainers/issue18547 fix issue 18547 - Win32: throwing exception in fiber crashes application merged-on-behalf-of: Petar Kirov <[email protected]>