Closed Bug 546381 Opened 16 years ago Closed 16 years ago

[HTML5] browser_bug537449.js fails

Categories

(Core :: DOM: HTML Parser, defect, P1)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: hsivonen, Unassigned)

References

Details

Attachments

(1 file)

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]"]
Priority: -- → P1
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
The old parser asserts, too, so that's not the problem.
Summary: [HTML5] browser_bug537449.js throws and times out → [HTML5][WFM?] browser_bug537449.js throws and times out
Still fails on the tryserver.
Summary: [HTML5][WFM?] browser_bug537449.js throws and times out → [HTML5] browser_bug537449.js throws and times out
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
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).
This may be random.
Got tryserver runs without this failure.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
(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 → ---
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.
So openDialog fails with NS_ERROR_ILLEGAL_DURING_SHUTDOWN. Testing the hypothesis about the previous test causing the failure now.
dtownsend, would this test case fail with openDialog throwing NS_ERROR_ILLEGAL_DURING_SHUTDOWN if another test had left an extra window open?
Strange, that error should only happen if the application thinks it is shutting down when something tries to open a new window.
If I disable the test immediately before this one (browser_bug511456.js), this one passes.
(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.
(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.
Well, this is odd. My tryserver logs from yesterday are useless, because the failure didn't happen. I'll rebase and try again.
Rebased yet again. Still not seeing this. Marking WFM.
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → WORKSFORME
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.

Attachment

General

Created:
Updated:
Size: