From nobody@FreeBSD.org  Sat Oct  6 13:33:05 2007
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2014016A418
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  6 Oct 2007 13:33:05 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 09AC913C45B
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  6 Oct 2007 13:33:05 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.1/8.14.1) with ESMTP id l96DX47K096672
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 6 Oct 2007 13:33:04 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.1/8.14.1/Submit) id l96DX4f9096671;
	Sat, 6 Oct 2007 13:33:04 GMT
	(envelope-from nobody)
Message-Id: <200710061333.l96DX4f9096671@www.freebsd.org>
Date: Sat, 6 Oct 2007 13:33:04 GMT
From: Carl Fongheiser <carlfongheiser@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: azureus fails to operate correctly if IPV6 support is enabled in the jre
X-Send-Pr-Version: www-3.1
X-GNATS-Notify: rnoland@2hip.net

>Number:         116974
>Category:       ports
>Synopsis:       net-p2p/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:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 06 13:40:01 GMT 2007
>Closed-Date:    Mon Apr 28 12:04:56 UTC 2008
>Last-Modified:  Mon Apr 28 12:04:56 UTC 2008
>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:
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Sat Oct 6 21:39:34 UTC 2007 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=116974 

From: Stefan Walter <stefan@freebsd.org>
To: Carl Fongheiser <carlfongheiser@gmail.com>
Cc: GNATS <FreeBSD-gnats-submit@FreeBSD.org>, rnoland@2hip.net
Subject: Re: ports/116974: net-p2p/azureus fails to operate correctly if
	IPV6 support is enabled in the jre
Date: Sun, 7 Oct 2007 14:58:49 +0200

 Hi Carl,
 
 exactly which JREs are you experiencing this problem with?
 
 Regards,
 Stefan

From: Stefan Walter <stefan@freebsd.org>
To: GNATS <FreeBSD-gnats-submit@FreeBSD.org>
Cc:  
Subject: Re: ports/116974: net-p2p/azureus fails to operate correctly if
	IPV6 support is enabled in the jre
Date: Tue, 9 Oct 2007 13:38:34 +0200

 Reply received in private mail:
 
 Carl Fongheiser, 07.10.07, 20:16h CEST:
 
 > Stefan,
 > 
 > I'm seeing this with jdk-1.5.0.12p6_1,1.
 > 
 > Carl Fongheiser
State-Changed-From-To: feedback->open 
State-Changed-By: linimon 
State-Changed-When: Mon Mar 3 07:21:28 UTC 2008 
State-Changed-Why:  
Note that feedback was received some time ago. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=116974 

From: Marcin Cieslak <saper@SYSTEM.PL>
To: bug-followup@FreeBSD.org, carlfongheiser@gmail.com
Cc:  
Subject: Re: ports/116974: net-p2p/azureus fails to operate correctly if IPV6
 support is enabled in the jre
Date: Fri, 07 Mar 2008 14:09:40 +0100

 Although setting
 
 sysctl net.inet6.ip6.v6only=1
 
 allows Azureus to continue, it still does not work - all torrents
 (complete and incomplete) stay in "yellow" state.
 
 I have tried azureus2 with jdk1.5 (WITHOUT_IPV6), jdk1.6 (WITH_IPV6),
 switching off IPv6 stack with -Djava.net.preferIPv4Stack=true.
 
 I have connected my machine directly on a non-firewalled, public IPv4
 address and it also does not work.
 
 -- 
               << Marcin Cieslak // saper@system.pl >>

From: "Andrey Slusar" <anray@FreeBSD.org>
To: bug-followup@FreeBSD.org, carlfongheiser@gmail.com
Cc:  
Subject: ports/116974: net-p2p/azureus fails to operate correctly if IPV6 support is enabled in the jre
Date: Sun, 23 Mar 2008 11:21:05 +0200

 I'm updated azureus in local machine to 3.0.5.0 - azureus can't work
 general with or without ipv6 in kernel and in jdk, when i'm using
 jdk1.5, jdk1.6.
 
 -- 
 Regards,
 Andrey.
State-Changed-From-To: open->closed 
State-Changed-By: miwi 
State-Changed-When: Mon Apr 28 12:04:32 UTC 2008 
State-Changed-Why:  
Feedback timeout. If this problem still exists, please feel ree to 
follow-up this PR so that we can re-open it and find a solution for the 
problem. 

Thanks! 


http://www.freebsd.org/cgi/query-pr.cgi?pr=116974 
>Unformatted:
