Saturday, April 9

Weblogic Issues Troubleshooting

1. Port Conflict Issue:

While configuring a new WebLogic instance and starting it, that might be get an issue like : "Port already in use". There could be many reasons for this one.
1. on the same machine multiple standalone instances might be running one of the instance already used that port which you have given for new configuration. 
2. apache might be running with the same port.
3. middleware might be running on the same machine with same port 
On Solaris Operating environment we have 2 options:
1. using pfiles command
netstat –na|grep --> identify port in use  
pfiles |grep -i sockname |grep port --> look for every java process is initialized by startWebLogic.sh or startManagedWebLogic.sh
2. Another way costly one (Third party package) to find the process that is using particular port is :
lsof -i tcp:
3. Best way is perl script using a method it will check only standard ports which are used by the system.
getservbyport(int port_number, const char *protocol_name) 
#!/usr/bin/perl
($name, $aliases, $port_number, $protocol_name) = getservbyport(7001, "tcp");
print "Name = $name\n";
print "Aliases = $aliases\n";
print "Port Number = $port_number\n";
print "Protocol Name = $protocol_name\n";

2.  Config.xml Repository Issue

When I copy pasted few of the JMS Queue related configurations from existing WLS config.xml to newly created WLS Domain's config.xml. I got stuck the control at following line in the WebLogic Server logs.
<="" at="" configuration="" domain="" from="" path="" repository="" span="">
Sol: Verify all the lines in the config.xml file there might be missing any xml tags missing. I have missed out one line need to correct it now it is working fine.

 3. Multicast Failure

while running the managed server on a remote server getting the following exception:
java.net.SocketException: Socket is closed
        at java.net.DatagramSocket.send(DatagramSocket.java:577)
Sol:
a).  check for the ping happening between the cluster involved machines.
b).  Verify the Multicast IP with the MulticastTest with multiple ips and with ports then use which is communicating the message between two participants.
AppMachine 1: java utils.MulticastTest -n  app1  -a 237.0.0.5 -p 9999
WebMachine 2:java utils.MulticastTest -n  app2  -a 237.0.0.5 -p 9999
The messages must exchange between them... otherwise check with Network team.
c). Multcast heart beat can be visible by the following command line:
java weblogic.cluster.MulticastMonitor mydomain mycluster

4. Application not accessible

While accessing the application url after Web App deployment.
<[ServletContext(id=29754737,name=webapp1,context-path=/contextpath)] Root cause of ServletException.
java.lang.StackOverflowError
 Sol: Check the classpath it is the communication gap between Servlet and an EJB

5. Editing the WLS password
New password is given in boot.properties when server is in offline.
 The Admin server started but while starting the managed instances got the following error:

********************************************************
The WebLogic Server did not start up properly.
Reason: weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
************************************************************
Sol: Resolved by editing in boot.properties, startManagedWebLogic.sh files for the new password in 'CLEARTEXT' pattern and rename ldap folder in the Managedserver instance folder present in the domain folder.
While starting up the server instance boot.properties will be encrypted and re-written back. after this ldap folder will be generated in the domain directory for the Managed instance where new file will be created with instance name with extention as .ldif
Apache Plug-in configuration
While configuring the Apache using the instructions given in the following link :

6. Deployment Error

 Module Name: apollo, Error: [HTTP:101179][HTTP] Error occurred while parsing descriptor in Web application "/domainpath/application.war" [Path="/source_code_path", URI="applicaiton.war"
org.xml.sax.SAXParseException: Element type "local-path" must be followed by either attribute specifications, ">" or "/>".
Sol:
Check the Deployment Descriptors (here weblogic.xml) edit as per the given Line.

7. JNDI Issue

While deploying application which is having multiple JMS Queues getting as:
data couldn't be saved. The exception is : Error while doSenderQueueLookUp for :QUEUEJNDIUnable to resolve 'QUEUEJNDI' Resolved
Sol:
Please verify the Persistance Store is connected to Connection Pool.

8.  New managed server Configuration issue

Here I am with set of errors when newly configuring WebLogic 9.2 MP3 managed server and adding to a webcluster. The managed server when started first time shown the following :
1. BEA-000362
2. BEA-000386
On Solaris box:
<="" span="">
There are 1 nested errors:
java.net.UnknownHostException: mywebhostname.com: myhostname.com
        at java.net.InetAddress.getAllByName0(InetAddress.java:1128)
        at java.net.InetAddress.getAllByName0(InetAddress.java:1098)
        at java.net.InetAddress.getAllByName(InetAddress.java:1061)On 
On Linux box:
  <="">
weblogic.ldap.EmbeddedLDAPException: Unable to open initial replica url: http://myadminhost.com:7001/bea_wls_management_internal2/wl_management
        at weblogic.ldap.EmbeddedLDAP.getInitialReplicaFromAdminServer(EmbeddedLDAP.java:1319)
        at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:221)
        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
java.io.FileNotFoundException: Response: '500: Internal Server Error' for url: 'http://myadminhost.com:7001/bea_wls_management_internal2/wl_management'
        at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:472)
        at weblogic.ldap.EmbeddedLDAP.getInitialReplicaFromAdminServer(EmbeddedLDAP.java:1296)
        at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:221)
        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        Truncated. see log file for complete stacktrace
Solution/Work around:
BEA-000362
Here we need to investigate for the network communication happening or not with the hostnames given in the config.xml. ping from managed server box to admin server hosting dns. And also check the /etc/hosts updated with the new host dns. Some times DNS table entries not updated in WAN domains may cause this issue.
BEA-000386
   Check for the hostname of the managed server listen-address given one and hosting dns/ip is matching or not using the WebLogic console(this could be a time taking process). 
   Unix aware guy always prefer grep on config.xml :)


1 comment: