| Summary: | Crash on launch because can't load "libswt-gnome-gtk" | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Kanak Kshetri <bugzilla.redhat.com> | ||||||
| Component: | eclipse | Assignee: | Alexander Kurtakov <akurtako> | ||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | 16 | CC: | akurtako, clement.arthur, djuran, langel, MikeDawg, overholt, sgehwolf, swagiaal | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2011-11-18 14:42:20 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Attachments: |
|
||||||||
Had a closer look at this today, and I think I'll need some help here... Just like Aleksandar pointed out, Display.getCurrent() (called from the SWTThread constructor) returns null. But Display.getDefault() also returns null. Which is weird. And even so, I don't even see why that causes azureus to fall back on (the deprecated) libswt-gnome-gtk. Any clues? Discussing this with Aleksandar, this seem to be a bug in SWT rather then in eclipse, the attached test case (courtesy of Aleksandar) reproduces the problem. Re-assigning to eclipse Created attachment 530289 [details]
reproducer
compile with
javac -classpath /usr/lib64/eclipse/swt.jar Test.java
[djuran@f16 tmp]$ java -classpath /usr/lib64/eclipse/swt.jar:. Test
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gnome-gtk-3735 in java.library.path
no swt-gnome-gtk in java.library.path
Can't load library: /home/djuran/.swt/lib/linux/x86_64/libswt-gnome-gtk-3735.so
Can't load library: /home/djuran/.swt/lib/linux/x86_64/libswt-gnome-gtk.so
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
at org.eclipse.swt.internal.gnome.GNOME.<clinit>(GNOME.java:21)
at org.eclipse.swt.program.Program.gnome_24_launch(Program.java:397)
at org.eclipse.swt.program.Program.launch(Program.java:1086)
at org.eclipse.swt.program.Program.launch(Program.java:1042)
at Test.main(Test.java:9)
The fact that it's attempting to use from ~/.swt, it seems like the initializer didn't run at build time (or it ran and SWT's bundle has changed since installation). Any thoughts on that, Sami? This has nothing to do with the initializer. The initializer is eclipse specific and doesn't affect normal swt applications. Some further test (suggested by Aleksandar)
Changing the test program to use
Program.launch("/tmp/foo");
works (or at least opens /tmp/foo with emacs) _IF_ /tmp/foo exists. If /tmp/foo does not exist, the same error (trying to load swt-gnome-gtk-3735) occurs.
gvfs-open http://dir.bg works fine, at least after I installed firefox
Setting GIO_USE_GVFS=gvfs doesn't seem to have any effect.
David, Can you try with latest rawhide build? If this fixes the problem I'll backport to F16. It does, with eclipse-3.7.0-9 azureus now at least starts up. David, Please test https://admin.fedoraproject.org/updates/eclipse-3.7.1-1.fc16 Problem solved with eclipse-swt-3.7.1-1.fc16.x86_64.rpm, thanks ! Thanks for verifying. *** Bug 755591 has been marked as a duplicate of this bug. *** |
Created attachment 528334 [details] Full stack trace Description of problem: Azureus fails to start because: "Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: no swt-gnome-gtk-3735 in java.library.path no swt-gnome-gtk in java.library.path " Version-Release number of selected component (if applicable): 4.6.0.4 (latest in Fedora 16) How reproducible: every time Steps to Reproduce: 1. Install azureus 2. try launching azureus ("azureus" in command line, or through gnome menu) 3. fails to launch with stacktrace Actual results: Azureus starts Expected results: Azureus fails to start. Additional info: Full stack trace attached