Exception (java.lang.NoSuchMethodError: getIPAddress)occurred: getIPAddress(()Ljava/lang/String;)in class: com/hp/ov/sm/common/core/Init

  • KM00510796
  • 27-Aug-2013
  • 30-Aug-2013

Summary

When doing binary upgrade use move and copy instead of replace, otherwise, you may get error Message in sm log: Exception (java.lang.NoSuchMethodError: getIPAddress)occurred: getIPAddress(()Ljava/lang/String;)in class: com/hp/ov/sm/common/core/Init.

Error

Exception (java.lang.NoSuchMethodError: getIPAddress)occurred: getIPAddress(()Ljava/lang/String;)in class: com/hp/ov/sm/common/core/Init, after apply RTE patch.

Cause

Here are two examples of new and old file conflict:

1. QCCR1E90290 Binary upgrade of SM9.30 to SM9.31 causes server not to start due to duplicate .jar files in lib folder
http://support.microfocus.com/kb/kmdoc.php?id=KM00325646

This issue would happen if you didn't remove old directories/files, and just copy the new directories/files, then some 9.30 and 9.31 files exist at the same time. e.g. appserver-9.30.war and appserver-9.31.war under \RUN\lib directory. These are sample messages in sm.log when start sm server service:

RTE I Using "utalloc" memory manager
RTE E Exception (java.lang.NoSuchMethodError: getIPAddress)occurred: getIPAddress(()Ljava/lang/String;)in class: com/hp/ov/sm/common/core/Init
RTE E Exception caught in syman(): Error calling method: MethodId is null. in class: com/hp/ov/sm/common/core/Init
RTE I -Memory : S(53216) O(102844) MAX(176636) - MALLOC's Total(984)
RTE I ===> Signal 11: User=n/a, Application=, Panel=
RTE I [Address ] Symbol(Parm1,Parm2,Parm3,Parm4) +Offset Source module
RTE I  1: [61DFCEDB] log_print_radstack(0x1EA2268,0x1EA2268,0x12CBFC,0xB) +0x1B  C:\Program Files (x86)\HP\Service Manager 9.30\Server\RUN\SM.dll-log.cpp-1070
RTE I  2: [61E7F699] _infoMsg(0xB,0x61FD7F14,0xB,0x12CD48) +0x1B9                C:\Program Files (x86)\HP\Service Manager 9.30\Server\RUN\SM.dll-syterm.cpp-716
RTE I  3: [61E7F98D] sytermClean(0xB,0x12CD48,0x61E7E718,0x1) +0xAD            C:\Program Files (x86)\HP\Service Manager 9.30\Server\RUN\SM.dll-syterm.cpp-418
RTE I  4: [61E7FD00] sytermSessionEx(0xB,0x61F9D0A4,0xD0,0x464C90) +0x70   C:\Program Files (x86)\HP\Service Manager 9.30\Server\RUN\SM.dll-syterm.cpp-309
RTE I  5: [61E7E72C] syman(0x1,0x464C90,0x4033FC,0x1) +0x15C                         C:\Program Files (x86)\HP\Service Manager 9.30\Server\RUN\SM.dll-syman.cpp-210
RTE I  6: [0040135E] main(0x1,0x464C90,0x462F70,0x622562A3) +0x34E               C:\Program Files (x86)\HP\Service Manager 9.30\Server\RUN\sm.exe-cppmain.cpp-235
RTE I  7: [00401553] __tmainCRTStartup(0x0,0x0,0xFFFDE000,0x0) +0x10F            C:\Program Files (x86)\HP\Service Manager 9.30\Server\RUN\sm.exe-crtexe.c-582
RTE I  8: [7D4E7D42] BaseProcessInitPostImport(0x4016FA,0x0,0x0,0x0) +0x8D     C:\WINDOWS\syswow64\kernel32.dll-
RTE I !!! Core Generation is disabled.  Ignoring Generate Core Dump Request.
RTE E !!! SCException Win32 Exception: 0xC0000005 (instruction 0x61DFCEDB while reading address 0x000000A8) caught in syterm !!!

2. "Unsupported Java version: 1.7.0_15" happens when running "smserver -unlockdatabase". These are related messages in sm.log:

  8294(  8294) 06/27/2013 18:01:29  RTE I Using "utalloc" memory manager
  8294(  8294) 06/27/2013 18:01:29  RTE I Command line: /opt/HP/ServiceManager9.30/Server/RUN/smserver -unlockdatabase
  8294(  8294) 06/27/2013 18:01:29  RTE I Process sm 9.31.2004 (2004) System: 13080 (0x784DFB00) on x86_64 running Linux (2.6.18-274.el5) from xxx
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating resources for system '13080' with key 0x784DFB00
  8294(  8294) 06/27/2013 18:01:29  RTE I Created shared memory of size 512000000 using key 0x784DFB00 and attached to it at address 0x50000000
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [1]Application cache  
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [2]Shared memory      
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [3]IR Expert          
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [4]Licensing          
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [5]Resource manager   
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [6]User chain         
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [7]Cache manager      
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [8]Database Services  
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [9]Alert Services     
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [10]Counter Services   
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [11]Diagnostics DB Hashtable 
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [12]Diagnostics APP Hashtable
  8294(  8294) 06/27/2013 18:01:29  RTE I Creating mutex for semaphore [13]Diagnostics Process Hashtable
  8294(  8294) 06/27/2013 18:01:30  RTE I JVM successfully created
  8294(  8294) 06/27/2013 18:01:30 JRTE I Java version: 1.7.0_15
  8294(  8294) 06/27/2013 18:01:30  RTE E Exception (java.lang.NoSuchMethodError: getIPAddress)occurred: getIPAddress(()Ljava/lang/String;)in class: com/hp/ov/sm/common/core/Init
  8294(  8294) 06/27/2013 18:01:30  RTE E Unsupported Java version: 1.7.0_15
  8294(  8294) 06/27/2013 18:01:30  RTE E Please install or setup Java 7 correctly!
  8294(  8294) 06/27/2013 18:01:30  RTE E HP Service Manager is unable to start. Failed to initialize or attach to shared memory environment
  8294(  8294) 06/27/2013 18:01:30  RTE E Failed Initializing Java.
  8294(  8294) 06/27/2013 18:04:17  RTE I CTRL-C received, terminating process
  8294(  8294) 06/27/2013 18:04:17  RTE I -Memory : S(281120) O(191004) MAX(488604) - MALLOC's Total(4523)
  8294(  8294) 06/27/2013 18:04:17  RTE I Thread termination in progress
  8294(  8294) 06/27/2013 18:04:17  RTE D Total number of recorded stacks: 0
  8294(  8294) 06/27/2013 18:04:17  RTE I Process termination cleanup complete (exit code=1)

Fix

When doing binary upgrade use move and copy instead of replace.

When doing binary or RTE upgrade, please always check what files and directories are in the RTE patch, compare them with current installation. For those files or directories that already exist in old installation, please move them to a backup place, then copy the new ones from the patch to the system. In this way, you can avoid old and new file conflict; and you can easily rollback to the old version if needed.