Closed Bug 236904 Opened 21 years ago Closed 21 years ago

Opening msgPrintEngine.xul as chrome URI in browser crashes Mozilla

Categories

(MailNews Core :: Printing, defect)

x86
Windows 2000
defect
Not set
critical

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: whimboo, Assigned: rp.moz)

References

()

Details

(Keywords: crash)

Attachments

(1 file)

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7b) Gecko/20040308 Opening the specified chrome URI in the browser window crashes Mozilla. The crash occurs while the variable `printSettings' (content\messenger\msgPrintEngine.js) is not initialized correctly when opening the window directly. It keeps it's `null' value within function InitPrintEngineWindow() when opening directly without specifying any window arguments. So the function call printEngine.startPrintOperation(printSettings) results in a crash.
Keywords: crash
Confirming Moz 1.7a Before it crashes I get a "You can't dereference a NULL nsCOMPtr with operator->()." assertion right here. It crashes immediately after the assertion. http://lxr.mozilla.org/seamonkey/source/mailnews/base/src/nsMsgPrintEngine.cpp#384 379 // Turning off the showing of Print Progress in Prefs overrides 380 // whether the calling PS desire to have it on or off, so only check PS if 381 // prefs says it's ok to be on. 382 if (showProgressDialog) 383 { 384 mPrintSettings->GetShowPrintProgress(&showProgressDialog); 385 } NTDLL! 77f75a58() nsDebugImpl::Assertion(nsDebugImpl * const 0x002e6d38, const char * 0x03871c1c `string', const char * 0x03871c58 `string', const char * 0x03871c68 `string', int 670) line 272 nsDebug::Assertion(const char * 0x03871c1c `string', const char * 0x03871c58 `string', const char * 0x03871c68 `string', int 670) line 109 nsCOMPtr<nsIPrintSettings>::operator->() line 670 + 34 bytes nsMsgPrintEngine::ShowProgressDialog(int 1, int & 0) line 384 + 15 bytes nsMsgPrintEngine::FireThatLoadOperationStartup(nsMsgPrintEngine * const 0x02e3e8e8, nsString * 0x02ed3418) line 501 + 25 bytes nsMsgPrintEngine::StartNextPrintOperation(nsMsgPrintEngine * const 0x02e3e8e8) line 463 + 16 bytes nsMsgPrintEngine::StartPrintOperation(nsMsgPrintEngine * const 0x02e3e8e8, nsIPrintSettings * 0x00000000) line 349 XPTC_InvokeByIndex(nsISupports * 0x02e3e8e8, unsigned int 9, unsigned int 1, nsXPTCVariant * 0x0012d7c8) line 102 XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode CALL_METHOD) line 2022 + 42 bytes XPC_WN_CallMethod(JSContext * 0x029537d0, JSObject * 0x02c350d8, unsigned int 1, long * 0x02eb70b4, long * 0x0012da98) line 1287 + 14 bytes js_Invoke(JSContext * 0x029537d0, unsigned int 1, unsigned int 0) line 941 + 23 bytes js_Interpret(JSContext * 0x029537d0, long * 0x0012e3cc) line 2962 + 15 bytes js_Invoke(JSContext * 0x029537d0, unsigned int 1, unsigned int 2) line 958 + 13 bytes js_InternalInvoke(JSContext * 0x029537d0, JSObject * 0x02c363c0, long 43991504, unsigned int 0, unsigned int 1, long * 0x0012e644, long * 0x0012e640) line 1035 + 20 bytes JS_CallFunctionValue(JSContext * 0x029537d0, JSObject * 0x02c363c0, long 43991504, unsigned int 1, long * 0x0012e644, long * 0x0012e640) line 3592 + 31 bytes nsJSContext::CallEventHandler(JSObject * 0x02c363c0, JSObject * 0x029f41d0, unsigned int 1, long * 0x0012e644, long * 0x0012e640) line 1267 + 33 bytes nsJSEventListener::HandleEvent(nsJSEventListener * const 0x02e75d30, nsIDOMEvent * 0x02e3c688) line 174 + 52 bytes nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x02e75df0, nsIDOMEvent * 0x02e3c688, nsIDOMEventTarget * 0x02d15c08, unsigned int 1, unsigned int 2) line 1434 + 20 bytes nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x02e64910, nsIPresContext * 0x00000000, nsEvent * 0x0012f2fc, nsIDOMEvent * * 0x0012f254, nsIDOMEventTarget * 0x02d15c08, unsigned int 2, nsEventStatus * 0x0012f324) line 1527 + 56 bytes GlobalWindowImpl::HandleDOMEvent(nsIPresContext * 0x00000000, nsEvent * 0x0012f2fc, nsIDOMEvent * * 0x0012f254, unsigned int 2, nsEventStatus * 0x0012f324) line 890 nsXULDocument::HandleDOMEvent(nsIPresContext * 0x00000000, nsEvent * 0x0012f2fc, nsIDOMEvent * * 0x0012f254, unsigned int 2, nsEventStatus * 0x0012f324) line 1246 nsXULElement::HandleDOMEvent(nsIPresContext * 0x00000000, nsEvent * 0x0012f2fc, nsIDOMEvent * * 0x0012f254, unsigned int 2, nsEventStatus * 0x0012f324) line 2904 + 54 bytes nsXULElement::HandleDOMEvent(nsIPresContext * 0x00000000, nsEvent * 0x0012f2fc, nsIDOMEvent * * 0x0012f254, unsigned int 7, nsEventStatus * 0x0012f324) line 2898 + 56 bytes GlobalWindowImpl::HandleDOMEvent(nsIPresContext * 0x02e3fe38, nsEvent * 0x0012f38c, nsIDOMEvent * * 0x0012f350, unsigned int 7, nsEventStatus * 0x0012f3b4) line 938 + 45 bytes DocumentViewerImpl::LoadComplete(DocumentViewerImpl * const 0x02e672a0, unsigned int 0) line 911 + 35 bytes nsDocShell::EndPageLoad(nsIWebProgress * 0x02ea3ea4, nsIChannel * 0x02ea45c8, unsigned int 0) line 4328 nsWebShell::EndPageLoad(nsIWebProgress * 0x02ea3ea4, nsIChannel * 0x02ea45c8, unsigned int 0) line 752 nsDocShell::OnStateChange(nsDocShell * const 0x02e9b03c, nsIWebProgress * 0x02ea3ea4, nsIRequest * 0x02ea45c8, unsigned int 131088, unsigned int 0) line 4260 nsDocLoaderImpl::FireOnStateChange(nsIWebProgress * 0x02ea3ea4, nsIRequest * 0x02ea45c8, int 131088, unsigned int 0) line 1225 nsDocLoaderImpl::doStopDocumentLoad(nsIRequest * 0x02ea45c8, unsigned int 0) line 863 nsDocLoaderImpl::DocLoaderIsEmpty() line 761 nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x02ea3e94, nsIRequest * 0x02ea45c8, nsISupports * 0x00000000, unsigned int 0) line 691 nsLoadGroup::RemoveRequest(nsLoadGroup * const 0x02ea4080, nsIRequest * 0x02ea45c8, nsISupports * 0x00000000, unsigned int 0) line 695 + 35 bytes nsInputStreamChannel::OnStopRequest(nsInputStreamChannel * const 0x02ea45cc, nsIRequest * 0x02ea4700, nsISupports * 0x00000000, unsigned int 0) line 371 nsInputStreamPump::OnStateStop() line 499 nsInputStreamPump::OnInputStreamReady(nsInputStreamPump * const 0x02ea4704, nsIAsyncInputStream * 0x02ea47dc) line 339 + 11 bytes nsInputStreamReadyEvent::EventHandler(PLEvent * 0x02ea4e14) line 119 PL_HandleEvent(PLEvent * 0x02ea4e14) line 671 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x00a06ee0) line 606 + 9 bytes _md_EventReceiverProc(HWND__ * 0x00060394, unsigned int 49419, unsigned int 0, long 10514144) line 1412 + 9 bytes USER32! 77d43a50() USER32! 77d43b1f() USER32! 77d43d79() USER32! 77d43ddf() nsAppShellService::Run(nsAppShellService * const 0x00a65078) line 484 main1(int 1, char * * 0x002e2638, nsISupports * 0x00a04dd8) line 1291 + 32 bytes main(int 1, char * * 0x002e2638) line 1678 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e814c7()
Severity: normal → critical
Attached patch PatchSplinter Review
This fixes it for me.
Assignee: sspitzer → r.pronk
Status: NEW → ASSIGNED
Comment on attachment 143389 [details] [diff] [review] Patch Requesting superreview. Not sure who can review this. Do we need a review for a patch this simple?
Attachment #143389 - Flags: superreview?(mscott)
Attachment #143389 - Flags: superreview?(mscott) → superreview+
Comment on attachment 143389 [details] [diff] [review] Patch Neil, can you review this? If it's ok with you, feel free to check it in. I don't have permission to do it myself. Thanks.
Attachment #143389 - Flags: review?(neil.parkwaycc.co.uk)
Comment on attachment 143389 [details] [diff] [review] Patch Sorry for the delay, but I didn't have time to fix my tree earlier :-( If you need it I can still check this in for you once you get a=
Attachment #143389 - Flags: review?(neil.parkwaycc.co.uk) → review+
Comment on attachment 143389 [details] [diff] [review] Patch Requesting approval for this patch. It's a one line patch that add a simple null check to nsMsgPrintEngine.cpp in order to prevent a crash. sr=mscott r=neil
Attachment #143389 - Flags: approval1.7b?
Comment on attachment 143389 [details] [diff] [review] Patch a=mkaply since it's a crasher
Attachment #143389 - Flags: approval1.7b? → approval1.7b+
Neil, I got the a=mkaply so can you check this is for me? Thanks.
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Product: MailNews → Core
Status: RESOLVED → VERIFIED
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: