APAR status
Closed as program error.
Error description
CLIENT PROBLEM: When performing the multiple user settings via RMI connection, reuse of the connection will not perform and DB resource will be run out. BUSINESS IMPACT: The customer is considering to implement the Maximo upgrade, and this issue will have an impact to the customer's plans. ENVIRONMENT: Base Service 7.6.6.0 + Calibration 7.5.0.0 + Nuclear 7.5.1.0 IBM WebSphere Application Server 8.5.5.3 IBM Maximo for Nuclear Power 7.5.1.0-20141203-0932 Build 20121004-0300 DB Build V7510-17 HFDB Build HF7510-35 Tivoli's process automation engine 7.6.0.0 Build 20141117-2230 DB Build V7600-218 IBM TPAE Integration Framework 7.6.0.0 Build 20141117-1800 DB Build V7600-15 IBM Maximo Calibration 7.5.0.0 Build 20141117-2230 DB Build V7501-03 IBM Maximo Asset Management 7.6.0.0 Build 20141117-2230 DB Build V7600-00 Windows 6.3 DB Oracle 11.2 (Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options) PERFORMANCE ISSUE: no STEPS TO REPRODUCE: - OOTB+MAXDEMO env - processes=150 is set on Oracle 1. Check your current process setting select name, value from v$parameter where name ='processes'; 2. Alter to 150 if it's not alter system set processes=150 scope=spfile; 3. Restart database 4. Check the updated setting with same query in #1 - Maximo part steps 1. Beforehand, create TEST1 - TEST200 users from maximo. 2. Run the PasswordResetTest.class. If this doesn't work please compile the PasswordResetTest.java from your environment and use it. User:TEST148 java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: oracle.net.ns.Message11 at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall. java:246) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161) at psdi.app.signature.MaxUserSet_Stub.save(Unknown Source) at test.PasswordResetTest.exec(PasswordResetTest.java:47) at test.PasswordResetTest.main(PasswordResetTest.java:17) Caused by: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: oracle.net.ns.Message11 at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135 4) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja va:1990) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: 1915) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j ava:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135 0) Error in SystemOut.log BMXAA6395E - The system could not connect to the JDBC source jdbc:oracle:thin:@//localhost:1521/ctginst1. Ensure that your database connectivity properties are correct and that the database is running. java.sql.SQLException: Listener refused the connection with the following error: ORA-12516, TNS:listener could not find available handler with matching protocol stack CURRENT ERRONEOUS RESULT: BMXAA6395E EXPECTED RESULT: maximo to reuse the rmi connection as previous version
Local fix
na
Problem summary
**************************************************************** * USERS AFFECTED: * * All Maximo Users * **************************************************************** * PROBLEM DESCRIPTION: * * When performing the multiple user settings via RMI * * connection, reuse of the connection will not perform and DB * * resource will be run out. * **************************************************************** * RECOMMENDATION: * * Upgrade to latest release. * **************************************************************** STEPS TO REPRODUCE: - OOTB+MAXDEMO env - processes=150 is set on Oracle 1. Check your current process setting select name, value from v$parameter where name ='processes'; 2. Alter to 150 if it's not alter system set processes=150 scope=spfile; 3. Restart database 4. Check the updated setting with same query in #1 - Maximo part steps 1. Beforehand, create TEST1 - TEST200 users from maximo. 2. Create a PasswordResetTest.java program to establish RMI connection to Maximo and reset passwords on all 200 users. 3. Run the PasswordResetTest.class. User:TEST148 java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: oracle.net.ns.Message11 at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall. java:246) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161) at psdi.app.signature.MaxUserSet_Stub.save(Unknown Source) at test.PasswordResetTest.exec(PasswordResetTest.java:47) at test.PasswordResetTest.main(PasswordResetTest.java:17) Caused by: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: oracle.net.ns.Message11 at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135 4) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja va:1990) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: 1915) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j ava:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135 0) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja va:1990) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.ja va:500) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav a:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: 1893) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j ava:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135 0) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja va:1990) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.ja va:500) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav a:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: 1893) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j ava:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135 0) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja va:1990) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.ja va:500) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav a:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: 1893) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j ava:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135 0) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall. java:244) ... 4 more Caused by: java.io.NotSerializableException: oracle.net.ns.Message11 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java: 1211) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream .java:1585) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.ja va:1546) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStrea m.java:1469) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java: 1205) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream .java:1585) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream .java:460) at java.lang.Throwable.writeObject(Throwable.java:379) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:94) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:55) Error in SystemOut.log BMXAA6395E - The system could not connect to the JDBC source jdbc:oracle:thin:@//localhost:1521/xxxxxxxx. Ensure that your database connectivity properties are correct and that the database is running. java.sql.SQLException: Listener refused the connection with the following error: ORA-12516, TNS:listener could not find available handler with matching protocol stack CURRENT ERRONEOUS RESULT: BMXAA6395E EXPECTED RESULT: maximo to reuse the rmi connection.
Problem conclusion
DB resources will not run out when performing multiple user settings via RMI connection. The fix for this APAR is contained in the following maintenance package: | release\fix pack | Fix Pack Release 7.6.0.2 TPAE
Temporary fix
Comments
APAR Information
APAR number
IV74829
Reported component name
MAXIMO SYSTEMS
Reported component ID
5724R46AV
Reported release
760
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-07-06
Closed date
2015-08-05
Last modified date
2015-08-13
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
MAXIMO
Fix information
Fixed component name
MAXIMO SYSTEMS
Fixed component ID
5724R46AV
Applicable component levels
R760 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCHPP5","label":"System Related"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"760","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
13 August 2015