Bug 14036 – Do not throw FinalizeError on OutOfMemoryError or InvalidMemoryOperationError

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-01-24T20:15:00Z
Last change time
2015-02-18T03:38:56Z
Keywords
pull
Assigned to
nobody
Creator
dlang-bugzilla

Comments

Comment #0 by dlang-bugzilla — 2015-01-24T20:15:28Z
We should not attempt to throw FinalizeError when an InvalidMemoryOperationError is thrown in the destructor. This will only throw a second InvalidMemoryOperationError. Ideally, we should not catch it at all, so it is possible to see the stack trace of the destructor which caused the InvalidMemoryOperationError.
Comment #1 by dlang-bugzilla — 2015-01-24T20:22:40Z
Comment #2 by github-bugzilla — 2015-01-27T08:22:34Z
Commits pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/73d7a44eb18f6889ef32e02fd15a8c567e8cfb6d fix Issue 14036 - Do not throw FinalizeError on OutOfMemoryError or InvalidMemoryOperationError This changes FinalizeError to be thrown only when an Exception is thrown, with the disadvantage of not catching non-Exception Throwables and the advantage of preserving the stack trace for the code that caused InvalidMemoryOperationError. https://github.com/D-Programming-Language/druntime/commit/cfe3eb5a2bf0d9a67fba8aa621c8a076c8c74124 Merge pull request #1123 from CyberShadow/pull-20150124-201947 fix Issue 14036 - Do not throw FinalizeError on OutOfMemoryError or Inva...
Comment #3 by github-bugzilla — 2015-02-18T03:38:56Z
Commits pushed to 2.067 at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/73d7a44eb18f6889ef32e02fd15a8c567e8cfb6d fix Issue 14036 - Do not throw FinalizeError on OutOfMemoryError or InvalidMemoryOperationError https://github.com/D-Programming-Language/druntime/commit/cfe3eb5a2bf0d9a67fba8aa621c8a076c8c74124 Merge pull request #1123 from CyberShadow/pull-20150124-201947