Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Oct 2007 13:33:04 GMT
From:      Carl Fongheiser <carlfongheiser@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/116974: azureus fails to operate correctly if IPV6 support is enabled in the jre
Message-ID:  <200710061333.l96DX4f9096671@www.freebsd.org>
Resent-Message-ID: <200710061340.l96De1fg019687@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         116974
>Category:       ports
>Synopsis:       azureus fails to operate correctly if IPV6 support is enabled in the jre
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 06 13:40:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Carl Fongheiser
>Release:        6.2-RELEASE
>Organization:
>Environment:
FreeBSD kf0yn.ampr.org 6.2-RELEASE FreeBSD 6.2-RELEASE #6: Thu Mar  8 10:51:47 CST 2007     cmf@kf0yn.ampr.org:/usr/obj/usr/src/sys/OSITOS  i386

>Description:
If IPV6 is enabled in the JRE used to launch azureus, it will not work correctly.    It spits out a lot of output like this:

MOZILLA_FIVE_HOME=/usr/local/lib/xulrunner
StartServer ERROR: unable to bind to 127.0.0.1:6880 listening for passed torrent info: Can't assign requested address
StartSocket: passing startup args to already-running Azureus java process listening on [127.0.0.1: 6880]
java.net.SocketException: Invalid argument
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:179)
        at org.gudy.azureus2.ui.swt.StartSocket.sendArgs(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.processParams(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.<init>(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.main(Unknown Source)
DEBUG::Sat Oct 06 08:28:36 CDT 2007::org.gudy.azureus2.ui.swt.StartSocket::sendArgs::-1:
  java.net.SocketException: Invalid argument
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:179)
        at org.gudy.azureus2.ui.swt.StartSocket.sendArgs(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.processParams(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.<init>(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.main(Unknown Source)

There appears to be another program process already listening on socket [127.0.0.1: 6880].
Loading of torrents via command line parameter will fail until this is fixed.
DEBUG::Sat Oct 06 08:28:37 CDT 2007::com.aelitis.azureus.core.networkmanager.impl.tcp.VirtualBlockingServerChannelSelector::start::-1:
    IncomingSocketChannelManager::start::-1,IncomingSocketChannelManager::<init>::-1,TCPNetworkManager::<init>::-1,TCPNetworkManager::<clinit>::-1,NetworkManager::getMinMssSize::-1,ByteBucket::ensureByteBucketMinBurstRate::-1,ByteBucket::<init>::-1,ByteBucket::<init>::-1,TransferProcessor::<init>::-1,NetworkManager::<init>::-1,NetworkManager::<clinit>::-1,AzureusCoreImpl::<init>::-1,AzureusCoreImpl::create::-1,AzureusCoreFactory::create::-1,Main::<init>::-1,Main::main::-1
java.net.BindException: Can't assign requested address
        at sun.nio.ch.Net.bind(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.VirtualBlockingServerChannelSelector.start(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.IncomingSocketChannelManager.start(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.IncomingSocketChannelManager.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.TCPNetworkManager.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.TCPNetworkManager.<clinit>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.NetworkManager.getMinMssSize(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.ByteBucket.ensureByteBucketMinBurstRate(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.ByteBucket.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.ByteBucket.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.TransferProcessor.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.NetworkManager.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.NetworkManager.<clinit>(Unknown Source)
        at com.aelitis.azureus.core.impl.AzureusCoreImpl.<init>(Unknown Source)
        at com.aelitis.azureus.core.impl.AzureusCoreImpl.create(Unknown Source)
        at com.aelitis.azureus.core.AzureusCoreFactory.create(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.<init>(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.main(Unknown Source)
[alert] Alert:3:ERROR, unable to bind TCP incoming server socket to 6882
DEBUG::Sat Oct 06 08:28:37 CDT 2007::com.aelitis.azureus.core.networkmanager.impl.tcp.VirtualBlockingServerChannelSelector::start::-1:
  java.net.BindException: Can't assign requested address
        at sun.nio.ch.Net.bind(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.VirtualBlockingServerChannelSelector.start(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.IncomingSocketChannelManager.start(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.IncomingSocketChannelManager.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.TCPNetworkManager.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.tcp.TCPNetworkManager.<clinit>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.NetworkManager.getMinMssSize(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.ByteBucket.ensureByteBucketMinBurstRate(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.ByteBucket.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.ByteBucket.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.impl.TransferProcessor.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.NetworkManager.<init>(Unknown Source)
        at com.aelitis.azureus.core.networkmanager.NetworkManager.<clinit>(Unknown Source)
        at com.aelitis.azureus.core.impl.AzureusCoreImpl.<init>(Unknown Source)
        at com.aelitis.azureus.core.impl.AzureusCoreImpl.create(Unknown Source)
        at com.aelitis.azureus.core.AzureusCoreFactory.create(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.<init>(Unknown Source)
        at org.gudy.azureus2.ui.swt.Main.main(Unknown Source)

[alert] Alert:3:Failed to establish listen on port UDP:6882.
Check that other applications aren't already using this port.
Also check for another copy of Azureus running.
[net] PRUDPPacketReceiver: DatagramSocket bind failed on port 6882
DEBUG::Sat Oct 06 08:28:37 CDT 2007::com.aelitis.net.udp.uc.impl.PRUDPPacketHandlerImpl::receiveLoop::-1:
  java.net.BindException: Can't assign requested address
        at java.net.PlainDatagramSocketImpl.bind0(Native Method)
        at java.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:82)
        at java.net.DatagramSocket.bind(DatagramSocket.java:368)
        at java.net.DatagramSocket.<init>(DatagramSocket.java:210)
        at com.aelitis.net.udp.uc.impl.PRUDPPacketHandlerImpl.receiveLoop(Unknown Source)
        at com.aelitis.net.udp.uc.impl.PRUDPPacketHandlerImpl$1.runSupport(Unknown Source)
        at org.gudy.azureus2.core3.util.AEThread.run(Unknown Source)


>How-To-Repeat:
Launch azureus with a JRE with IPV6 support enabled.
>Fix:
IPV6 support can be disabled by adding "-Djava.net.preferIPv4Stack=true" to the command line.

Patch attached with submission follows:

--- files/azureus.in.old	Sat Oct  6 08:20:46 2007
+++ files/azureus.in	Sat Oct  6 08:21:56 2007
@@ -39,4 +39,4 @@
 	echo "LIB_PATH = ${LIB_PATH}"
 fi
 
-exec "%%JAVA%%" -cp "${CLASS_PATH}" "-Djava.library.path=${LIB_PATH}" "-Dos.name=linux" "-Dazureus.config.path=${HOME}/.Azureus" "-Duser.dir=${HOME}/.Azureus" org.gudy.azureus2.ui.swt.Main "${@}"
+exec "%%JAVA%%" -cp "${CLASS_PATH}" "-Djava.library.path=${LIB_PATH}" "-Dos.name=linux" "-Djava.net.preferIPv4Stack=true" "-Dazureus.config.path=${HOME}/.Azureus" "-Duser.dir=${HOME}/.Azureus" org.gudy.azureus2.ui.swt.Main "${@}"


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710061333.l96DX4f9096671>