RESOLVED FIXED 22402
Replace abort() with CRASH()
https://bugs.webkit.org/show_bug.cgi?id=22402
Summary Replace abort() with CRASH()
Alexey Proskuryakov
Reported 2008-11-21 07:12:34 PST
Using abort() for fatal failures is bad for at least two reasons: 1) We don't get a crash log. 2) It's impolite to silently close an application on failure, as if it was never running. We already use CRASH everywhere, except for FastMalloc and one place in Collector. We could consider taking measures against using abort (or just define it to CRASH), but I'm not sure how much that would help in practice.
Attachments
proposed patch (8.03 KB, patch)
2008-11-21 07:13 PST, Alexey Proskuryakov
no flags
abort() if crashing failed (8.90 KB, patch)
2008-11-21 10:42 PST, Alexey Proskuryakov
no flags
take three (8.92 KB, patch)
2008-11-21 12:45 PST, Alexey Proskuryakov
mitz: review+
Alexey Proskuryakov
Comment 1 2008-11-21 07:13:45 PST
Created attachment 25352 [details] proposed patch
Sam Weinig
Comment 2 2008-11-21 10:09:28 PST
Comment on attachment 25352 [details] proposed patch r=me
Alexey Proskuryakov
Comment 3 2008-11-21 10:42:51 PST
Created attachment 25358 [details] abort() if crashing failed Mitz reminds that CRASH() is not 100% reliable. Added an abort() call after it.
Alexey Proskuryakov
Comment 4 2008-11-21 10:49:29 PST
Committed revision 38665.
Alexey Proskuryakov
Comment 5 2008-11-21 12:10:44 PST
Reverted in r38672 - this was somehow breaking this code in Interpreter.cpp: #define ADD_OPCODE_ID(id) m_opcodeIDTable.add(&&id, id); FOR_EACH_OPCODE_ID(ADD_OPCODE_ID); #undef ADD_OPCODE_ID
Alexey Proskuryakov
Comment 6 2008-11-21 12:11:19 PST
Comment on attachment 25358 [details] abort() if crashing failed Clearing review flag.
Alexey Proskuryakov
Comment 7 2008-11-21 12:45:23 PST
Created attachment 25360 [details] take three
Alexey Proskuryakov
Comment 8 2008-11-21 13:20:40 PST
Committed revision 38673.
Note You need to log in before you can comment on or make changes to this bug.