Closed
Bug 312630
Opened 19 years ago
Closed 6 years ago
nsScriptError::Init should assert for sourceName
Categories
(Core :: XPConnect, defect)
Core
XPConnect
Tracking
()
RESOLVED
INACTIVE
People
(Reporter: WeirdAl, Unassigned)
References
(Depends on 1 open bug)
Details
Attachments
(1 file, 2 obsolete files)
1.07 KB,
patch
|
bzbarsky
:
review-
bzbarsky
:
superreview-
|
Details | Diff | Splinter Review |
In a discussion over IRC, bz, biesi and I realized we should always check to make sure nsScriptError has sourceName and sourceLine defined for it. This bug is to add assertions to that effect. The goal is to fix any callers that pass in null for sourceName or sourceLine, and to ensure nobody does it in the future.
Reporter | ||
Comment 1•19 years ago
|
||
FYI, the discussion for this was borne of bug 248801.
Reporter | ||
Comment 2•19 years ago
|
||
Bug 312634 and bug 312651 are both a result of the second assertion, about sourceLine. I've hit no instances of the first assertion, but bug 312648 is a case we're just begging to hit. I would not be entirely opposed to making the second assertion a warning, but I would still like to fix the callers.
Reporter | ||
Comment 3•19 years ago
|
||
Comment on attachment 199745 [details] [diff] [review] patch :( Too many bites on the second assertion.
Attachment #199745 -
Attachment is obsolete: true
Reporter | ||
Comment 4•19 years ago
|
||
I've been running with the initial patch for quite a while, and would often hit the second assertion (which this patch now makes a warning). However, I have never hit the first assertion. This patch is safe.
Attachment #200174 -
Flags: superreview?(bzbarsky)
Attachment #200174 -
Flags: review?(bzbarsky)
Comment 5•19 years ago
|
||
Please don't add the warning until we've at least fixed the known bugs on that issue. No point cluttering up the debug output with random crap...
Reporter | ||
Updated•19 years ago
|
Attachment #200174 -
Attachment is obsolete: true
Attachment #200174 -
Flags: superreview?(bzbarsky)
Attachment #200174 -
Flags: review?(bzbarsky)
Reporter | ||
Updated•19 years ago
|
Summary: nsScriptError::Init should assert for sourceName, sourceLine → nsScriptError::Init should assert for sourceName
Reporter | ||
Comment 6•19 years ago
|
||
Just add the assertion, then, for source name.
Attachment #200204 -
Flags: superreview?
Attachment #200204 -
Flags: review?(bzbarsky)
Reporter | ||
Updated•19 years ago
|
Attachment #200204 -
Flags: superreview? → superreview?(bzbarsky)
Comment 7•19 years ago
|
||
Comment on attachment 200204 [details] [diff] [review] patch Need to test *sourceName too.
Attachment #200204 -
Flags: superreview?(bzbarsky)
Attachment #200204 -
Flags: superreview-
Attachment #200204 -
Flags: review?(bzbarsky)
Attachment #200204 -
Flags: review-
Reporter | ||
Comment 8•19 years ago
|
||
bz: any call to a javascript: url that has an error in it results in this assertion being hit. javascript:alert(Components.classes["FOO"]) 00 ntdll!DbgBreakPoint 01 xpcom_core!nsDebugImpl::Break(char * aFile = 0x00e7e2e0 "m:/mozilla/js/src/xpconnect/src/nsScriptError.cpp", int aLine = 131)+0x7e 02 xpcom_core!nsDebugImpl::Assertion(char * aStr = 0x00e7e330 "Need a non-null URI for the console service!", char * aExpr = 0x00e7e314 "sourceName && *sourceName", char * aFile = 0x00e7e2e0 "m:/mozilla/js/src/xpconnect/src/nsScriptError.cpp", int aLine = 131)+0x29e 03 xpcom_core!NSGlue_Assertion(char * aStr = 0x00e7e330 "Need a non-null URI for the console service!", char * aExpr = 0x00e7e314 "sourceName && *sourceName", char * aFile = 0x00e7e2e0 "m:/mozilla/js/src/xpconnect/src/nsScriptError.cpp", int aLine = 131)+0x4d 04 xpc3250!nsScriptError::Init(unsigned short * message = 0x04358ed0, unsigned short * sourceName = 0x100f6c50, unsigned short * sourceLine = 0x00000000, unsigned int lineNumber = 0, unsigned int columnNumber = 0, unsigned int flags = 2, char * category = 0x01abad80 "content javascript")+0x2d 05 gklayout!NS_ScriptErrorReporter(struct JSContext * cx = 0x038595a8, char * message = 0x03c57d20 "uncaught exception: Permission denied to get property UnnamedClass.classes", struct JSErrorReport * report = 0x0012a104)+0x3c7 06 js3250!js_ReportErrorAgain(struct JSContext * cx = 0x038595a8, char * message = 0x03c57ca8 "uncaught exception: Permission denied to get property UnnamedClass.classes", struct JSErrorReport * reportp = 0x0012a104)+0xc9 07 js3250!ReportError(struct JSContext * cx = 0x038595a8, char * message = 0x03c57ca8 "uncaught exception: Permission denied to get property UnnamedClass.classes", struct JSErrorReport * reportp = 0x0012a104)+0x4e 08 js3250!js_ReportErrorNumberVA(struct JSContext * cx = 0x038595a8, unsigned int flags = 0, <function> * callback = 0x00cf1efb, void * userRef = 0x00000000, unsigned int errorNumber = 0x93, int charArgs = 1, char * ap = 0x0012a16c "???")+0xe3 09 js3250!JS_ReportErrorNumber(struct JSContext * cx = 0x038595a8, <function> * errorCallback = 0x00cf1efb, void * userRef = 0x00000000, unsigned int errorNumber = 0x93, char * ap = 0x0012a16c "???")+0x27 0a js3250!js_ReportUncaughtException(struct JSContext * cx = 0x038595a8)+0x308 0b js3250!JS_EvaluateUCScriptForPrincipals(struct JSContext * cx = 0x038595a8, struct JSObject * obj = 0x03c78618, struct JSPrincipals * principals = 0x03ca8e0c, unsigned short * chars = 0x0012a30c, unsigned int length = 0x20, char * filename = 0x0012a4b0 "javascript:alert(Components.classes["FOO"])", unsigned int lineno = 1, long * rval = 0x0012a268)+0x95 0c gklayout!nsJSContext::EvaluateString(class nsAString_internal * aScript = 0x0012a2f4, void * aScopeObject = 0x03c78618, class nsIPrincipal * aPrincipal = 0x03ca8e08, char * aURL = 0x0012a4b0 "javascript:alert(Components.classes["FOO"])", unsigned int aLineNo = 1, char * aVersion = 0x00000000 "", class nsAString_internal * aRetValue = 0x0012a4f4, int * aIsUndefined = 0x0012a578)+0x2cf 0d gklayout!nsJSThunk::EvaluateScript(class nsIChannel * aChannel = 0x03ddaa20)+0xe1d 0e gklayout!nsJSChannel::InternalOpen(int aIsAsync = 1, class nsIStreamListener * aListener = 0x03ddaaf0, class nsISupports * aContext = 0x00000000, class nsIInputStream ** aResult = 0x00000000)+0xb3 0f gklayout!nsJSChannel::AsyncOpen(class nsIStreamListener * aListener = 0x03ddaaf0, class nsISupports * aContext = 0x00000000)+0x17 10 docshell!nsDocumentOpenInfo::Open(class nsIChannel * aChannel = 0x0432c730)+0x74 11 docshell!nsURILoader::OpenURI(class nsIChannel * channel = 0x0432c730, int aIsContentPreferred = 0, class nsIInterfaceRequestor * aWindowContext = 0x03867e70)+0x498 ...
Comment 9•19 years ago
|
||
Do we have a bug filed on that?
Assignee | ||
Updated•16 years ago
|
Product: Core → SeaMonkey
Comment 10•14 years ago
|
||
Moving to Core::XPConnect
Assignee: error-console → nobody
Component: Error Console → XPConnect
Product: SeaMonkey → Core
QA Contact: jrgmorrison → xpconnect
Comment 11•6 years ago
|
||
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INACTIVE
You need to log in
before you can comment on or make changes to this bug.
Description
•