Friday 12 April 2013

Weblogic startup error: ERROR: transport error 202: bind failed: Address already in use

Introduction

When we have multiple managed server's configured in a single domain running on same debug port, it gives the below error while starting a managed 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_ERROR_TRANSPORT_INIT(197)

This error occurs when you have configured your Node Manager and trying to start the server using Node Manager.

Solution

1) Disable the debugFlag in setDomainEnv.sh file

  • Take backup of  <DOMAIN_HOME>/<DOMAIN_NAME>/bin/setDomainEnv.sh
  • Modify the debugFlag="true" to debugFlag="false" in setDomainEnv.sh

This will disable the debug and will solve the issue. Else if you want to enable debug, you can follow second option.

2) Give different debug port for all the managed servers
  • Take backup of  <DOMAIN_HOME>/<DOMAIN_NAME>/bin/setDomainEnv.sh
  • Add the below lines for all the managed server in setDomainEnv.sh
if [ "${SERVER_NAME}" = "soa_server1" ] ; then
   DEBUG_PORT="7453"
   export DEBUG_PORT
   
 if [ "${SERVER_NAME}" = "osb_server1" ] ; then
   DEBUG_PORT="7454"
   export DEBUG_PORT

Here it will take different value of debug ports while starting, hence will not give the address already in use error.

After the changes restart the domain. This should solve the issue !!

10 comments:

  1. You are one of a kind my friend!!! WELL DONE!!!

    ReplyDelete
  2. Hi,

    We have also got same issue for our production environment, has you suggested in above post we have check debugFlag="false" in setDomainEnv.sh already and ports also are set different still we are facing the same error. Please suggest.

    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:750]
    FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

    ReplyDelete
  3. I got it when i tried to shutdown my weblogic server which was in degbbing mode, solution that u gave worked for me , thanx

    ReplyDelete
  4. @@UnknownFriday, 15 April 2016 at 13:20:00 GMT+5:30
    ---------------------------------------------------
    We have also got same issue for our production environment, has you suggested in above post we have check debugFlag="false" in setDomainEnv.sh already and ports also are set different still we are facing the same error. Please suggest.

    if you this scenario then:

    if you are starting the WL server by ur in house scripts/custome scripts, check the script, if it has anything like
    "-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8794,server=y,suspend=n" for JAVA_OPTIONS as below. if so...remove that part and try to restart

    JAVA_OPTIONS="$XXXJAVA_OPTIONS $APP_XXXXX_OPIONS $DEGUG_INFO -Djava.security.auth.login.config="${DOMAIN_HOME}/conf/jaas.config" -DUseSunHttpHandler=true -Dspring.framework.enabled=true -Djava.net.preferIPv4Stack=true -Djava.library.path=$WEBLOGIC_HOME/wlserver/server/native/linux/x86_64 -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8794,server=y,suspend=n -Dserver.domain.dir=$DOMAIN_HOME -Ddivision=12 -Dclient.name=ABC"

    ReplyDelete