Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 325440

Summary: recursive attempt by MozBrowserEditor to create itself, leads to crash on Mac
Product: z_Archived Reporter: Jacek Pospychala <jacek.pospychala>
Component: ATFAssignee: Inbox <atf.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Jacek Pospychala CLA 2010-09-16 07:41:59 EDT
I'm getting this when opening ATF's browser for first time:

Warning: Detected recursive attempt by part org.eclipse.atf.mozilla.ide.ui.MozBrowserEditor to create itself (this is probably, but not necessarily, a bug)

What's more, shortly after this error, an NPE is thrown.
Somehow, on Mac it crashes native function from XULRunner that originaly calls java callback.
Comment 1 Jacek Pospychala CLA 2010-09-16 07:42:37 EDT
exception:
org.eclipse.core.runtime.AssertionFailedException: null argument:
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
	at org.eclipse.ui.internal.PartList.setActiveEditor(PartList.java:149)
	at org.eclipse.ui.internal.WorkbenchPage.makeActiveEditor(WorkbenchPage.java:1281)
	at org.eclipse.ui.internal.WorkbenchPage.bringToTop(WorkbenchPage.java:855)
	at org.eclipse.atf.mozilla.ide.ui.browser.MozBrowserEditor$MozillaBrowserListener.completed(MozBrowserEditor.java:315)
	at org.eclipse.swt.browser.Mozilla$21.run(Mozilla.java:3262)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4233)
	at org.eclipse.swt.browser.Mozilla.OnStateChange(Mozilla.java:3269)
	at org.eclipse.swt.browser.Mozilla$10.method3(Mozilla.java:967)
	at org.eclipse.swt.internal.mozilla.XPCOMObject.callback3(XPCOMObject.java:266)
	at org.eclipse.swt.internal.mozilla.XPCOM._VtblCall(Native Method)
	at org.eclipse.swt.internal.mozilla.XPCOM.VtblCall(XPCOM.java:1647)
	at org.eclipse.swt.internal.mozilla.nsIWebNavigation.LoadURI(nsIWebNavigation.java:83)
	at org.eclipse.swt.browser.Mozilla.setUrl(Mozilla.java:2701)
	at org.eclipse.swt.browser.Browser.setUrl(Browser.java:1085)
	at org.eclipse.swt.browser.Browser.setUrl(Browser.java:1053)
	at org.eclipse.atf.mozilla.ide.ui.browser.MozBrowserEditor.goToURL(MozBrowserEditor.java:770)
	at org.eclipse.atf.mozilla.ide.ui.browser.MozBrowserEditor.createPartControl(MozBrowserEditor.java:659)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2674)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:439)
	at org.eclipse.atf.mozilla.ide.ui.browser.util.MozBrowserUtil.openMozillaBrowser(MozBrowserUtil.java:47)
	at org.eclipse.atf.mozilla.ide.ui.browser.util.MozBrowserUtil.openMozillaBrowser(MozBrowserUtil.java:70)
	at org.eclipse.atf.mozilla.ide.ui.internal.browser.support.InternalWebBrowser.openURL(InternalWebBrowser.java:46)
	at org.eclipse.php.internal.debug.core.zend.debugger.PHPWebServerDebuggerInitializer$1.run(PHPWebServerDebuggerInitializer.java:148)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164)
	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3586)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3279)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:334)
	at org.eclipse.jface.dialogs.MessageDialogWithToggle.open(MessageDialogWithToggle.java:114)
	at org.eclipse.jface.dialogs.MessageDialogWithToggle.openYesNoQuestion(MessageDialogWithToggle.java:303)
	at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager.shouldSwitchPerspective(PerspectiveManager.java:646)
	at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager.access$4(PerspectiveManager.java:588)
	at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager$2.run(PerspectiveManager.java:330)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3586)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3279)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
org.eclipse.core.runtime.AssertionFailedException: null argument:
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
	at org.eclipse.ui.internal.PartList.setActiveEditor(PartList.java:149)
	at org.eclipse.ui.internal.WorkbenchPage.makeActiveEditor(WorkbenchPage.java:1281)
	at org.eclipse.ui.internal.WorkbenchPage.bringToTop(WorkbenchPage.java:855)
	at org.eclipse.atf.mozilla.ide.ui.browser.MozBrowserEditor$MozillaBrowserListener.completed(MozBrowserEditor.java:315)
	at org.eclipse.swt.browser.Mozilla$21.run(Mozilla.java:3262)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4233)
	at org.eclipse.swt.browser.Mozilla.OnStateChange(Mozilla.java:3269)
	at org.eclipse.swt.browser.Mozilla$10.method3(Mozilla.java:967)
	at org.eclipse.swt.internal.mozilla.XPCOMObject.callback3(XPCOMObject.java:266)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4483)
	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4739)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSAlert.runModal(NSAlert.java:37)
	at org.eclipse.swt.widgets.MessageBox.open(MessageBox.java:232)
	at org.eclipse.swt.browser.PromptService2.Alert(PromptService2.java:198)
	at org.eclipse.swt.browser.PromptService2$3.method3(PromptService2.java:71)
	at org.eclipse.swt.internal.mozilla.XPCOMObject.callback3(XPCOMObject.java:266)
	at org.eclipse.swt.internal.mozilla.XPCOM._VtblCall(Native Method)
	at org.eclipse.swt.internal.mozilla.XPCOM.VtblCall(XPCOM.java:1647)
	at org.eclipse.swt.internal.mozilla.nsIWebNavigation.LoadURI(nsIWebNavigation.java:83)
	at org.eclipse.swt.browser.Mozilla.setUrl(Mozilla.java:2701)
	at org.eclipse.swt.browser.Browser.setUrl(Browser.java:1085)
	at org.eclipse.swt.browser.Browser.setUrl(Browser.java:1053)
	at org.eclipse.atf.mozilla.ide.ui.browser.MozBrowserEditor.goToURL(MozBrowserEditor.java:770)
	at org.eclipse.atf.mozilla.ide.ui.browser.MozBrowserEditor.createPartControl(MozBrowserEditor.java:659)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2674)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:439)
	at org.eclipse.atf.mozilla.ide.ui.browser.util.MozBrowserUtil.openMozillaBrowser(MozBrowserUtil.java:47)
	at org.eclipse.atf.mozilla.ide.ui.browser.util.MozBrowserUtil.openMozillaBrowser(MozBrowserUtil.java:70)
	at org.eclipse.atf.mozilla.ide.ui.internal.browser.support.InternalWebBrowser.openURL(InternalWebBrowser.java:46)
	at org.eclipse.php.internal.debug.core.zend.debugger.PHPWebServerDebuggerInitializer$1.run(PHPWebServerDebuggerInitializer.java:148)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164)
	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3586)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3279)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:334)
	at org.eclipse.jface.dialogs.MessageDialogWithToggle.open(MessageDialogWithToggle.java:114)
	at org.eclipse.jface.dialogs.MessageDialogWithToggle.openYesNoQuestion(MessageDialogWithToggle.java:303)
	at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager.shouldSwitchPerspective(PerspectiveManager.java:646)
	at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager.access$4(PerspectiveManager.java:588)
	at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager$2.run(PerspectiveManager.java:330)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3586)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3279)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Comment 2 Jacek Pospychala CLA 2010-09-16 07:43:48 EDT
Mac crash log:


2010-09-14 21:46:00.486 java[615:a07] *** __NSAutoreleaseNoPool(): Object 0x4b48f540 of class NSException autoreleased with no pool in place - just leaking
2010-09-14 21:46:00.487 java[615:a07] An uncaught exception was raised
2010-09-14 21:46:00.487 java[615:a07] Java exception occurred
2010-09-14 21:46:00.487 java[615:a07] *** __NSAutoreleaseNoPool(): Object 0x1159a0 of class NSCFString autoreleased with no pool in place - just leaking
2010-09-14 21:46:00.491 java[615:a07] *** __NSAutoreleaseNoPool(): Object 0x96bc00 of class NSCFString autoreleased with no pool in place - just leaking
2010-09-14 21:46:00.491 java[615:a07] *** __NSAutoreleaseNoPool(): Object 0x4b2b7590 of class NSConcreteMutableData autoreleased with no pool in place - just leaking
2010-09-14 21:46:00.491 java[615:a07] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Java exception occurred'
*** Call stack at first throw:
(
        0   CoreFoundation                      0x96425bba __raiseError + 410
        1   libobjc.A.dylib                     0x92b4d509 objc_exception_throw + 56
        2   CoreFoundation                      0x964709f1 -[NSException raise] + 17
        3   libswt-cocoa-3650.jnilib            0x37f29ef8 callback + 1179
        4   ???                                 0x36dfb95b 0x0 + 920631643
        5   XUL                                 0x4c3f6eec _ZN11nsDocLoader17FireOnStateChangeEP14nsIWebProgressP10nsIRequestij + 236
        6   XUL                                 0x4c3f7227 _ZN11nsDocLoader18doStopDocumentLoadEP10nsIRequestj + 55
        7   XUL                                 0x4c3f7393 _ZN11nsDocLoader16DocLoaderIsEmptyEi + 307
        8   XUL                                 0x4c3f7776 _ZN11nsDocLoader13OnStopRequestEP10nsIRequestP11nsISupportsj + 198
        9   XUL                                 0x4bd0df30 _ZN11nsLoadGroup13RemoveRequestEP10nsIRequestP11nsISupportsj + 256
        10  XUL                                 0x4bd803e6 _ZN13nsHttpChannel10AsyncAbortEj + 134
        11  XUL                                 0x4bd8b2ac _ZN13nsHttpChannel9AsyncOpenEP17nsIStreamListenerP11nsISupports + 908
        12  XUL                                 0x4c3f4782 _ZN11nsURILoader7OpenURIEP10nsIChanneliP21nsIInterfaceRequestor + 114
        13  XUL                                 0x4c3dc939 _ZN10nsDocShell13DoChannelLoadEP10nsIChannelP12nsIURILoaderi + 153
        14  XUL                                 0x4c3e60f0 _ZN10nsDocShell9DoURILoadEP6nsIURIS1_iP11nsISupportsPKcP14nsIInputStreamS7_iPP11nsIDocShellPP10nsIRequestii + 1376
        15  XUL                                 0x4c3e72a3 _ZN10nsDocShell12InternalLoadEP6nsIURIS1_P11nsISupportsjPKtPKcP14nsIInputStreamS9_jP10nsISHEntryiPP11nsIDocShellPP10nsIRequest + 3427
        16  XUL                                 0x4c3de712 _ZN10nsDocShell7LoadURIEP6nsIURIP19nsIDocShellLoadInfoji + 930
        17  XUL                                 0x4c3e4a6c _ZN10nsDocShell7LoadURIEPKtjP6nsIURIP14nsIInputStreamS5_ + 812
        18  libswt-xulrunner-cocoa-3650.jnilib  0x4ae02ead Java_org_eclipse_swt_internal_mozilla_XPCOM__1VtblCall__II_3CIIII + 127
        19  ???                                 0x03011410 0x0 + 50402320
)
Comment 3 Jacek Pospychala CLA 2010-09-16 07:47:10 EDT
fixed in head and branch