UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla
I have RTC v1.0 server and client installed on a Ubuntu 8.04 VM for evaluation. The server installed and runs fine... but the client throws an exception every time I open the Iteration Plan Editor (please see below). Once this exception is thrown, the client becomes extremely unstable and it appears the only way to clean up after the error is to reboot the VM... restarting eclipse doesn't seem to do it. Has anyone else seen this issue and/or is there a work around or fix that can be applied?
Here is the error from the log file:
!SESSION 2008-07-11 07:19:08.154 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20080315 (JIT enabled)
J9VM - 20080314_17962_lHdSMr
JIT - 20080130_0718ifx2_r8
GC - 200802_08
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -product com.ibm.team.concert.product
Command-line arguments: -os linux -ws gtk -arch x86 -product com.ibm.team.concert.product
!ENTRY com.ibm.team.process.ide.ui 4 0 2008-07-11 07:19:25.765
!MESSAGE Error logged from Process Client UI:
!STACK 0
org.eclipse.swt.SWTError: No more handles (java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file)
at org.eclipse.swt.SWT.error(SWT.java:3589)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:323)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:109)
at com.ibm.team.process.internal.ide.ui.advice.TeamAdvisorView.createDetailBrowser(TeamAdvisorView.java:295)
at com.ibm.team.process.internal.ide.ui.advice.TeamAdvisorView.createPartControl(TeamAdvisorView.java:277)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:370)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:227)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:531)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:668)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:576)
at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:564)
at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:270)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:931)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2515)
at org.eclipse.ui.internal.WorkbenchWindow$23.run(WorkbenchWindow.java:2837)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2818)
at org.eclipse.ui.internal.WorkbenchWindow$17.runWithException(WorkbenchWindow.java:2135)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801)
at org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:219)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:308)
... 55 more
Here is the error from the log file:
!SESSION 2008-07-11 07:19:08.154 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20080315 (JIT enabled)
J9VM - 20080314_17962_lHdSMr
JIT - 20080130_0718ifx2_r8
GC - 200802_08
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -product com.ibm.team.concert.product
Command-line arguments: -os linux -ws gtk -arch x86 -product com.ibm.team.concert.product
!ENTRY com.ibm.team.process.ide.ui 4 0 2008-07-11 07:19:25.765
!MESSAGE Error logged from Process Client UI:
!STACK 0
org.eclipse.swt.SWTError: No more handles (java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file)
at org.eclipse.swt.SWT.error(SWT.java:3589)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:323)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:109)
at com.ibm.team.process.internal.ide.ui.advice.TeamAdvisorView.createDetailBrowser(TeamAdvisorView.java:295)
at com.ibm.team.process.internal.ide.ui.advice.TeamAdvisorView.createPartControl(TeamAdvisorView.java:277)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:370)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:227)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:531)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:668)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:576)
at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:564)
at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:270)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:931)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2515)
at org.eclipse.ui.internal.WorkbenchWindow$23.run(WorkbenchWindow.java:2837)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2818)
at org.eclipse.ui.internal.WorkbenchWindow$17.runWithException(WorkbenchWindow.java:2135)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801)
at org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:219)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:308)
... 55 more
3 answers
You need to set the MOZILLA_FIVE_HOME environment variable prior to launching Eclipse (TeamConcert).
eg (on Debian I do):
$export MOZILLA_FIVE_HOME=/usr/lib/firefox
$./TeamConcert
For some more details about using xulrunner you can read the faq entry on this page:
http://www.eclipse.org/swt/faq.php
eg (on Debian I do):
$export MOZILLA_FIVE_HOME=/usr/lib/firefox
$./TeamConcert
For some more details about using xulrunner you can read the faq entry on this page:
http://www.eclipse.org/swt/faq.php
This didn't fix the issue, but pointed me in the right direction. It looks like on Ubuntu 7.10/8.04 you need to install xulrunner 1.8.1. Use this command.
sudo apt-get install xulrunner
After install completes, there is no need for MOZILLA_FIVE_HOME environment variable from what I can tell. I will test more, but it looks like the initial error has been resolved. Thanks for your help.
sudo apt-get install xulrunner
After install completes, there is no need for MOZILLA_FIVE_HOME environment variable from what I can tell. I will test more, but it looks like the initial error has been resolved. Thanks for your help.
tglawles wrote:
You may run into an issue if you upgrade to Firefox 3 which uses
xulrunner 1.9. If you do, download a copy of xulrunner 1.8.3 to a
subdirectory of RTC and point org.eclipse.swt.browser.XULRunnerPath to
that directory in your eclipse.ini file. Alternatively you could do what
I did and point RTC to Eclipse 3.4 during the install.
This didn't fix the issue, but pointed me in the right direction. It
looks like on Ubuntu 7.10/8.04 you need to install xulrunner 1.8.1.
Use this command.
sudo apt-get install xulrunner
After install completes, there is no need for MOZILLA_FIVE_HOME
environment variable from what I can tell. I will test more, but it
looks like the initial error has been resolved. Thanks for your
help.
I was working with a Technical Support Engineer yesterday on this issue.
You may run into an issue if you upgrade to Firefox 3 which uses
xulrunner 1.9. If you do, download a copy of xulrunner 1.8.3 to a
subdirectory of RTC and point org.eclipse.swt.browser.XULRunnerPath to
that directory in your eclipse.ini file. Alternatively you could do what
I did and point RTC to Eclipse 3.4 during the install.