Closed Bug 758428 Opened 13 years ago Closed 13 years ago

shell swallows compiler bugs

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla15

People

(Reporter: Benjamin, Assigned: Benjamin)

Details

Attachments

(1 file, 2 obsolete files)

If frontend::CompileScript returns NULL because of OOM, Process() in js.cpp will continue merrily on its way and no one ever calls JS_ReportOutOfMemory(). Is it the responsibility of the JS API to call JS_ReportOutOfMemory() or the shell?
This is not as clear cut as a thought. Parts of the compiler that allocate things do call js_ReportOutOfMemory(). However, if you accidentally return NULL from the compiler with no error set, nothing gets spit out. It would be nice to have something fail when that happens. I'll try to devise a patch.
Summary: shell swallows OOM errors from the compiler → shell swallows compiler bugs
Attachment #627012 - Flags: review?(jorendorff)
Comment on attachment 627012 [details] [diff] [review] complains when the compiler returns NULL and doesn't report an error >+JSBool gGotError = JS_FALSE; In new code, use C++ bool, false, and true. (unless you have to match a function signature, or matching is the nicest way to avoid stupid C++ warnings, but that's not an issue here) >+ if (!script) >+ JS_ASSERT(gGotError); JS_ASSERT_IF(!script, gGotError);
Attachment #627012 - Flags: review?(jorendorff) → review+
Attached patch address review comments (obsolete) — Splinter Review
Assignee: general → bpeterson
Attachment #627012 - Attachment is obsolete: true
Attached patch use JS_ASSERT_IFSplinter Review
Attachment #628437 - Attachment is obsolete: true
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: