Closed
Bug 546381
Opened 16 years ago
Closed 16 years ago
[HTML5] browser_bug537449.js fails
Categories
(Core :: DOM: HTML Parser, defect, P1)
Core
DOM: HTML Parser
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: hsivonen, Unassigned)
References
Details
Attachments
(1 file)
13.32 KB,
patch
|
Details | Diff | Splinter Review |
TEST-INFO | chrome://mochikit/content/browser/toolkit/components/startup/tests/browser/browser_bug537449.js | Console message: [JavaScript Error: "uncaught exception: [Exception... "Component returned failure code: 0x8046001e [nsIDOMJSWindow.openDialog]" nsresult: "0x8046001e (<unknown>)" location: "JS frame :: chrome://browser/content/browser.js :: OpenBrowserWindow :: line 5489" data: no]"]
Reporter | ||
Updated•16 years ago
|
Priority: -- → P1
Reporter | ||
Comment 1•16 years ago
|
||
I see an assertion firing.
###!!! ASSERTION: Oops! You're asking for a weak reference to an object that doesn't support that.: 'factoryPtr', file nsWeakReference.cpp, line 109
NS_GetWeakReference(nsISupports*, unsigned int*) (in libxpcom_core.dylib) (nsWeakReference.cpp:110)
do_GetWeakReference(nsISupports*, unsigned int*) (in libxpcom_core.dylib) (nsIWeakReferenceUtils.h:110)
sObserverList::RemoveObserver(nsIObserver*) (nsObserverList.cpp:76, in libxpcom_core.dylib)
nsObserverService::RemoveObserver(nsIObserver*, char const*) (in libxpcom_core.dylib) (nsObserverService.cpp:153)
S_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179, in libxpcom_core.dylib)
XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (in libxpconnect.dylib) (xpcwrappednative.cpp:2727)
XPC_WN_CallMethod(JSContext*, JSObject*, unsigned int, long*, long*) (in libxpconnect.dylib) (xpcwrappednativejsops.cpp:1770)
s_Invoke (jsinterp.cpp:1370, in libmozjs.dylib)
s_Interpret (jsops.cpp:2277, in libmozjs.dylib)
s_Invoke (jsinterp.cpp:1378, in libmozjs.dylib)
s_InternalInvoke (jsinterp.cpp:1435, in libmozjs.dylib)
S_CallFunctionValue (jsapi.cpp:4951, in libmozjs.dylib)
nsJSContext::CallEventHandler(nsISupports*, void*, void*, nsIArray*, nsIVariant**) (in libgklayout.dylib) (nsJSEnvironment.cpp:2164)
sJSEventListener::HandleEvent(nsIDOMEvent*) (nsJSEventListener.cpp:228, in libgklayout.dylib)
nsEventListenerManager::HandleEventSubType(nsListenerStruct*, nsIDOMEventListener*, nsIDOMEvent*, nsPIDOMEventTarget*, unsigned int, nsCxPusher*) (in libgklayout.dylib) (nsEventListenerManager.cpp:1082)
nsEventListenerManager::HandleEvent(nsPresContext*, nsEvent*, nsIDOMEvent**, nsPIDOMEventTarget*, unsigned int, nsEventStatus*, nsCxPusher*) (in libgklayout.dylib) (nsEventListenerManager.cpp:1199)
nsEventTargetChainItem::HandleEvent(nsEventChainPostVisitor&, unsigned int, int, nsCxPusher*) (in libgklayout.dylib) (nsEventDispatcher.cpp:202)
nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor&, unsigned int, nsDispatchingCallback*, int, nsCxPusher*) (in libgklayout.dylib) (nsEventDispatcher.cpp:328)
nsEventDispatcher::Dispatch(nsISupports*, nsPresContext*, nsEvent*, nsIDOMEvent*, nsEventStatus*, nsDispatchingCallback*, nsCOMArray<nsPIDOMEventTarget>*) (in libgklayout.dylib) (nsEventDispatcher.cpp:601)
ocumentViewerImpl::PageHide(int) (nsDocumentViewer.cpp:1292, in libgklayout.dylib)
sDocShell::FirePageHideNotification(int) (nsDocShell.cpp:1463, in libdocshell.dylib)
sDocShell::Destroy() (nsDocShell.cpp:4298, in libdocshell.dylib)
sXULWindow::Destroy() (nsXULWindow.cpp:515, in libnsappshell.dylib)
sWebShellWindow::Destroy() (nsWebShellWindow.cpp:779, in libnsappshell.dylib)
sChromeTreeOwner::Destroy() (nsChromeTreeOwner.cpp:383, in libnsappshell.dylib)
sGlobalWindow::ReallyCloseWindow() (nsGlobalWindow.cpp:5749, in libgklayout.dylib)
sCloseEvent::Run() (nsGlobalWindow.cpp:5518, in libgklayout.dylib)
nsThread::ProcessNextEvent(int, int*) (in libxpcom_core.dylib) (nsThread.cpp:527)
NS_ProcessNextEvent_P(nsIThread*, int) (in libxpcom_core.dylib) (nsThreadUtils.cpp:250)
sXULWindow::ShowModal() (nsXULWindow.cpp:405, in libnsappshell.dylib)
sContentTreeOwner::ShowAsModal() (nsContentTreeOwner.cpp:528, in libnsappshell.dylib)
nsWindowWatcher::OpenWindowJSInternal(nsIDOMWindow*, char const*, char const*, char const*, int, nsIArray*, int, nsIDOMWindow**) (in libembedcomponents.dylib) (nsWindowWatcher.cpp:1002)
nsWindowWatcher::OpenWindow(nsIDOMWindow*, char const*, char const*, char const*, nsISupports*, nsIDOMWindow**) (in libembedcomponents.dylib) (nsWindowWatcher.cpp:422)
nsPromptService::DoDialog(nsIDOMWindow*, nsIDialogParamBlock*, char const*) (in libembedcomponents.dylib) (nsPromptService.cpp:794)
nsPromptService::Confirm(nsIDOMWindow*, unsigned short const*, unsigned short const*, int*) (in libembedcomponents.dylib) (nsPromptService.cpp:238)
nsPrompt::Confirm(unsigned short const*, unsigned short const*, int*) (in libembedcomponents.dylib) (nsPrompt.cpp:217)
DocumentViewerImpl::PermitUnload(int, int*) (in libgklayout.dylib) (nsDocumentViewer.cpp:1189)
S_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179, in libxpcom_core.dylib)
XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (in libxpconnect.dylib) (xpcwrappednative.cpp:2727)
XPC_WN_CallMethod(JSContext*, JSObject*, unsigned int, long*, long*) (in libxpconnect.dylib) (xpcwrappednativejsops.cpp:1770)
s_Invoke (jsinterp.cpp:1370, in libmozjs.dylib)
s_Interpret (jsops.cpp:2277, in libmozjs.dylib)
s_Invoke (jsinterp.cpp:1378, in libmozjs.dylib)
nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (in libxpconnect.dylib) (xpcwrappedjsclass.cpp:1696)
nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (in libxpconnect.dylib) (xpcwrappedjs.cpp:570)
PrepareAndDispatch(nsXPTCStubBase*, unsigned int, unsigned int*) (in libxpcom_core.dylib) (xptcstubs_unixish_x86.cpp:93)
sXPTCStubBase::Stub3() (xptcstubsdef.inc:1, in libxpcom_core.dylib)
nsEventListenerManager::HandleEventSubType(nsListenerStruct*, nsIDOMEventListener*, nsIDOMEvent*, nsPIDOMEventTarget*, unsigned int, nsCxPusher*) (in libgklayout.dylib) (nsEventListenerManager.cpp:1082)
nsEventListenerManager::HandleEvent(nsPresContext*, nsEvent*, nsIDOMEvent**, nsPIDOMEventTarget*, unsigned int, nsEventStatus*, nsCxPusher*) (in libgklayout.dylib) (nsEventListenerManager.cpp:1199)
nsEventTargetChainItem::HandleEvent(nsEventChainPostVisitor&, unsigned int, int, nsCxPusher*) (in libgklayout.dylib) (nsEventDispatcher.cpp:202)
nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor&, unsigned int, nsDispatchingCallback*, int, nsCxPusher*) (in libgklayout.dylib) (nsEventDispatcher.cpp:328)
nsEventDispatcher::Dispatch(nsISupports*, nsPresContext*, nsEvent*, nsIDOMEvent*, nsEventStatus*, nsDispatchingCallback*, nsCOMArray<nsPIDOMEventTarget>*) (in libgklayout.dylib) (nsEventDispatcher.cpp:601)
DocumentViewerImpl::LoadComplete(unsigned int) (in libgklayout.dylib) (nsDocumentViewer.cpp:1027)
nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, unsigned int) (in libdocshell.dylib) (nsDocShell.cpp:5750)
nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, unsigned int) (in libdocshell.dylib) (nsDocShell.cpp:5627)
nsDocLoader::FireOnStateChange(nsIWebProgress*, nsIRequest*, int, unsigned int) (in libdocshell.dylib) (nsDocLoader.cpp:1298)
nsDocLoader::doStopDocumentLoad(nsIRequest*, unsigned int) (in libdocshell.dylib) (nsDocLoader.cpp:937)
sDocLoader::DocLoaderIsEmpty(int) (nsDocLoader.cpp:804, in libdocshell.dylib)
nsDocLoader::OnStopRequest(nsIRequest*, nsISupports*, unsigned int) (in libdocshell.dylib) (nsDocLoader.cpp:700)
nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, unsigned int) (in libnecko.dylib) (nsLoadGroup.cpp:680)
sDocument::DoUnblockOnload() (nsDocument.cpp:7096, in libgklayout.dylib)
sDocument::UnblockOnload(int) (nsDocument.cpp:7042, in libgklayout.dylib)
sBindingManager::DoProcessAttachedQueue() (nsBindingManager.cpp:996, in libgklayout.dylib)
nsRunnableMethod<nsBindingManager, void>::Run() (in libgklayout.dylib) (nsThreadUtils.h:283)
nsThread::ProcessNextEvent(int, int*) (in libxpcom_core.dylib) (nsThread.cpp:527)
NS_ProcessPendingEvents_P(nsIThread*, unsigned int) (in libxpcom_core.dylib) (nsThreadUtils.cpp:200)
sBaseAppShell::NativeEventCallback() (nsBaseAppShell.cpp:126, in libwidget_mac.dylib)
sAppShell::ProcessGeckoEvents(void*) (nsAppShell.mm:511, in libwidget_mac.dylib)
__CFRunLoopDoSources0 (in CoreFoundation) + 1563
__CFRunLoopRun (in CoreFoundation) + 1071
CFRunLoopRunSpecific (in CoreFoundation) + 452
CFRunLoopRunInMode (in CoreFoundation) + 97
RunCurrentEventLoopInMode (in HIToolbox) + 392
ReceiveNextEventCommon (in HIToolbox) + 354
BlockUntilNextEventMatchingListInMode (in HIToolbox) + 81
_DPSNextEvent (in AppKit) + 847
--[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit) + 156
--[NSApplication run] (in AppKit) + 821
sAppShell::Run() (nsAppShell.mm:863, in libwidget_mac.dylib)
sAppStartup::Run() (nsAppStartup.cpp:183, in libtoolkitcomps.dylib)
RE_main (nsAppRunner.cpp:3494, in XUL)
ain (nsBrowserApp.cpp:158, in firefox-bin)
start (in firefox-bin) + 54
Reporter | ||
Comment 2•16 years ago
|
||
The old parser asserts, too, so that's not the problem.
Reporter | ||
Updated•16 years ago
|
Summary: [HTML5] browser_bug537449.js throws and times out → [HTML5][WFM?] browser_bug537449.js throws and times out
Reporter | ||
Comment 4•16 years ago
|
||
Still fails on the tryserver.
Summary: [HTML5][WFM?] browser_bug537449.js throws and times out → [HTML5] browser_bug537449.js throws and times out
Reporter | ||
Comment 5•16 years ago
|
||
TEST-UNEXPECTED-FAIL | chrome://mochikit/content/browser/toolkit/components/startup/tests/browser/browser_bug537449.js | Should have seen a prompt dialog
TEST-UNEXPECTED-FAIL | chrome://mochikit/content/browser/toolkit/components/startup/tests/browser/browser_bug537449.js | Shouldn't have closed the window
Doesn't throw or time out anymore.
Summary: [HTML5] browser_bug537449.js throws and times out → [HTML5] browser_bug537449.js fails
Reporter | ||
Comment 6•16 years ago
|
||
This looks timing-related to me. It passes for me locally on 64-bit Linux and on Mac OS X. It fails (as shown in comment 5) on 32-bit Linux on the tryserver.
The tryserver run had patches for bug 543458 and bug 540574 applied, the former of which changes timing dramatically.
Any ideas why this passes locally with html5.enable=true but fails on the tryserver (with html5.enable=true)? As far as I can tell, the only HTML parser dependency is that the test wants to see a load event, which it sees (at least in the local case).
Reporter | ||
Comment 7•16 years ago
|
||
This may be random.
Reporter | ||
Comment 8•16 years ago
|
||
Got tryserver runs without this failure.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
Reporter | ||
Comment 9•16 years ago
|
||
(In reply to comment #8)
> Got tryserver runs without this failure.
Please ignore that data oint. It was bogus. I still see this on Windows.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Reporter | ||
Comment 10•16 years ago
|
||
Maybe this isn't timing-related. It could be that an earlier test leaves the browser in a bad state and the bad state makes this test fail.
Reporter | ||
Comment 11•16 years ago
|
||
So openDialog fails with NS_ERROR_ILLEGAL_DURING_SHUTDOWN.
Testing the hypothesis about the previous test causing the failure now.
Reporter | ||
Comment 12•16 years ago
|
||
dtownsend, would this test case fail with openDialog throwing NS_ERROR_ILLEGAL_DURING_SHUTDOWN if another test had left an extra window open?
Comment 13•16 years ago
|
||
Strange, that error should only happen if the application thinks it is shutting down when something tries to open a new window.
Reporter | ||
Comment 14•16 years ago
|
||
If I disable the test immediately before this one (browser_bug511456.js), this one passes.
Comment 15•16 years ago
|
||
(In reply to comment #14)
> If I disable the test immediately before this one (browser_bug511456.js), this
> one passes.
So I guess it'd be interesting to add some logging into nsAppStartup::Quit to see why it isn't cancelling the shutdown during that test.
Reporter | ||
Comment 16•16 years ago
|
||
(In reply to comment #15)
> So I guess it'd be interesting to add some logging into nsAppStartup::Quit to
> see why it isn't cancelling the shutdown during that test.
I'm working on this.
Reporter | ||
Comment 17•16 years ago
|
||
Well, this is odd. My tryserver logs from yesterday are useless, because the failure didn't happen.
I'll rebase and try again.
Reporter | ||
Comment 18•16 years ago
|
||
Rebased yet again. Still not seeing this. Marking WFM.
Status: REOPENED → RESOLVED
Closed: 16 years ago → 16 years ago
Resolution: --- → WORKSFORME
Reporter | ||
Comment 19•16 years ago
|
||
Attaching my debugging printf/dump patch in case this problem resurfaces and someone needs the patch.
You need to log in
before you can comment on or make changes to this bug.
Description
•