Bug 1471578

Summary: Azureus don't start in f26 when using the updates-testing repository
Product: [Fedora] Fedora Reporter: Lucas Brizzi <lucas.brizzi>
Component: azureusAssignee: David Juran <djuran>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 26CC: anothersname, dan, danielsun3164, djuran, jgotts, langel, linuxhippy, lucas.brizzi, sdggs, sergio, vinu
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: azureus-5.7.6.0-1.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-21 22:37:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Patch to get azureus to look for the swt.jar and other libraries in the 32bit library directory namely /usr/lib/eclipse none

Description Lucas Brizzi 2017-07-17 00:25:50 UTC
User-Agent:       Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0
Build Identifier: 

If I try to launch Azureus, none graphical interface appear with wayland or Xorg.

Reproducible: Always

Steps to Reproduce:
1.azureus
2.
3.
Actual Results:  
Starting Azureus...
Browser check failed with: org.eclipse.swt.widgets.Display
Auto-scanning for GRE/XULRunner.  You can skip this by appending the GRE path to LD_LIBRARY_PATH and setting MOZILLA_FIVE_HOME.
  checking /usr/lib64/mozilla for GRE
	Can not use GRE from /usr/lib64/mozilla because it's missing libxpcom.so.
  checking /usr/lib64/firefox for GRE
	Can not use GRE from /usr/lib64/firefox because it's missing libxpcom.so.
  checking /usr/lib/mozilla for GRE
	Can not use GRE from /usr/lib/mozilla because it's missing libxpcom.so.
Browser check failed with: org.eclipse.swt.widgets.Display
Can't create browser.  Will try to set LD_LIBRARY_PATH and hope Vuze has better luck.
Usable browser found
Loading Azureus:
/usr/lib/jvm/jre/bin/java  -cp "/usr/lib64/eclipse/swt.jar:/usr/share/java/json_simple.jar:/usr/share/java/bcprov.jar:/usr/share/java/apache-commons-cli.jar:/usr/share/java/apache-commons-lang.jar:/usr/share/java/log4j-1.jar:/usr/share/azureus/Azureus2.jar:./*.jar" -Djava.library.path="/home/brizzi/.azureus/app" -Dazureus.install.path="/home/brizzi/.azureus/app" -Dazureus.script="/usr/bin/azureus" -Dazureus.script.version=6 -Dorg.eclipse.swt.browser.UseWebKitGTK=true -Dazureus.skipSWTcheck=1 org.gudy.azureus2.ui.swt.Main 
file:/usr/lib64/eclipse/swt.jar ; file:/usr/share/java/json_simple.jar ; file:/usr/share/java/bcprov.jar ; file:/usr/share/java/commons-cli.jar ; file:/usr/share/java/apache-commons-lang.jar ; file:/usr/share/java/log4j-1.2.17.jar ; file:/usr/share/azureus/Azureus2.jar ; file:/home/brizzi/.azureus/app/*.jar ; file:/home/brizzi/.azureus/app/
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:111)
	at org.gudy.azureus2.ui.swt.Main.main(Main.java:334)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.aelitis.azureus.launcher.MainExecutor$1.run(MainExecutor.java:34)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Listener
	at com.aelitis.azureus.ui.swt.Initializer.<init>(Initializer.java:160)
	... 12 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Listener
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at com.aelitis.azureus.launcher.classloading.PrimaryClassloader.loadClass(PrimaryClassloader.java:100)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 13 more
Exit from Azureus complete
No shutdown tasks to do
Azureus TERMINATED.

Comment 1 Sergio Basto 2017-07-17 12:29:07 UTC
is it related with : emails with subject "Caution: Latest nss in updates-testing for F26 breaks DNF." ? 

It depends on the version of nss - not dnf...

nss-3.30.2-1.1.fc26.x86_64 will work.

nss-3.31.0-1.0.fc26.x86_64 will not.

Comment 2 Lucas Brizzi 2017-07-17 15:01:21 UTC
(In reply to Sergio Monteiro Basto from comment #1)
> is it related with : emails with subject "Caution: Latest nss in
> updates-testing for F26 breaks DNF." ? 
> 
> It depends on the version of nss - not dnf...
> 
> nss-3.30.2-1.1.fc26.x86_64 will work.
> 
> nss-3.31.0-1.0.fc26.x86_64 will not.

Yes, the problem appears when I pass to nss-3.31.0-1.0.fc26.x86_64.
I haven't received this mail.

Comment 3 Linus Bäcklund 2017-07-21 04:06:54 UTC
Downgrading eclipse-swt to 4.6.3-3 solved it for me, Azureus doesn't work with eclipse-swt 4.7.0-2

Comment 4 Sergio Basto 2017-07-27 21:16:51 UTC
Azureus 5.7.5.0-3 built by be in copr [1] works , 5.7.4.0 from fedora repos don't 

[1] 
https://copr.fedorainfracloud.org/coprs/sergiomb/builds_for_Stable_Releases
/package/azureus/

Comment 5 John Gotts 2017-07-31 13:22:17 UTC
Sergio, I cannot confirm that 5.7.5.0-3 works. The azureus program appears to start running but there is no window. The following errors are emitted:

$ azureus
Starting Azureus...

(SWT:11396): GLib-GObject-WARNING **: cannot register existing type 'GtkWidget'

(SWT:11396): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(SWT:11396): GLib-GObject-WARNING **: cannot register existing type 'GtkBuildable'

(SWT:11396): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(SWT:11396): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(SWT:11396): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(SWT:11396): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

Comment 6 John Gotts 2017-07-31 13:24:06 UTC
Oddly the window finally appeared when I hit Control-C.

Very strange behavior.

Comment 7 Vinu Moses 2017-08-14 17:38:56 UTC
I get the same error as the original reporter.

F26, with all updates applied; server edition with KDE installed.

Starting azureus from konsole bombs with the following errors:

[vinu@vinu ~]$ azureus
Starting Azureus...
Browser check failed with: org.eclipse.swt.widgets.Display
Auto-scanning for GRE/XULRunner.  You can skip this by appending the GRE path to LD_LIBRARY_PATH and setting MOZILLA_FIVE_HOME.
  checking /usr/lib64/mozilla for GRE
        Can not use GRE from /usr/lib64/mozilla because it's missing libxpcom.so.
  checking /usr/lib64/firefox for GRE
        Can not use GRE from /usr/lib64/firefox because it's missing libxpcom.so.
  checking /usr/lib/mozilla for GRE
        Can not use GRE from /usr/lib/mozilla because it's missing libxpcom.so.
Browser check failed with: org.eclipse.swt.widgets.Display
Can't create browser.  Will try to set LD_LIBRARY_PATH and hope Vuze has better luck.
Usable browser found
Loading Azureus:
/usr/lib/jvm/jre/bin/java  -cp "/usr/lib64/eclipse/swt.jar:/usr/share/java/json_simple.jar:/usr/share/java/bcprov.jar:/usr/share/java/apache-commons-cli.jar:/usr/share/java/apache-commons-lang.jar:/usr/share/java/log4j-1.jar:/usr/share/azureus/Azureus2.jar:./*.jar" -Djava.library.path="/home/vinu/.azureus/app" -Dazureus.install.path="/home/vinu/.azureus/app" -Dazureus.script="/usr/bin/azureus" -Dazureus.script.version=6 -Dorg.eclipse.swt.browser.UseWebKitGTK=true -Dazureus.skipSWTcheck=1 org.gudy.azureus2.ui.swt.Main 
file:/usr/lib64/eclipse/swt.jar ; file:/usr/share/java/json_simple.jar ; file:/usr/share/java/bcprov.jar ; file:/usr/share/java/commons-cli.jar ; file:/usr/share/java/apache-commons-lang.jar ; file:/usr/share/java/log4j-1.2.17.jar ; file:/usr/share/azureus/Azureus2.jar ; file:/home/vinu/.azureus/app/*.jar ; file:/home/vinu/.azureus/app/
changeLocale: *Default Language* != English (India). Searching without country..
changeLocale: Searching for language English in *any* country..
changeLocale: no message properties for Locale 'English (India)' (en_IN), using 'English (default)'
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:111)
        at org.gudy.azureus2.ui.swt.Main.main(Main.java:334)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.aelitis.azureus.launcher.MainExecutor$1.run(MainExecutor.java:34)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Listener
        at com.aelitis.azureus.ui.swt.Initializer.<init>(Initializer.java:160)
        ... 12 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Listener
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at com.aelitis.azureus.launcher.classloading.PrimaryClassloader.loadClass(PrimaryClassloader.java:100)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 13 more
Exit from Azureus complete
No shutdown tasks to do
Azureus TERMINATED.
[vinu@vinu ~]$ 


azureus-5.7.5.0-3.fc26.noarch.rpm from the copr repository works for me as well, as already mentioned by an earlier reporter.

Comment 8 Vinu Moses 2017-08-15 14:00:54 UTC
Created attachment 1313709 [details]
Patch to get azureus to look for the swt.jar and other libraries in the 32bit library directory namely /usr/lib/eclipse

Based on the solution suggested in https://bugzilla.redhat.com/show_bug.cgi?id=1471578 I have modified the f26 azureus binary slightly to make it work.

Comment 9 Sergio Basto 2017-08-15 14:09:12 UTC
from my tests 
we may use wayland and SWT_GTK3 
so we need comment out : 

#export GDK_BACKEND=x11
and 
#export SWT_GTK3=0

Also I use in /usr/bin/azureus script :

export CLASSPATH=`build-classpath json_simple bcprov apache-commons-cli apache-commons-lang log4j-1 swt`:/usr/share/azureus/Azureus2.jar

Comment 10 Daniel 2017-08-16 01:45:22 UTC
The azureus is using CLASSPATH /usr/lib64/eclipse/swt.jar and the file's real path is /usr/lib/eclipse/swt.jar now.
I just made a symbolic link file /usr/lib64/eclipse/swt.jar -> /usr/lib/eclipse/swt.jar to make azureus working temporarily.

Comment 11 Sergio Basto 2017-08-20 22:42:09 UTC
*** Bug 1479778 has been marked as a duplicate of this bug. ***

Comment 12 Sergio Basto 2017-08-20 23:20:19 UTC
(In reply to Sergio Monteiro Basto from comment #9)
> from my tests 
> we may use wayland and SWT_GTK3 
> so we need comment out : 
> 
> #export GDK_BACKEND=x11
> and 
> #export SWT_GTK3=0
> 
> Also I use in /usr/bin/azureus script :
> 
> export CLASSPATH=`build-classpath json_simple bcprov apache-commons-cli
> apache-commons-lang log4j-1 swt`:/usr/share/azureus/Azureus2.jar

I had built azureus-5.7.5.0-4 in my copr repo [1] and enable SWT_GTK3 and Wayland in /usr/bin/azureus script , may look the commit in github [2]
if you test it , any feedback is welcome , SWT with GTK3 looks good to me , and fedora guides claim that GTK3 is wayland ready .

[1]
https://copr.fedorainfracloud.org/coprs/sergiomb/builds_for_Stable_Releases/build/592041/

[2]
https://github.com/sergiomb2/azureus/commit/94002318b9b253b59546e91d5c0d0ec79bab8c92

Comment 13 Dan Horák 2017-08-23 20:15:01 UTC
Got the same problem now and changing the swt.jar path to /usr/lib fixed it for me (F-26 XFCE).

Comment 14 Fedora Update System 2017-11-25 17:10:00 UTC
azureus-5.7.6.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-445ae85929

Comment 15 Fedora Update System 2017-11-25 22:18:14 UTC
azureus-5.7.6.0-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-445ae85929

Comment 16 Fedora Update System 2017-12-21 22:37:13 UTC
azureus-5.7.6.0-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 17 John Gotts 2017-12-21 22:54:39 UTC
I can confirm that this version no longer has that weird bug requiring you to hit Ctrl-C to get the program to start working.

Comment 18 Sergio Basto 2017-12-24 02:43:11 UTC
*** Bug 1520086 has been marked as a duplicate of this bug. ***