A fix is available
APAR status
Closed as program error.
Error description
IF POs (number of POs exceeding 256) are moved to a new project, incorrect POs are being generated during the cloning process. Due to this the correct PO version is not saved for the target snapshot versioning context.
Local fix
ifix
Problem summary
**************************************************************** * USERS AFFECTED: Users want to move library items to a new * * Process Application or Toolkit. * **************************************************************** * PROBLEM DESCRIPTION: Moving library items to a new Process * * Application or a new Toolkit results * * in NullPointerException. * **************************************************************** * RECOMMENDATION: * **************************************************************** User will see this stacktrace when the problem happens. java.lang.NullPointerException ‚   ‚   ‚   at com.lombardisoftware.server.ejb.clientservices.libraryHandlers.S erviceLibraryHandler.createTreeElement(ServiceLibraryHandler.jav a:52) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.clientservices.libraryHandlers.V ersionedLibraryHandler.createTreeElementWithTags(VersionedLibrar yHandler.java:87) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.MutableSn apshotContextImpl.getCurrentDefaultSnapshotCreatedEvent(MutableS napshotContextImpl.java:1132) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager.buildSnapshotCreatedEvent(BranchManager.java:390) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager.access$100(BranchManager.java:79) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager$2.withWriteAccess(BranchManager.java:315) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchCon textImpl.writeAccessWithDBLock(BranchContextImpl.java:762) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchCon textImpl.access$600(BranchContextImpl.java:105) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchCon textImpl$MultiPhaseWriteAccessImpl.execute(BranchContextImpl.jav a:387) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager$TransactionScope.execute(BranchManager.java:832) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager.writeAccess(BranchManager.java:327) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager.createNewBranch(BranchManager.java:504) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesCore$25.call(RepositoryServicesCore.java:4378) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesCore$25.call(RepositoryServicesCore.java:4361) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager$5.call(BranchManager.java:582) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo rt$1.doInTransaction(ProgrammaticTransactionSupport.java:317) ‚   ‚   ‚   at org.springframework.transaction.jta.WebSphereUowTransactionManag er$UOWActionAdapter.run(WebSphereUowTransactionManager.java:306) ‚   ‚   ‚   at com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW(UOWManagerImpl.java :1115) ‚   ‚   ‚   at com.ibm.ws.uow.UOWManagerImpl.runUnderUOW(UOWManagerImpl.java:62 9) ‚   ‚   ‚   at org.springframework.transaction.jta.WebSphereUowTransactionManag er.execute(WebSphereUowTransactionManager.java:252) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo rt.executeInNewTransaction(ProgrammaticTransactionSupport.java:3 12) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo rt.execute(ProgrammaticTransactionSupport.java:192) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo rt.executeWithLongTimeout(ProgrammaticTransactionSupport.java:13 3) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.persistence.versioning.BranchMan ager.mutateInSingleTransaction(BranchManager.java:577) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesCore.moveItemsToProject(RepositoryServicesCore.java:4361) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesCore.moveItemsToNewProject(RepositoryServicesCore.java:4335 ) ‚   ‚   ‚   at sun.reflect.NativeMethodAccessorImpl.invoke0(Nat Method) ‚   ‚   ‚   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:60) ‚   ‚   ‚   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:37) ‚   ‚   ‚   at java.lang.reflect.Method.invoke(Method.java:611) ‚   ‚   ‚   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingRef lection(AopUtils.java:310) ‚   ‚   ‚   at org.springframework.aop.framework.ReflectiveMethodInvocation.inv okeJoinpoint(ReflectiveMethodInvocation.java:182) ‚   ‚   ‚   at org.springframework.aop.framework.ReflectiveMethodInvocation.pro ceed(ReflectiveMethodInvocation.java:149) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.TransactionInterceptor$1.cal l(TransactionInterceptor.java:52) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo rt.executeWithNoTransaction(ProgrammaticTransactionSupport.java: 444) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo rt.execute(ProgrammaticTransactionSupport.java:211) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.TransactionInterceptor.invok e(TransactionInterceptor.java:50) ‚   ‚   ‚   at org.springframework.aop.framework.ReflectiveMethodInvocation.pro ceed(ReflectiveMethodInvocation.java:171) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.CoreEntryInterceptor.invoke( CoreEntryInterceptor.java:44) ‚   ‚   ‚   at com.lombardisoftware.utility.spring.PSCoreEntryInterceptor.invok e(PSCoreEntryInterceptor.java:14) ‚   ‚   ‚   at org.springframework.aop.framework.ReflectiveMethodInvocation.pro ceed(ReflectiveMethodInvocation.java:171) ‚   ‚   ‚   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkD ynamicAopProxy.java:204) ‚   ‚   ‚   at $Proxy46.moveItemsToNewProject(Unknown Source) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesBean$59.execute(RepositoryServicesBean.java:824) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesBean$59.execute(RepositoryServicesBean.java:822) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.EjbServerUtils.handleEjbCall(Ejb ServerUtils.java:90) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesBean.handleEjbCall(RepositoryServicesBean.java:49) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.RepositorySer vicesBean.moveItemsToNewProject(RepositoryServicesBean.java:822) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices.EJSRemoteStat elessRepositoryServices_80e00eba.moveItemsToNewProject(Unknown Source) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices._EJSRemoteSta telessRepositoryServices_80e00eba_Tie.moveItemsToNewProject(_EJS RemoteStatelessRepositoryServices_80e00eba_Tie.java:1652) ‚   ‚   ‚   at com.lombardisoftware.server.ejb.repositoryservices._EJSRemoteSta telessRepositoryServices_80e00eba_Tie._invoke(_EJSRemoteStateles sRepositoryServices_80e00eba_Tie.java:212) ‚   ‚   ‚   at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDe legate.java:585) ‚   ‚   ‚   at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:4 61) ‚   ‚   ‚   at com.ibm.rmi.iiop.ORB.process(ORB.java:533) ‚   ‚   ‚   at com.ibm.CORBA.iiop.ORB.process(ORB.java:1574) ‚   ‚   ‚   at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2915) ‚   ‚   ‚   at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2782) ‚   ‚   ‚   at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:65) ‚   ‚   ‚   at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118) ‚   ‚   ‚   at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)
Problem conclusion
The refactored items that are not in the cached list are being cloned and the output stream being used for serialization was not reset causing incorrect objects. Because of this the versioning context on the actual objects were not saved causing a NPE. For install/uninstall instructions, please check the README file which can be downloaded together with the iFix file.
Temporary fix
Comments
APAR Information
APAR number
JR44690
Reported component name
BPM ADVANCED
Reported component ID
5725C9400
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-11-08
Closed date
2013-02-26
Last modified date
2013-02-26
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
BPM ADVANCED
Fixed component ID
5725C9400
Applicable component levels
R750 PSY
UP
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFTN5","label":"IBM Business Process Manager Advanced"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1"}]
Document Information
Modified date:
06 October 2021