IBM Support

JR44690: NULPOINTEREXCEPTION IS SEEN WHEN REFACTORING ITEMS

Subscribe

You can track all active APARs for this component.

 

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