Frostwire: Can't load library libmawt.so (Hardy Beta)

Bug #211105 reported by Gonzell
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openjdk-6 (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Frostwire will no longer load. I am currently using the Ubuntu Hardy Beta.

chesley@chezb-ubuntu-m:~$ frostwire
Starting FrostWire...
Java exec found in PATH. Verifying...
Suitable java version found [java = 1.6.0]
Configuring environment...
Loading FrostWire:
java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/motif21/libmawt.so
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1666)
 at java.lang.Runtime.load0(Runtime.java:787)
 at java.lang.System.load(System.java:1022)
 at java.lang.ClassLoader$NativeLibrary.load(Native Method)
 at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1767)
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1684)
 at java.lang.Runtime.loadLibrary0(Runtime.java:840)
 at java.lang.System.loadLibrary(System.java:1047)
 at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
 at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.awt.Toolkit.loadLibraries(Toolkit.java:1610)
 at java.awt.Toolkit.<clinit>(Toolkit.java:1632)
 at com.limegroup.gnutella.gui.Main.showInitialSplash(Main.java:67)
 at com.limegroup.gnutella.gui.Main.main(Main.java:39)

******************************************************************
Something went wrong with FrostWire.
Maybe you're using the wrong version of Java?
(FrostWire is tested against and works best with with Sun's JRE, Java 1.4+)
The version of Java in your PATH is:
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b08)
OpenJDK 64-Bit Server VM (build 1.6.0-b08, mixed mode)

Revision history for this message
Greg Grossmeier (greg.grossmeier) wrote :

I am unable to find Frostwire in the repository.

If this application was manually installed (not from the repository) then we are unable to support it. Additionally, you should file all bugs regarding that application with the developers of the application.

If for some reason it is in the repositories but I was unable to find it, please reopen this bug.

Best!

Revision history for this message
rrfx (rrfx) wrote :

The motif21 java libraries dont seem to be installed/linked in the OpenJDK java package. (x86_64 Hardy beta updated on 2008-04-14)

If you have Sun's java installed (sudo apt-get install sun-java6-jre):

rob@server:/opt/frostwire$ find /usr/ | grep libmawt.so

/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/headless/libmawt.so
/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/xawt/libmawt.so
/usr/lib/jvm/java-6-sun-1.6.0.05/jre/lib/amd64/headless/libmawt.so
/usr/lib/jvm/java-6-sun-1.6.0.05/jre/lib/amd64/xawt/libmawt.so
/usr/lib/jvm/java-6-sun-1.6.0.05/jre/lib/amd64/motif21/libmawt.so ***

The last line shows the 'motif21/libmawt.so' library installed for Sun's Java, and not OpenJDK.

Switching the default Java version to Sun's (sudo update-java-alternatives -s java-6-sun) allows Frostwire to get a bit further, however it crashes with a new error that is widely discussed:
http://ubuntuforums.org/showthread.php?t=643566
https://bugs.launchpad.net/ubuntu/+source/sun-java5/+bug/86103

The console commands below allowed me to start and run Frostwire easily (with a few "Locking assertion failure" errors on console).

cd /usr/lib/frostwire;
java -jar FrostWire.jar

Cheers, Rob

Revision history for this message
rrfx (rrfx) wrote :

Confirmed bug, linked to openjdk-6 package

Revision history for this message
Matthias Klose (doko) wrote :

- can you start frostwire without explicitely asking for Motif?
- which package/version of frostwire did you install, where can it be found?

Changed in openjdk-6:
status: New → Incomplete
Revision history for this message
rrfx (rrfx) wrote :

@Matthias: thanks for the tip off on where to look.

If i edit Frostwire's startup script "nano /usr/lib/frostwire/runFrostwire.sh" i can see "export AWT_TOOLKIT=MToolkit" at the top of the script. Commenting this line out (as a user not root!!!) allows it to load with a couple of unrelated Exceptions.

rob@server:~$ sudo update-java-alternatives -s java-6-openjdk
....
rob@server:~$ java -version
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
....
rob@server:~$ /usr/lib/frostwire/runFrostwire.sh
Starting FrostWire...
Java exec found in PATH. Verifying...
Suitable java version found [java = 1.6.0]
.....

A note to anyone trying to load Using the menu launcher or by typing "frostwire"... the standard /usr/bin/frostwire script sets the AWT_TOOLKIT export also before starting the runFrostwire.sh script above. You'll need to "nano /usr/bin/frostwire" and comment it out also.

I installed the .deb from here: http://www.frostwire.com/?id=downloads

Specifically frostwire-4.13.5.i586.deb

Should i notify the upstream packager about these insecure (user writeable) scripts i edited above?

Revision history for this message
Hollman Enciso (hollman) wrote :

which is not the solution engineering but with this package is solved

sudo update-java-alternatives -s java-6-sun

Revision history for this message
Rashad Tatum (rmtatum) wrote :

Apparently, the frostwire packager set the frostwire script in /usr/bin to be owned by the user. To make the file secure, change the owner and group to root. To do this, type sudo chown root:root /usr/bin/frostwire . Do the same for the files located in /usr/lib/frostwire.

Revision history for this message
Matthias Klose (doko) wrote :

we can't build with openmotif, because this package is in the multiverse part of the archive.

frostwire is wrong asking for one specific toolkit.

Changed in openjdk-6:
status: Incomplete → Won't Fix
Revision history for this message
Stjepan Brbot (stjepan-brbot) wrote :
Download full text (4.7 KiB)

I changed '/usr/bin/frostwire' and '/usr/lib/frostwire/runFrostwire.sh' scripts by commenting lines defining AWT_TOOLKIT in order not to be used any more and am able to run FrostWire (4.13.5) on OpenJDK (1.6.0_0) but there are other error messages:

sbrbot@CyberSword:~$ frostwire
Starting FrostWire...
Java exec found in PATH. Verifying...
Suitable java version found [java = 1.6.0_0]
Configuring environment...
Loading FrostWire:
Event dispatch in wrong thread
expected thread was [Lirc.DispatchThread;@11e831
current thread is Thread[Thread-6,5,main]
please submit a bug report to <email address hidden> with the following information :
java.lang.Exception: Stack trace
 at java.lang.Thread.dumpStack(Thread.java:1223)
 at irc.EventDispatcher.dispatchEventSyncEx(EventDispatcher.java:293)
 at irc.ListenerGroup.sendEventEx(ListenerGroup.java:169)
 at irc.ListenerGroup.sendEvent(ListenerGroup.java:143)
 at irc.ListenerGroup.sendEvent(ListenerGroup.java:211)
 at irc.gui.pixx.PixxTaskBar.enter(PixxTaskBar.java:152)
 at irc.gui.pixx.PixxTaskBar.addStatus(PixxTaskBar.java:207)
 at irc.gui.pixx.PixxMDIInterface.statusCreated(PixxMDIInterface.java:250)
 at irc.gui.pixx.PixxMDIInterface.sourceCreated(PixxMDIInterface.java:330)
 at irc.IRCApplication.sourceCreated(IRCApplication.java:325)
 at irc.IRCServer.enumerateSourcesAsCreated(IRCServer.java:301)
 at irc.IRCApplication.newServer(IRCApplication.java:166)
 at irc.IRCApplication.init(IRCApplication.java:133)
 at com.limegroup.gnutella.gui.chat.ChatMediator.tryToStartAndAddChat(ChatMediator.java:149)
 at com.limegroup.gnutella.gui.chat.ChatMediator$1.run(ChatMediator.java:107)
 at java.lang.Thread.run(Thread.java:636)
Event dispatch in wrong thread
expected thread was [Lirc.DispatchThread;@11e831
current thread is Thread[Thread-6,5,main]
please submit a bug report to <email address hidden> with the following information :
java.lang.Exception: Stack trace
 at java.lang.Thread.dumpStack(Thread.java:1223)
 at irc.EventDispatcher.dispatchEventSyncEx(EventDispatcher.java:293)
 at irc.ListenerGroup.sendEventEx(ListenerGroup.java:169)
 at irc.ListenerGroup.sendEvent(ListenerGroup.java:143)
 at irc.ListenerGroup.sendEvent(ListenerGroup.java:211)
 at irc.gui.pixx.PixxTaskBar.activate(PixxTaskBar.java:398)
 at irc.gui.pixx.PixxTaskBar.enter(PixxTaskBar.java:153)
 at irc.gui.pixx.PixxTaskBar.addStatus(PixxTaskBar.java:207)
 at irc.gui.pixx.PixxMDIInterface.statusCreated(PixxMDIInterface.java:250)
 at irc.gui.pixx.PixxMDIInterface.sourceCreated(PixxMDIInterface.java:330)
 at irc.IRCApplication.sourceCreated(IRCApplication.java:325)
 at irc.IRCServer.enumerateSourcesAsCreated(IRCServer.java:301)
 at irc.IRCApplication.newServer(IRCApplication.java:166)
 at irc.IRCApplication.init(IRCApplication.java:133)
 at com.limegroup.gnutella.gui.chat.ChatMediator.tryToStartAndAddChat(ChatMediator.java:149)
 at com.limegroup.gnutella.gui.chat.ChatMediator$1.run(ChatMediator.java:107)
 at java.lang.Thread.run(Thread.java:636)
Smileys should be ACTIVE!
SponsorLoader.startElement -> Detected a custom refreshrate -> 0
SponsorLoader.startElement -> Killing Banner Refresh Tasks
BannerContainer.setupBannerRefreshTask() - No banner refresh for me.
D...

Read more...

Revision history for this message
bananenkasper (bananenkasper) wrote :

I'm trying to run a java 6 / swing application written by myself:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/xawt/libmawt.so
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1666)
 at java.lang.Runtime.load0(Runtime.java:787)
 at java.lang.System.load(System.java:1022)
 at java.lang.ClassLoader$NativeLibrary.load(Native Method)
 at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1767)
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1684)
 at java.lang.Runtime.loadLibrary0(Runtime.java:840)
 at java.lang.System.loadLibrary(System.java:1047)
 at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
 at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.awt.Toolkit.loadLibraries(Toolkit.java:1614)
 at java.awt.Toolkit.<clinit>(Toolkit.java:1636)
 at java.awt.Component.<clinit>(Component.java:568)
 at ...view.ViewImpl.<init>(ViewImpl.java:41)
 at ...main(ControllerImpl.java:368)

Revision history for this message
bananenkasper (bananenkasper) wrote :

System is Ubuntu 9.04 Jaunty 64bit
With Suns Java 6 1.6.0.14 it works flawlessly.

Revision history for this message
kenorb (kenorb) wrote :

The same with JMeter:
$ jmeter
An error occurred: Can't load library: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/xawt/libmawt.so

Revision history for this message
kenorb (kenorb) wrote :
Revision history for this message
kenorb (kenorb) wrote :

Sorry, wrong workaround.
Firstly check if you have following package:
$ apt-file search /usr/lib/jvm/java-6-openjdk/jre/lib/i386/xawt/libmawt.so
openjdk-6-jre: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/xawt/libmawt.so

Revision history for this message
Manveru (manveru) wrote :

I had similar problem with batik's rasterizer, which want to load /usr/lib/jvm/java-6-sun-1.6.0.05/jre/lib/amd64/xawt/libmawt.so and I was not present in my system (Ubuntu Lucid). I've found that I had installed only headless version of JRE from openjdk. I've installed "standard" version, and the problem gone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.