У меня такая же ситуация с аварией.
Если вы используете xulrunner 10.0.4esr, вы получите этот вывод System.err до прерывания работы JVM:
###!!! ABORT: Main-thread-only object used off the main thread: file e:/builds/moz2_slave/rel-m-esr10-xr-w32-bld/build/xpcom/base/nsCycleCollector.cpp, line 1278
Я узнал, что вам нужно будет уничтожить nsIBaseWindow экземпляра nsIWebBrowser, чтобы очистить вещи:
nsIWebBrowser webBrowser = (nsIWebBrowser)b.getWebBrowser();
nsIBaseWindow baseWindow = (nsIBaseWindow)webBrowser.queryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID);
baseWindow.destroy();
После этого вы можете создавать новые экземпляры браузера SWT с Mozilla/xul.
Проблема в том, что вы больше не можете получить доступ к nsInterfaces (поскольку Browser.getWebBrowser() возвращает null)!
Есть ли способ программно добраться до этого объекта nsIBaseWindow на xulrunner 10 или 24?
Вот фрагмент из журнала сбоев (сгенерированный с помощью xulrunner 24 и среды выполнения JDK6):
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [xul.dll+0xaa1b4c] NS_CycleCollectorSuspect2+0xc
C [xul.dll+0x6d45d1] xpc_ActivateDebugMode+0x1a588
C [xul.dll+0x6d1192] xpc_ActivateDebugMode+0x17149
C [xul.dll+0xa74003] JSD_GetValueForObject+0x2b8625
C [xul.dll+0xa72ffa] JSD_GetValueForObject+0x2b761c
C [xul.dll+0x70fdae] xpc_ActivateDebugMode+0x55d65
C [xul.dll+0x711bc6] xpc_ActivateDebugMode+0x57b7d
C [swt-xulrunner-win32-4426.dll+0x11d6] Java_org_eclipse_swt_internal_mozilla_XPCOM__1VtblCall__II+0xe
j org.eclipse.swt.internal.mozilla.XPCOM.VtblCall(II)I+9
j org.eclipse.swt.internal.mozilla.nsIBaseWindow.Create()I+9
j org.eclipse.swt.browser.MozillaDelegate.createBaseWindow(Lorg/eclipse/swt/internal/mozilla/nsIBaseWindow;)I+1
j org.eclipse.swt.browser.Mozilla.initWebBrowserWindows()V+184
j org.eclipse.swt.browser.Mozilla.create(Lorg/eclipse/swt/widgets/Composite;I)V+665
j org.eclipse.swt.browser.Browser.<init>(Lorg/eclipse/swt/widgets/Composite;I)V+81
j XulTest$1.run()V+47
person
Gerrit Volkenborn
schedule
19.05.2014
SWT.MOZILLA
? - person Baz   schedule 20.12.2012