Bug 178493

Summary: fails to connect to peers unless running as root
Product: [Fedora] Fedora Reporter: Andy Burns <fedora>
Component: azureusAssignee: Anthony Green <green>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: extras-qa
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-13 23:11:57 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:
Bug Depends On: 179228    
Bug Blocks:    

Description Andy Burns 2006-01-20 22:53:27 UTC
Description of problem:

If running azureus from an account other than root, it starts up, nonnects to
tracker, attempts to connect to mutliple peers, which all seem to fail and
downloading never gets off the ground. Starting as root allows peer transfers to
work.

Version-Release number of selected component (if applicable):

2.3.0.6-15.fc5

How reproducible:

always as non-root

Steps to Reproduce:
1. /usr/bin/azureus
2. download using a torrent file

Comment 1 Anthony Green 2006-01-26 01:43:32 UTC
(In reply to comment #0)
> Description of problem:
> 
> If running azureus from an account other than root, it starts up, nonnects to
> tracker, attempts to connect to mutliple peers, which all seem to fail and
> downloading never gets off the ground. Starting as root allows peer transfers to
> work.

What happens if you turn of SELinux? (assuming you have it enabled)




Comment 2 Andy Burns 2006-01-26 19:31:53 UTC
testing again with SELINUX=0 on todays's rawhide.

Since logging this issue I've re-installed rawhide on my machine, I installed
azureus (and it did pull in some dependencies) it seems that azureus has an
unstated dependency on junit, so I manually installed that too.

Now when I start azureus "nothing" happens, I get a couple of processes

$ ps -efa | grep azu
root      3292  3265  0 19:33 pts/0    00:00:00 /bin/sh /usr/bin/azureus
root      3338  3292  6 19:33 pts/0    00:00:00 java
-Djava.ext.dirs=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/ext
-Dgnu.gcj.runtime.VMClassLoader.library_control=never org.gudy.azureus2.ui.swt.Main

but no console output or gui displayed, same whether running as root or non-root.


Comment 3 Anthony Green 2006-01-26 19:43:58 UTC
(In reply to comment #2)
> testing again with SELINUX=0 on todays's rawhide.

Thanks.

> Since logging this issue I've re-installed rawhide on my machine, I installed
> azureus (and it did pull in some dependencies) it seems that azureus has an
> unstated dependency on junit, so I manually installed that too.

Ok.  I thought I removed the JUnit dependency.  I'll look into that.
 
> Now when I start azureus "nothing" happens, I get a couple of processes
> 
> $ ps -efa | grep azu
> root      3292  3265  0 19:33 pts/0    00:00:00 /bin/sh /usr/bin/azureus
> root      3338  3292  6 19:33 pts/0    00:00:00 java
> -Djava.ext.dirs=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/ext
> -Dgnu.gcj.runtime.VMClassLoader.library_control=never
org.gudy.azureus2.ui.swt.Main
> 
> but no console output or gui displayed, same whether running as root or non-root.

What kind of hardware are you running on?  x86, x86-64 or ppc?

What does "top" say?  Is the "java" process doing anything?

Thanks,

AG




Comment 4 Andy Burns 2006-01-27 00:25:16 UTC
running on x86_64

in normal mode, top shows the system is essentially idle, out of the top ~25
processes visible they are all kernel/daemons, no java, 

if I switch top into "A" mode, then gij/azureus show up on the USR/MEM/JOB
screens,  probably due to memory usage rather than cpu usage, though memory use
not increasing.

1:Def - 00:27:59 up  4:59,  5 users,  load average: 0.02, 0.01, 0.01
Tasks: 151 total,   1 running, 150 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.3% us,  1.3% sy,  0.0% ni, 98.3% id,  0.0% wa,  0.0% hi,  0.0% si
Cpu1  :  3.7% us,  0.7% sy,  0.0% ni, 95.7% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1024008k total,  1006388k used,    17620k free,    62320k buffers
Swap:  2097144k total,        0k used,  2097144k free,   385016k cached

1  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  6230 andy      15   0  177m  16m 9532 S    4  1.6   0:03.60 gnome-terminal
  6052 andy      15   0 40492 2320 1264 S    2  0.2   0:08.89 sshd
  6385 root      16   0  7480 1116  808 R    0  0.1   0:02.50 top
     1 root      16   0  7116  692  580 S    0  0.1   0:00.76 init
     2 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0
     3 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/0
     4 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0
2  PID  PPID    TIME+  %CPU %MEM  PR  NI S  VIRT SWAP  RES  UID COMMAND
  6385  6260   0:02.50    0  0.1  16   0 R  7480 6364 1116    0 top
  6323  6277   0:00.80    0  6.5  16   0 S  303m 237m  65m    0 gij
  6277  6260   0:00.00    0  0.1  15   0 S 58284  55m 1064    0 azureus
  6260  6256   0:00.04    0  0.2  15   0 S 59492  56m 1588    0 bash
  6256  6232   0:00.00    0  0.1  20   0 S 76988  73m 1260    0 su
  6232  6230   0:00.04    0  0.2  15   0 S 59496  56m 1548  500 bash
  6231  6230   0:00.00    0  0.1  16   0 S  6328 5676  652  500 gnome-pty-helpe
3  PID %MEM  VIRT SWAP  RES CODE DATA  SHR nFLT nDRT S  PR  NI %CPU COMMAND
  6323  6.5  303m 237m  65m    4 136m  31m    0    0 S  16   0    0 gij
  4311  6.1  325m 264m  60m  104  86m  22m   14    0 S  11  -4    0 firefox-bin
  6187  4.5  314m 269m  44m  104  92m  20m    0    0 S  16   0    0 thunderbird-bin
  6223  4.1  283m 242m  40m  104  58m  20m    0    0 S  16   0    0 firefox-bin
  4226  3.8  184m 145m  38m   80  29m 9216    2    0 S  11  -4    0 baobab
  3773  2.8  319m 291m  27m 1120  31m  15m    0    0 S  15   0    0 nautilus
  5490  2.7  205m 178m  26m  564  23m  13m    0    0 S  11  -4    0 gedit
4  PID  PPID  UID USER     RUSER    TTY         TIME+  %CPU %MEM S COMMAND
  2661     1   43 xfs      xfs      ?          0:00.00    0  0.1 S xfs
  2621     1   51 smmsp    smmsp    ?          0:00.00    0  0.2 S sendmail
  2320     1   29 rpcuser  rpcuser  ?          0:00.00    0  0.1 S rpc.statd
  2301     1   32 rpc      rpc      ?          0:00.00    0  0.1 S portmap
  6323  6277    0 root     root     pts/3      0:00.80    0  6.5 S gij
  4311  4306    0 root     root     ?          0:23.14    0  6.1 S firefox-bin
  4226     1    0 root     root     ?          0:11.58    0  3.8 S baobab


Comment 5 Anthony Green 2006-01-27 13:43:45 UTC
(In reply to comment #4)
> running on x86_64

Thanks.  I suspect this may be architecture specific.  I'm loading up an x86_64
machine right now to try to reproduce.


Comment 6 Andy Burns 2006-01-27 13:53:06 UTC
I tried rssowl last night, and it does a similar thing, but I've never used it
before. I also tried eclipse which I have used before, it gave a splash screen
but didn't start any further, maybe it's not such a direct comparison if it's
compiled native though ...

some other java apps (inc jnlp with netx) were OK on my last FC5 install





Comment 7 Anthony Green 2006-01-27 15:27:25 UTC
I just did a fresh x86-64 FC5t2 install and "yum update".  Azureus is running
well for me.  

RSSOwl and Eclipse both crash on startup on x86-64 due to Bug 174612.  I believe
tromey is working on a fix.

So what else could be the matter with azureus?  So, SELinux is disabled.. what
about your firewall?

Are you using a non-gcj java alternative?  What does the output of "java" alone
look like?


Comment 8 Andy Burns 2006-01-27 19:43:16 UTC
Hmmm ...

I have to have selinux=0 for other reasons, so that's not involved.

My firewall is openwrt, anything allowed out, I do have port forwarding set up
to allow inbound torrent connections, but not to the IP address of my test box,
I could change it if worthwhile, though when I first had azureus running it was
the same, I just got the "yellow slant face" icon, and the popup frog to warn me
about it.

gcj is the only java installed on this machine

# java
Usage: gij [OPTION] ... CLASS [ARGS] ...
          to invoke CLASS.main, or
       gij -jar [OPTION] ... JARFILE [ARGS] ...
          to execute a jar file
Try `gij --help' for more information.



Comment 9 Anthony Green 2006-01-27 19:51:30 UTC
(In reply to comment #8)
> My firewall is openwrt, anything allowed out, I do have port forwarding set up
> to allow inbound torrent connections, but not to the IP address of my test box,
> I could change it if worthwhile, though when I first had azureus running it was
> the same, I just got the "yellow slant face" icon, and the popup frog to warn me
> about it.

Sorry - I mean the configuration on your Fedora machine.  
System->Administration->Security Level and Firewall     from the toolbar.
Try disabling it.

AG


Comment 10 Andy Burns 2006-01-27 20:54:02 UTC
tried with f/w diabled (verified with iptables -L) no different

tried removing/installing azureus, 
did notice a bit of "entanglement" with ekiga's .desktop files from yum
also the install of azureus even hangs now - does the rpm run any java process
as aprt of the install?

Anything I can do to start azureus up in a debugger?

Comment 11 Andy Burns 2006-01-28 14:02:06 UTC
I cleared out the ~/Azureus and ~/plugins folders then ran azureus again, it
does re-create the Azureus folder, with the azureus.config .certs .keystore and
.lock files, the logs/debug_1.log file contents are attached below, incase they
help track down how far into startup it has got.

I'm probably going to flatten and reinstall this box later, one one hand I hope
it works after that, on the other hand that would leave a dangling mystery ...

[13:58:46] DEBUG::Sat Jan 28 13:58:46 GMT 2006
[13:58:46]   java.lang.IllegalStateException: keyring not loaded
   at gnu.crypto.jce.keyring.GnuKeyring.<clinit> (GnuKeyring.java:86)
   at java.lang.Class.initializeClass (libgcj.so.7)
   at java.lang.Class.forName (libgcj.so.7)
   at gnu.java.security.Engine.getInstance (libgcj.so.7)
   at gnu.java.security.Engine.getInstance (libgcj.so.7)
   at java.security.KeyStore.getInstance (libgcj.so.7)
   at java.security.KeyStore.getInstance (libgcj.so.7)
   at
org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl.ensureStoreExists
(SESecurityManagerImpl.java:339)
   at org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl.initialise
(SESecurityManagerImpl.java:106)
   at org.gudy.azureus2.core3.security.SESecurityManager.initialise
(SESecurityManager.java:51)
   at
org.gudy.azureus2.core3.config.impl.ConfigurationChecker.setSystemProperties
(ConfigurationChecker.java:163)
   at org.gudy.azureus2.core3.config.impl.ConfigurationManager.initialise
(ConfigurationManager.java:95)
   at org.gudy.azureus2.core3.config.impl.ConfigurationManager.getInstance
(ConfigurationManager.java:52)
   at org.gudy.azureus2.core3.config.COConfigurationManager.initialise
(COConfigurationManager.java:51)
   at com.aelitis.azureus.core.impl.AzureusCoreImpl.<init>
(AzureusCoreImpl.java:114)
   at com.aelitis.azureus.core.impl.AzureusCoreImpl.create (AzureusCoreImpl.java:70)
   at com.aelitis.azureus.core.AzureusCoreFactory.create
(AzureusCoreFactory.java:46)
   at org.gudy.azureus2.ui.swt.Main.<init> (Main.java:119)
   at org.gudy.azureus2.ui.swt.Main.main (Main.java:143)

[13:58:46] DEBUG::Sat Jan 28 13:58:46 GMT 2006
[13:58:46]   java.lang.IllegalStateException: keyring not loaded
   at gnu.crypto.jce.keyring.GnuKeyring.<clinit> (GnuKeyring.java:86)
   at java.lang.Class.initializeClass (libgcj.so.7)
   at java.lang.Class.forName (libgcj.so.7)
   at gnu.java.security.Engine.getInstance (libgcj.so.7)
   at gnu.java.security.Engine.getInstance (libgcj.so.7)
   at java.security.KeyStore.getInstance (libgcj.so.7)
   at java.security.KeyStore.getInstance (libgcj.so.7)
   at
org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl.ensureStoreExists
(SESecurityManagerImpl.java:339)
   at org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl.initialise
(SESecurityManagerImpl.java:106)
   at org.gudy.azureus2.core3.security.SESecurityManager.initialise
(SESecurityManager.java:51)
   at
org.gudy.azureus2.core3.config.impl.ConfigurationChecker.setSystemProperties
(ConfigurationChecker.java:163)
   at org.gudy.azureus2.core3.config.impl.ConfigurationManager.initialise
(ConfigurationManager.java:95)
   at org.gudy.azureus2.core3.config.impl.ConfigurationManager.getInstance
(ConfigurationManager.java:52)
   at org.gudy.azureus2.core3.config.COConfigurationManager.initialise
(COConfigurationManager.java:51)
   at com.aelitis.azureus.core.impl.AzureusCoreImpl.<init>
(AzureusCoreImpl.java:114)
   at com.aelitis.azureus.core.impl.AzureusCoreImpl.create (AzureusCoreImpl.java:70)
   at com.aelitis.azureus.core.AzureusCoreFactory.create
(AzureusCoreFactory.java:46)
   at org.gudy.azureus2.ui.swt.Main.<init> (Main.java:119)
   at org.gudy.azureus2.ui.swt.Main.main (Main.java:143)



Comment 12 Anthony Green 2006-01-28 16:32:59 UTC
I can reproduce this now.  I did a fresh FC5 install on x86-64, then did an
updated, and azureus was working fine.  But then, after a reboot, I'm
experiencing the same problem you're reporting now.  Azureus fails to start.

The same is true for Eclipse, RSSOwl, chainsaw.  logfactor5 starts, but freezes
after a couple of menu clicks.

Something is seriously wrong.


Comment 13 Andy Burns 2006-02-13 23:11:57 UTC
OK, previous updates had taken me to azureus 2.3.0.7, so when I upgraded to
kernel  2.6.15-1.1939_FC5 azureus was workable again.

I started a download of knoppix as a non-root user and it joined the swarm and
started downloading (fairly slowly though this box is not the one my NAT hole
for azureus points to so understandable)

One thing though, the azureus upgrader wanted to update to 2.4.0.0, should that
be disabled so that yum does the updates?


Comment 14 Anthony Green 2006-02-14 00:56:34 UTC
(In reply to comment #13)
> OK, previous updates had taken me to azureus 2.3.0.7, so when I upgraded to
> kernel  2.6.15-1.1939_FC5 azureus was workable again.

Excellent!

> I started a download of knoppix as a non-root user and it joined the swarm and
> started downloading (fairly slowly though this box is not the one my NAT hole
> for azureus points to so understandable)

If your router supports UPnP then you shouldn't have to punch any holes. 
Azureus will do that for you.  2.4.0.0 also uses random ports, so you can run
multiple instances on your lan. 

> One thing though, the azureus upgrader wanted to update to 2.4.0.0, should that
> be disabled so that yum does the updates?

Yes, I have patched a patches 2.4.0.0 release that disables the updater.  It
builds fine for me locally, but not in the FE build system.  I'll try to sort
this out tonight, so hopefully you'll see a 2.4.0.0 release soon.