Closed Bug 295160 Opened 20 years ago Closed 20 years ago

Null filename assert at js/src/xpconnect/src/xpcconvert.cpp, line 1081

Categories

(Core :: XBL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.8beta2

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

Attachments

(1 file)

BUILD: Current trunk firefox STEPS TO REPRODUCE: 1) Start firefox 2) Hit Ctrl-u to open view-source ACTUAL RESULTS: ###!!! ASSERTION: null script filename: 'flags != JSFILENAME_NULL', file ../../../../../mozilla/js/src/xpconnect/src/xpcconvert.cpp, line 1081 EXPECTED RESULTS: no assert.
Attached patch Patch (deleted) — Splinter Review
BL is bad. It was passing a null filename. I went with using the URI of the ownerDocument of the node we got our event handler script from in that case. Note that for non-key handlers mPrototypeBinding must not be null, so the null-check there is redundant.
Attachment #184341 - Flags: superreview?(jst)
Attachment #184341 - Flags: review?(jst)
Comment on attachment 184341 [details] [diff] [review] Patch r+sr=jst
Attachment #184341 - Flags: superreview?(jst)
Attachment #184341 - Flags: superreview+
Attachment #184341 - Flags: review?(jst)
Attachment #184341 - Flags: review+
This is an improvement for sure. But shouldn't we use a real XBL file, and a non-zero line number? /be
Assignee: general → general
Component: JavaScript Engine → XBL
Flags: blocking1.8b2+
OS: Linux → All
Hardware: PC → All
Comment on attachment 184341 [details] [diff] [review] Patch requesting 1.8b2 approval for not passing null as the script filename into the JS engine, which causes asserts and could even give some user XBL expanded permissions in some cases.
Attachment #184341 - Flags: approval1.8b2?
Brendan, there is no "real XBL" involved. A <xul:key> element is implemented by creating an XBLPrototypeHandler in a vacuum (without any binding) and then calling ExecuteHandler() on it when the <key> is triggered. See content/xbl/src/nsXBLWindowKeyHandler.cpp and the second XBLPrototypeHandler constructor at http://lxr.mozilla.org/seamonkey/source/content/xbl/src/nsXBLPrototypeHandler.cpp#133 (note that it sets mPrototypeBinding to null). The "right" line number would be that of the <key> or <command> node (whichever we used) in the XUL file. There's no way for us to find that out from here.
Attachment #184341 - Flags: approval1.8b2? → approval1.8b2+
Assignee: general → bzbarsky
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.8beta2
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: