Closed
Bug 485293
Opened 15 years ago
Closed 2 years ago
Crash calling exitPrintPreview() during Print Preview [@ nsPrintData::DoOnProgressChange(int, int, int, int) ] - [@ nsPrintData::OnEndPrinting]
Categories
(Toolkit :: Printing, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: wildmyron, Assigned: smaug)
Details
(Keywords: crash, testcase, Whiteboard: [ccbr])
Crash Data
Attachments
(1 file)
1.60 KB,
text/html
|
Details |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090324 Minefield/3.6a1pre ID:20090324044213 Calling exitPrintPreview()during print preview crashes Firefox @ nsPrintData::DoOnProgressChange Testcase based on attachment 290345 [details] by Martijn with a call to exitPrintPreview() in the listener for onStateChange. Requires enhanced priveleges. I guess this is a bit evil because this is exiting print preview before the preview has completed. I'm guessing that the listener is removed before doCommonPrint() completes and sends the final notification. (There seem to be two notifications - one on print preview progress dialog close and one on print preview completion.) Sample crash report: bp-c406136d-c0c4-49ca-81d5-1a0e22090325 Stack: Frame Module Signature [Expand] Source 0 ntdll.dll ntdll.dll@0xe4f4 1 kernel32.dll kernel32.dll@0x2541 2 xul.dll google_breakpad::ExceptionHandler::WriteMinidumpOnHandlerThread toolkit/crashreporter/google-breakpad/src/client/windows/handler/exception_handler.cc:562 3 xul.dll google_breakpad::ExceptionHandler::HandlePureVirtualCall toolkit/crashreporter/google-breakpad/src/client/windows/handler/exception_handler.cc:506 4 mozcrt19.dll _purecall obj-firefox/memory/jemalloc/src/purevirt.c:47 5 xul.dll nsPrintData::DoOnProgressChange layout/printing/nsPrintData.cpp:154 6 xul.dll nsPrintData::OnEndPrinting layout/printing/nsPrintData.cpp:141 7 xul.dll nsPrintEngine::FinishPrintPreview layout/printing/nsPrintEngine.cpp:3184 8 xul.dll nsPrintEngine::Observe layout/printing/nsPrintEngine.cpp:3234 9 xul.dll nsPrintProgress::DoneIniting embedding/components/printingui/src/win/nsPrintProgress.cpp:221 10 xul.dll NS_InvokeByIndex_P xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp:101 11 xul.dll XPCWrappedNative::CallMethod js/src/xpconnect/src/xpcwrappednative.cpp:2463 Variations of the testcase crash with slightly different stacks, e.g. bp-e0ff9ebf-e9e1-4ca1-ab59-6ee0c2090324 nsPrintData::DoOnProgressChange bp-c09fc744-a229-46f0-a2a1-5c85e2090324 nsVoidArray::Count Doesn't seem to be a regression (also crashes Fx2)
Assignee | ||
Comment 1•15 years ago
|
||
(In reply to comment #0) > I guess this is a bit evil because this is exiting print preview before the > preview has completed. This is indeed evil. Exiting print preview before it is completed is ok in some cases but not if it happens in nsIWebProgessListener::onStateChange. Is this bug blocking some other work? Otherwise I think we could just document that nsIWebProgessListener must not cancel print preview.
Reporter | ||
Comment 2•15 years ago
|
||
It isn't directly blocking any other work, I came across it while trying to create a testcase for a print preview bug. I was using martijn's code to do print preview and wanted to close firefox after the print preview finished. I don't have much experience with javascript and was having trouble getting the call to exitPrintPreview() to run. I was actually trying to get exitPrintPreview to be called after the preview completed and thought waiting for STATE_STOP would work.
Assignee | ||
Comment 3•15 years ago
|
||
Actually, I think we could make exitPrintPreview() to return some error code when it is not possible to exit. Taking.
Assignee: nobody → Olli.Pettay
Updated•15 years ago
|
Whiteboard: [ccbr]
Comment 4•13 years ago
|
||
one example in firefox 4 bp-9c6ba1f4-2a08-4ff3-9b61-9d3722110325
Summary: Crash calling exitPrintPreview() during Print Preview [@ nsPrintData::DoOnProgressChange(int, int, int, int) ] → Crash calling exitPrintPreview() during Print Preview [@ nsPrintData::DoOnProgressChange(int, int, int, int) ] - [@ nsPrintData::OnEndPrinting]
Updated•13 years ago
|
Crash Signature: [@ nsPrintData::DoOnProgressChange(int, int, int, int) ]
[@ nsPrintData::OnEndPrinting]
Updated•9 years ago
|
Crash Signature: [@ nsPrintData::DoOnProgressChange(int, int, int, int) ]
[@ nsPrintData::OnEndPrinting] → [@ nsPrintData::DoOnProgressChange(int, int, int, int) ]
[@ nsPrintData::OnEndPrinting]
[@ nsPrintData::DoOnProgressChange ]
Assignee | ||
Comment 5•2 years ago
|
||
It is not possible to use the APIs anymore from a webpage.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•