PeopleSoft Weblogic Server - Startup Problems

PeopleSoft Weblogic server in Solaris behaves strangely at times. The webserver will be taken down using StopPIA.sh and when you try starting the webserver with startPIA.sh, you will not be able to get to the sign on page.

If you look at the weblogic log file, PIA_weblogic.log, you can find the following exception being logged

####<Apr 23, 2010 2:40:18 PM EST> <Info> <Socket> <server> <PIA> <ListenThread.Default> <<WLS Kernel>> <> <BEA-000436> <Allocating 3 reader threads.>

####<Apr 23, 2010 2:40:18 PM EST> <Emergency> <WebLogicServer> <server> <PIA> <ListenThread.Default> <<WLS Kernel>> <> <BEA-000351> <Unable to create a server socket on Channel Default for port: 8200. java.net.BindException: Address already in use Perhaps another process is using port 8200.>

==> Here the server is just not starting up, because there is already a process that is using the port 8200. If we find the process and kill it, we should be able to bring the server back.

####<Apr 23, 2010 2:40:18 PM EST> <Emergency> <WebLogicServer> <server> <PIA> <SSLListenThread.Default> <<WLS Kernel>> <> <BEA-000351> <Unable to create a server socket on Channel Default for port: 8250. java.net.BindException: Address already in use Perhaps another process is using port 8250.>

####<Apr 23, 2010 2:40:18 PM EST> <Emergency> <Security> <server> <PIA> <main> <<WLS Kernel>> <> <BEA-090085> <Server failed to bind to the configured port. The port may already be used by another process.>

####<Apr 23, 2010 2:40:18 PM EST> <Emergency> <WebLogicServer> <server> <PIA> <main> <<WLS Kernel>> <> <BEA-000342> <Unable to initialize the server: Server failed to bind to the requested port. See preceeding log message for details.>

If you attempt to make another shut down at this stage, (though you wouldn't), you will get this message

Failed to connect to t3://<server>:8200: Destination unreachable; nested exception is:
 java.net.SocketTimeoutException: Read timed out; No available router to destination

So, the objective for us would be to start the server and get into the PeopleSoft environment back. To find which process is currently using the port 8200, I used the following shell script:

#!/bin/ksh
#
# find the process that makes the weblogic server preoccupied
#
line='-------------------------------------------------------------------------'
pids=`/usr/bin/ps -ef | sed 1d | awk '{print $2}'`

# Prompt users or use 1st cmdline argument
if [ $# -eq 0 ]; then
         read answer?"For which port do you need the PID:  "
else
         answer=$1
fi

# Check all pids for this port, then list that process
for f in $pids
do
         /usr/proc/bin/pfiles $f 2>/dev/null | /usr/xpg4/bin/grep -q "port: $answer"
         if [ $? -eq 0 ] ; then
                 echo "$line\nPort: $answer is being used by PID: \c"
                 /usr/bin/ps -o pid -o args -p $f | sed 1d
         fi
done
exit 0


When this script is triggered with the port number specified, this script would list all the PIDs that are busy with the port to which the current server is trying to attach itself.

When all these processes are killed, try the StartPIA.sh again, and the server would be up and running.

####<Apr 23, 2010 2:49:32 PM EST> <Notice> <WebLogicServer> <server> <PIA> <main> <<WLS Kernel>> <> <BEA-000329> <Started WebLogic Admin Server "PIA" for domain "Domain" running in Production Mode>

####<Apr 23, 2010 2:49:32 PM EST> <Notice> <WebLogicServer> <server> <PIA> <ListenThread.Default> <<WLS Kernel>> <> <BEA-000355> <Thread "ListenThread.Default" listening on port 8200, ip address *.*>


4 comments:

  1. Hi,

    I'm having a similar problem with my Weblogic server running on Windows.

    If I run the startPIA.cmd file to start the WebLogic server, I get the
    following error:


    The WebLogic Server did not start up properly.
    Exception raised: 'weblogic.server.ServerLifecycleException: Server failed
    to bind
    to the requested port. See preceeding log message for details.'
    Reason: Server failed to bind to the requested port. See preceeding log
    message
    for details.

    I'm running PeopleTools 8.43 and would like to know how to start the server again..

    ReplyDelete
  2. @Phil

    Well,this start-up problem is not specific to Solaris. It can happen in any environment Windows, Mac, Linux etc. In your case, you have to get the corresponding utility in Windows to find out which process is using your port and kill that process in task manager. To find out which process is using your port, you can run the following command in Windows

    netstat -ano

    This would list your port and the PID of the process that is currently listening in the port. Killing the process would solve your issue.

    ReplyDelete
  3. Hi,

    My webserver is not starting..When I tried starting that, it gives the following error in PeopleTools 8.50..any clues?

    <> <> <> <1272067013089> (Integer.java:660)
    at com.octetstring.vde.backend.BackendHandler.(BackendHandler.java:187)
    at com.octetstring.vde.backend.BackendHandler.getInstance(BackendHandler.java:344)
    at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:269)
    at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    <> <> <> <1272067013168>

    ReplyDelete
  4. Hi,

    Any clues on this exception..





    ***************************************************************************
    The WebLogic Server did not start up properly.
    java.lang.NullPointerException
    Reason: weblogic.server.ServerLifecycleException: 001136

    ReplyDelete