Bind address already in use
Hello all,
I have a strange problem with TCP sokets.
on a SunOS5.9 Sparc machine i am running a server progam
which has the sequence,
socket()
bind()
listen()
connect().....
do lots of processing with the clients (around 28 clients)
close()
sleep(30)
server restart the above sequence
when restarting i get a bind error:
Address already in Use.
i have verifeid that the socket is close, return value of close is 0.
Is it possible that socket resources are not released by kernel?
Is tuning the value of tcp_time_wait_interval to a low value will help to get the code running.
Or is there any other tunbale parameter to be tuned out.
Please help me to resolve this.
Thanks.
Hello all,
I have a strange problem with TCP sokets.
on a SunOS5.9 Sparc machine i am running a server progam
which has the sequence,
socket()
bind()
listen()
connect().....
do lots of processing with the clients (around 28 clients)
close()
sleep(30)
server restart the above sequence
when restarting i get a bind error:
Address already in Use.
i have verifeid that the socket is close, return value of close is 0.
Is it possible that socket resources are not released by kernel?
Is tuning the value of tcp_time_wait_interval to a low value will help to get the code running.
Or is there any other tunbale parameter to be tuned out.
Please help me to resolve this.
Thanks.
Similar Messages
-
hi,
recently I discovered that I cant connect to many ftp servers using the common command line ftp client from a 64bit archlinux box.
I tried connecting from other PCs at the same network (iMac) and it works without problems, the error is general, shows with every ftp server I tried,
the client connects and then freezes or returns an error (depending on the ftp server)
ftp: bind: Address already in use
I got no firewall or iptables rules, I installed ncftp with pacman and it works, so I assume it's a ftp (GNU) client error,
thanks
GLHi,
see
http://forum.java.sun.com/thread.jsp?forum=136&thread=417946
http://forum.java.sun.com/thread.jsp?forum=136&thread=430814
-- markus. -
PLEASE HELP. shell/tcp: bind: Address already in use
Hi,
I am getting theses messages every 10 minutes and I don't know why.
Feb 17 03:17:21 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:17:21 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:27:22 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:27:22 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:37:22 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:37:23 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:47:24 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:47:24 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:57:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:57:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:07:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:07:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:17:27 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:17:27 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:27:29 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:27:29 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:37:30 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:37:30 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:47:30 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
The only strange thing that I see is that in /etc/inetd.conf
there are theses lines:
shell stream tcp nowait root /usr/sbin/in.rshd in.rshd
shell stream tcp6 nowait root /usr/sbin/in.rshd in.rshd
exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd
exec stream tcp6 nowait root /usr/sbin/in.rexecd in.rexecd
But I haven't enabled IPv6 on my system.
I also have this message at random time:
Feb 18 18:43:46 MONTSENY inetd[157]: [ID 268928 daemon.error] rusersd/rpc/datagram_v,circuit_v: could not get transport information
Feb 18 18:43:46 MONTSENY inetd[157]: [ID 307641 daemon.error] rusersd/rpc/datagram_v,circuit_v: tli_socket: No such file or director
There is only one instance of inetd running.
I haven't installed any additional services. At the beginning things went ok I think that the problem started when I added an IP address to the second eth interface.
The system is a Sun Netra T1.
The system version is: Solaris 8.
Please reply also to: [email protected]
Thanks in advance.Hi,
I am getting theses messages every 10 minutes and I don't know why.
Feb 17 03:17:21 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:17:21 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:27:22 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:27:22 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:37:22 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:37:23 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:47:24 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:47:24 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 03:57:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 03:57:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:07:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:07:26 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:17:27 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:17:27 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:27:29 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:27:29 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:37:30 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
Feb 17 04:37:30 MONTSENY inetd[29012]: [ID 161378 daemon.error] shell/tcp: bind: Address already in use
Feb 17 04:47:30 MONTSENY inetd[29012]: [ID 161378 daemon.error] exec/tcp: bind: Address already in use
The only strange thing that I see is that in /etc/inetd.conf
there are theses lines:
shell stream tcp nowait root /usr/sbin/in.rshd in.rshd
shell stream tcp6 nowait root /usr/sbin/in.rshd in.rshd
exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd
exec stream tcp6 nowait root /usr/sbin/in.rexecd in.rexecd
But I haven't enabled IPv6 on my system.
I also have this message at random time:
Feb 18 18:43:46 MONTSENY inetd[157]: [ID 268928 daemon.error] rusersd/rpc/datagram_v,circuit_v: could not get transport information
Feb 18 18:43:46 MONTSENY inetd[157]: [ID 307641 daemon.error] rusersd/rpc/datagram_v,circuit_v: tli_socket: No such file or director
There is only one instance of inetd running.
I haven't installed any additional services. At the beginning things went ok I think that the problem started when I added an IP address to the second eth interface.
The system is a Sun Netra T1.
The system version is: Solaris 8.
Please reply also to: [email protected]
Thanks in advance. -
ERROR: transport error 202: bind failed: Address already in use
Hey guys,
I created 2 WL 10.3 Domains. I can start the admin server in domain but when I start the second admin server i get the following error:
starting weblogic with Java version:
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../.
./../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_E
RROR_TRANSPORT_INIT(197)
Starting WLS with line:
C:\bea\JDK160~1\bin\java -client -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket
,address=8453,server=y,suspend=n -Djava.compiler=NONE -Xms512m -Xmx512m -XX:Com
pileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -XX:MaxPermSize=160m
-Xverify:none -Xverify:none -da:org.apache.xmlbeans... -ea -da:com.bea... -da:
javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.
sbconsole... -Dplatform.home=C:\bea\WLSERV~1.3 -Dwls.home=C:\bea\WLSERV~1.3\serv
er -Dweblogic.home=C:\bea\WLSERV~1.3\server -Dweblogic.management.discover=tru
e -Dwlw.iterativeDev=true -Dwlw.testConsole=true -Dwlw.logErrorsToConsole=true
-Dweblogic.ext.dirs=C:\bea\patch_wlw1030\profiles\default\sysext_manifest_classp
ath;C:\bea\patch_wls1030\profiles\default\sysext_manifest_classpath;C:\bea\patch
cie670\profiles\default\sysextmanifest_classpath;C:\bea\patch_alsb1031\profile
s\default\sysext_manifest_classpath -Dweblogic.Name=TestAdmin2 -Djava.security.p
olicy=C:\bea\WLSERV~1.3\server\lib\weblogic.policy weblogic.Server
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../.
./../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_E
RROR_TRANSPORT_INIT(197)
Stopping PointBase server...
I changed the port address of both admins but I dont' think that's the issue. Can someone tell me whats going on.
ThanksHi
Iam getting the Same Error , Can you provide me some information on what changes did you made to the setDomainEnv.cmd file to make this work
thanks in advance -
Error starting ORMI-Server. Unable to bind socket: Address already in use:
hi,
I run the folowing command "start_oc4j.bat" to start Oc4j.
It starts successfully.
Then I start "BPEL PM Server".
I get the following error,
"Error starting ORMI-Server. Unable to bind socket: Address already in use: JVM_Bind".
I understand the above errror because both of them are trying to bind to the same port. And both of them are trying to start ORMI server. Can some one suggest how to get rid of this problem.
I tried giving different port numbers for them, but that did not work. Let me know, how to over come this problem.
with regards
shailaYou may have another OC4J running on your computer.
You should change the port number in the file config/rmi.xml. -
Address already in use: Cannot bind
Hi all. I have a desktop app that sends commands and receives responses from a network appliance.
All commands and responses work fine except one - trying to use RTPSocketPlayer on port 49154.
The normal command and response UDP port is 49152. Streaming audio should come in on port 49154.
I am closing and disconnecting the socket on 49152 after every command and response.
But when I try to invoke the RTPSocketPlayer and bind port 49154 to my local IP, I get the
Address already in use: Cannot bind error.
Any suggestions? Thanks!
waynewAh OK, I get it. Change the InitSocket() method thus:
sock = new DatagramSocket(null);
sock.setReuseAddress(true);
sock.bind(new InetSocketAddress(addr, sockPort));but also have a look at netstat -an to see who else is on that port and whether that's OK. -
Ipv4 mapped addresses bind problem: address already in use.
Hello. It's me again with another, may be newbie, question.
This time I observe different behavior binding different type of ip addresses on tcp sockets. For instance
- when I bind ipv4 mapped addresses, if there is a remaining old socket in TIME_WAIT state from a previous run
I get the error 'Address already in use', event with SO_REUSEADDR set.
- when I bind another type of ipv6 or just ipv4 addresses. if there if a remaining old socket in TIME_WAIT state from
a previous run, the bind is successful (SO_REUSEADDR is set).
How can be explained this behavior?
Thanks a lot.
Details
=======
I made a small program to test this. This program:
- dump the addresses to be used in bind() and connect()
- creates a LISTEN SOCKET calling
- socket(AF_INET6, SOCK_STREAM, 0)
- fcntl(F_SETFD, fcntl(F_GETFD) | FD_CLOEXEC)
- fcntl(F_SETFL, fcntl(F_GETFL) | O_NONBLOCK),
- setsockopt(SO_REUSEADDR),
- setsockopt(SO_KEEPALIVE),
- setsockopt(TCP_NODELAY),
- bind()
- listen()
- creates a CONNECTING SOCKET calling
- socket(AF_INET6, SOCK_STREAM, 0)
- fcntl(F_SETFD, fcntl(F_GETFD) | FD_CLOEXEC)
- fcntl(F_SETFL, fcntl(F_GETFL) | O_NONBLOCK),
- setsockopt(SO_REUSEADDR),
- setsockopt(SO_KEEPALIVE),
- setsockopt(TCP_NODELAY),
- connect()
- creates a ACCEPTED SOCKET calling
- accept()
- fcntl(F_SETFD, fcntl(F_GETFD) | FD_CLOEXEC)
- fcntl(F_SETFL, fcntl(F_GETFL) | O_NONBLOCK),
- setsockopt(SO_REUSEADDR),
- setsockopt(SO_KEEPALIVE),
- setsockopt(TCP_NODELAY),
- issue a std::system( "netstat -an | grep 10329" )
- wait with select() for a write event in the CONNECTING SOCKET
- wait with select() for a write event in the ACCEPTED SOCKET
- close the accepted socket
- close the connecting socket
- close the listen socket
- issue another std::system( "netstat -an | grep 10329" )
- exit(0)
Note: please don't get confused with my notation of addresses, the last component, after the last colon, is the port.
I run it with ipv4 mapped listen address, with this result:
$ ./test_reuseaddr listen_address=0.0.0.0:10329 connect_address=127.0.0.1:10329
Listener in *'::ffff:0.0.0.0:10329'*
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 |................|
Connect to '::ffff:127.0.0.1:10329'
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
Creating listen socket
Creating connecting socket
Creating accepted socket
netstat -an | grep 10329
*.10329 *.* 0 0 49152 0 LISTEN
127.0.0.1.35114 127.0.0.1.10329 49152 0 49152 0 ESTABLISHED
127.0.0.1.10329 127.0.0.1.35114 49152 0 49152 0 ESTABLISHED
Closing connecting socket
Closing accepted socket
Closing listen socket
netstat -an | grep 10329
*127.0.0.1.10329 127.0.0.1.35114 49152 0 49152 0 TIME_WAIT*
Immediately run it again the same way, with this result (Address already in use):
$ ./test_reuseaddr listen_address=0.0.0.0:10329 connect_address=127.0.0.1:10329
Listener in *'::ffff:0.0.0.0:10329'*
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 |................|
Connect to '::ffff:127.0.0.1:10329'
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
Creating listen socket
*### SYSCALL ERROR: bind(): 125, Address already in use*
Wait and verify that the TIME_WAIT socket has disappeared
$ sleep 120
$ netstat -an | grep 10329
Now run the same program with normal ipv6 listen addresses
$ ./test_reuseaddr listen_address=*::0*:10329 connect_address=127.0.0.1:10329
Listener in *':::10329'*
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
Connect to '::ffff:127.0.0.1:10329'
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
Creating listen socket
Creating connecting socket
Creating accepted socket
netstat -an | grep 10329
*.10329 *.* 0 0 49152 0 LISTEN
127.0.0.1.35115 127.0.0.1.10329 49152 0 49152 0 ESTABLISHED
127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 ESTABLISHED
*.10329 *.* 0 0 49152 0 LISTEN
Closing connecting socket
Closing accepted socket
Closing listen socket
netstat -an | grep 10329
*127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 TIME_WAIT*
Immediately run it again the same way (no error this time)
$ ./test_reuseaddr listen_address=*::0*:10329 connect_address=127.0.0.1:10329
Listener in *':::10329'*
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
Connect to '::ffff:127.0.0.1:10329'
1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
Creating listen socket
Creating connecting socket
Creating accepted socket
netstat -an | grep 10329
127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 TIME_WAIT
*.10329 *.* 0 0 49152 0 LISTEN
127.0.0.1.35116 127.0.0.1.10329 49152 0 49152 0 ESTABLISHED
127.0.0.1.10329 127.0.0.1.35116 49152 0 49152 0 ESTABLISHED
*.10329 *.* 0 0 49152 0 LISTEN
Closing connecting socket
Closing accepted socket
Closing listen socket
netstat -an | grep 10329
*127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 TIME_WAIT*
*127.0.0.1.10329 127.0.0.1.35116 49152 0 49152 0 TIME_WAIT*
Run it againg many times with no error.sunlover1984 wrote:
Sorry, to use such short forms in forums as i dont know much about this. i rarly use java forum. well, i removed the code that i gave u for server starting. but still it is giving me the same error. this time i put it in a java bean file.(Hint "u" is just another short form).
Did you try the suggestion to put a log statement just before you start the server? Or put a breakpoint at that line and see how often it is reached.
Because the only reason for this problem is that something is already listening at that port.
And if there's really nothing listening before you start you application, then only your application itself can listen there already, so the logical conclusion for me would be that you're starting the Server twice. -
Unable to bind socket: Address already in use
Hi,
I get the following error whenever I start my Application Server on Linux machine.
If I deploy the EJB application onto a OC4J instance, the server is refusing the connection by throwing Connection Refused error.
Any insight about this issue will be helpful.
Thanks,
Mohan
04/07/08 17:14:42 Error starting ORMI-Server. Unable to bind socket: Address already in use
04/07/08 17:14:44 Oracle Application Server Containers for J2EE 10g (9.0.4.0.0) initialized
04/07/08 17:14:44 java.lang.NullPointerException
04/07/08 17:14:44 at com.evermind.server.rmi.RMIServer.run(RMIServer.java:470)
04/07/08 17:14:44 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Releasabl
eResourcePooledExecutor.java:186)
04/07/08 17:14:44 at java.lang.Thread.run(Thread.java:534)have you checked to see what is running before you start your oracle app server on your ports? you can use netstat for one
-
Dear All ,
I am installing SAP Netveiwer 7.2 with oracle 11 g database in suse linux 11 but i am getting one error in Start instance phase , my message server is not getting connected , when i am trying to start manually then my instance is connected but in this phase sap check message server is up or not , here i am attaching log of message server where i am getting error , if any buddy knw Plz help me ....
log file -
trc file: "dev_ms.new", trc level: 1, release: "720"
[Thr 140207008876384] Tue Jun 10 01:34:56 2014
[Thr 140207008876384] ms/http_max_clients = 500 -> 500
[Thr 140207008876384] MsSSetTrcLog: trc logging active, max size = 52428800 bytes
systemid 390 (AMD/Intel x86_64 with Linux)
relno 7200
patchlevel 0
patchno 413
intno 20020600
make multithreaded, Unicode, 64 bit, optimized
pid 7294
[Thr 140207008876384] ***LOG Q01=> MsSInit, MSStart (Msg Server 1 7294) [msxxserv_mt. 2280]
[Thr 140207008876384] SigISetDefaultAction : default handling for signal SIGCHLD
[Thr 140207008876384] ***LOG Q0I=> NiIBindSocket: bind (98: Address already in use) [nixxi.cpp 3740]
[Thr 140207008876384] *** ERROR => NiIBindSocket: SiBind failed for hdl 17/sock 7
(SI_EPORT_INUSE/98; I4; ST; 0.0.0.0:3601) [nixxi.cpp 3740]
[Thr 140207008876384] *** ERROR => MsSCommInit: NiBufListen(sapmsINI) (rc=NIESERV_USED) [msxxserv_mt. 12225]
[Thr 140207008876384] *** ERROR => MsSInit: MsSCommInit [msxxserv_mt. 2324]
[Thr 140207008876384] *** ERROR => MsSInit failed, see dev_ms.new for details
[msxxserv_mt. 7572]
[Thr 140207008876384] ***LOG Q02=> MsSHalt, MSStop (Msg Server 7294) [msxxserv_mt. 7631]Hello Shyam,
I don't see how updating the kernel would help in this case.
If the port was already in use, any kernel version would give the same error.
Hello Arpit,
Since this is a Linux server, you can also run "lsof -nP|grep 3601" (may need to be logged on as "root"). This should give you more details than "netstat" (e.g., it will give you the PID of the process that's already using the port).
The solution has already being pointed on this thread. You need to find out which process is using the port, and stop this other process.
Cheers,
Isaías -
Transport error 202 bind failed address already in use
how to rectify -- transport error 202 bind failed address already in use-- while running CA server
i have created new production and pub server, first i runned production server after that while running CA server i got that error. if i run CA server independently its runningIt seems like a port conflict issue. You should check rmi and other ports in the configuration file for the component /atg/dynamo/Configuration in the localconfig of your production and publishing servers directories under <ATG>\home\servers. Also, your app server should be configured to run two separate instances for production and publishing server as per the http ports specified in /atg/dynamo/Configuration.
-
Problem with Embedded OC4J: Address already in use: JVM_Bind
When I try to run a Servlet in JDeveloper 10g it works fine. But when I stop the Embedded OC4J and try to run the Servlet again, the following message appears in the log:
[Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
C:\oracle\ora10g\jdev\jdk\bin\javaw.exe -hotspot -classpath C:\oracle\ora10g\jdev\j2ee\home\oc4j.jar;C:\oracle\ora10g\jdev\jdev\lib\jdev-oc4j.jar -Xverify:none -Ddisable.checkForUpdate=true -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doracle.dms.sensors=NONE -Doc4j.jms.usePersistenceLockFiles=false com.evermind.server.OC4JServer -config C:\oracle\ora10g\jdev\jdev\system9.0.5.0.0.1375\oc4j-config\server.xml
[waiting for the server to complete its initialization...]
03/10/23 14:23:01 Error starting ORMI-Server. Unable to bind socket: Address already in use: JVM_Bind
Process exited with exit code 7.
What could be causing this problem?
Thanks in advance!Modify the config/rmi.xml file to have the host attribute in the tag as follows:
<rmi-server port="23791" host="server-ip-address">
</rmi-server>
After that, place the log4j-your-jdev-version.jar in appserverhome/j2ee/home/lib folder.
Restart the server. The bind problem would disappear.
Hope this solves your problem :-)
Ramesh -
Address already in use: JVM_Bind error in DOS
Hello,
I am writing a multi threaded client server (Both client and server are multi threaded) program.where I have set of clients performing secure file transfer amongst them self. Here there is a Indexing server who is keeping record of all the files contained by clients. A client will make a request for a file to the Indexing Server which intern return the port no. and address of the client having that file. Now this client will connect to another client (Which now will act as server) to get the file and public key .
Now I am connecting to server by using fix port number.
Socket client = new Socket("127.0.0.1",2345)
Also since the request for file from another client can come therefor I am creating a thread to start listning port on client side by,
serverSocket serversocket = new serverSocket(client.getLocalport);
//provided that connection to server with port 2345 already made.
but when I am running this program through "DOS" it is giving me an error Address already in use: JVM_Bind.
//checked through netstat and found that localport for the client is bound to 2345 (That is obvious)
But when I am running this program in unix I am getting no error.ServerSocket.setReuseAddress(true) does not work on vista. Why? The following code is OK on XP, but throw the above exception on vista.
@Test
public void test() throws Throwable {
Thread t = new Thread() {
public void run() {
ServerSocket ss;
try {
ss = new ServerSocket( 11111 );
System.out.println( "In Thread: " + ss );
System.out.println( "In Thread: " + ss.accept() );
} catch (IOException e) {
e.printStackTrace();
t.start();
Socket cs = new Socket( (String)null, 11111 );
System.out.println( cs );
ServerSocket s = new ServerSocket();
s.setReuseAddress( true );
s.bind( new InetSocketAddress( cs.getLocalPort() ) );
System.out.println( s );
} -
Socket Error: Address already in use
Hello all,
I'm trying to get the Trac bug tracking system installed on my system(running snow leopard). After quite a bit of tinkering I've managed to install Trac, but as of now, its a standalone entity. I am trying to get this linked to the apache webserver, but having no success. Has anybody done this before? I haven't used unix to this level before and so am struggling with that as well... any info on this is much appreciated.
One of the instructions to test run Trac as a standalone component was using this command tracd --port 8000 /path/to/myfolder (according to installation instructions at http://trac.edgewall.org/wiki/TracInstall). I stopped it using Ctrl-Z and now when I try to run it again, get the following message and error:
Traceback (most recent call last):
File "/usr/local/bin/tracd", line 8, in <module>
loadentrypoint('Trac==0.12', 'console_scripts', 'tracd')()
File "build/bdist.macosx-10.6-universal/egg/trac/web/standalone.py", line 290, in main
File "build/bdist.macosx-10.6-universal/egg/trac/web/standalone.py", line 257, in serve
File "build/bdist.macosx-10.6-universal/egg/trac/web/standalone.py", line 109, in _init_
File "build/bdist.macosx-10.6-universal/egg/trac/web/wsgi.py", line 231, in _init_
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketS erver.py", line 400, in _init_
self.server_bind()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTT PServer.py", line 108, in server_bind
SocketServer.TCPServer.server_bind(self)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketS erver.py", line 411, in server_bind
self.socket.bind(self.server_address)
File "<string>", line 1, in bind
socket.error: [Errno 48] Address already in use
Can somebody please guide me to fix this?
Message was edited by: capemacuser
I realize that closing the terminal window "frees" the socket. But, is there something else that I can do while stopping the running application to ensure that the socket also gets "freed"?Control-Z does "stop" the process, but it doesn't kill it. Use Control-C to do that. Then, you may have to wait a couple of minutes for the OS to free up your socket until you can try again.
-
"BindException: Address already in use" error all the time!
I made a simple program that streams lines of text across the network/internet and a simple client program to display that text. The problem is, regardless of what port I choose, I always get this exception on the server's side:
C:\Users\Nathan\Desktop>java LyricalUploader
Started Listening
Bound
Started Listening
Starting.java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:97)
at LyricalUploader.main(LyricalUploader.java:11)What bothers me is it creates the ServerSocket just fine (that's what the output saying "Bound" means) and if I replace the new LyricalThread(ss.accept()).start(); line in the code below with new LyricalThread(ss.accept()).run();, it works fine, It just can't handle more than one client. I have tried many many ports and they all have the same result. What am I doing wrong?
Here is the code:
import java.net.*;
import java.io.*;
import javax.swing.JFileChooser;
public class LyricalUploader{
public static void main(String args[]){
ServerSocket ss = null;
int c=0;
try{
while(true){
System.out.println("Started Listening");
ss = new ServerSocket(49625);
System.out.println("Bound");
new LyricalThread(ss.accept()).start();
catch(Exception e){
e.printStackTrace();
System.exit(1);
import java.net.*;
import java.io.*;
public class LyricalThread extends Thread{
Socket s = null;
public LyricalThread(Socket so){
s=so;
public void run(){
try{
System.out.print("Starting.");
PrintWriter out = new PrintWriter(s.getOutputStream());
BufferedReader fin =new BufferedReader(new FileReader("Lyrics.txt"));
System.out.print(".");
String line = fin.readLine();
System.out.println(".Done!");
while(true){
while(line!=null){
out.println(line);
//System.out.println(line);
line=fin.readLine();
Thread.sleep(1600);
fin.close();
System.out.println("End of Lyrics.txt file.");
fin =new BufferedReader(new FileReader("Lyrics.txt"));
catch(Exception e){
e.printStackTrace();
return;
public static void main(String arg[]){
new LyricalThread(null).start();
}And the Client code:
import java.net.*;
import java.io.*;
import javax.swing.JFileChooser;
public class LyricalReader{
public static void main(String args[]) throws Exception{
Socket s = null;
BufferedReader sin = null;
FileOutputStream out = null;
try{
System.out.println("Started");
System.out.print("Connecting...");
s = new Socket("2.9.19.94",49625);
System.out.println("Done!");
System.out.print("Finding song...");
sin = new BufferedReader(new InputStreamReader(s.getInputStream()));
String line = sin.readLine();
System.out.println("Done!\nStarted reading:\n\n\n\n\n\n");
while(true){
System.out.println(line);
line = sin.readLine();
}catch(Exception e){
e.printStackTrace();
sin.close();
s.close();
out.close();
System.exit(0);
}Hi,
your Server must create only one ServerSocket, not multiples! So write
try{
ss = new ServerSocket(49625);
System.out.println("Bound");
while(true){
System.out.println("Started Listening");
new LyricalThread(ss.accept()).start();
catch(Exception e){
e.printStackTrace();
System.exit(1);
}and take the creation of the ServerSocket outside the while-loop.
Martin -
Hi Guys!
I'm using Oracle9ias 9.0.3. When I execute
$opmnctl startall, I get the next error in all instances (<instance>.default_island.1):
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
I have 3 instances, each one with different port rmi, configured in opmn.xml.
I used -Drmi.debug=true -Drmi.verbose=true in java-options and I got in the log:
RMIServer.DEBUG: using OPMN, address is ZERO_ADDRESS, use local address instead
RMIServer.DEBUG: creating RMIServer ServerSocket for address: antares.txp/127.0.0.1 port: 3114
RMIServer.DEBUG: Launching RMIServer thread
RMIServer.DEBUG: creating RMIServer ServerSocket for local address: antares.txp/127.0.0.1 port: 3114
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:447)
at java.net.ServerSocket.<init>
Any idea??
Thanks!
Carlos GuerraTry to use netstat -an to see if there is anything listening on this port (you should see "LISTEN" on far right on line). There is no process id or whatever, you just know there is a server socket open - might be a different program, might be a running instance incorrectly shuted down...
On the left there is a local address, on right there is a remote address (might be a connection from the same host, of course)
If there is nothing running before starting server, there is probably a port mismatch in your settings (i. e. rmi port for next started instance is the same as jms or http port of prevous one... I don't know about all of the ports settings.
Sometimes, especially on Windows there is a situation when server socket is not correctly closed and you have to restart Windows itself.
Myrra
Maybe you are looking for
-
Event Structure Freezes Vi After Capturing The First Event
My Event structure catches the first instance of my button press but then it freezes my Vi. The reason is because of the while loop but I need the while loop to constantly read from a serial port and send data to a serial port. The vi included is st
-
Can i open an itunes account without a credit card
hello, I live somewhere in africa but just picked up the ipad3. i cant seem to download apps onto it. my appstore account is set up but each time i try to download a free app it tells me to complete the payment side of the account opening form. i hav
-
Following error i am getting after i chnaged the Path in Config File from \\vs01\d$\\Deployment\Files\temp.txt to C:\Deployment\Files\temp.txt [Bulk Insert Task] Error: An error occurred with the following error message: "Cannot bulk load because the
-
I have a problem when logging on icloud, i have a problem when logging on icloud
i have problem logging on icloud i leave in south every time i log in the they is system errow
-
Is this Bug? or anything
Guyz, i'm using the below code in post-query but its not working while in forms 6i its working fine. Forms 10g SET_ITEM_PROPERTY('BLOCK.ITEM_NAME',CURRENT_ROW_FONT_NAME,'wingdings'); :BLOCK.ITEM_NAME:='O';even i tried set_item_property in WNFI trigge