IBM Support

JR47659: NULLPOINTEREXCEPTION WHEN TRACKING TASK START TIME IN EXTERNAL IMPLEMENTATION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When more than one task is active that is implemented by an
    external implementation this can lead to a NullPointerException
    when tracking the start time in the external implementation.
    .
    A process application that makes use of External Implementation
    activities to complete user tasks using the Start Task API.
    
    When there is more than one task implemented by an
    External Implementation active at the same time, the following
    exception may occur.
    
    [8/20/13 8:29:07:364 CDT] 00000032 wle           E   CWLLG2229E:
    An exception occurred in an EJB call.  Error: null
    java.lang.NullPointerException
     at
     com.lombardisoftware.server.ejb.externalclient.ExternalClientSe
    rvicesCore.findBpdExecutionTreeNode
    (ExternalClientServicesCore.java:790)
     at
     com.lombardisoftware.server.ejb.externalclient.ExternalClientSe
    rvicesCore.findBpdExecutionTreeNode
    (ExternalClientServicesCore.java:795)
     at
     com.lombardisoftware.server.ejb.externalclient.ExternalClientSe
    rvicesCore.trackTaskStartTime
    (ExternalClientServicesCore.java:737)
     at
     com.lombardisoftware.server.ejb.externalclient.ExternalClientSe
    rvicesCore.access$000(ExternalClientServicesCore.java:89)
     at
     com.lombardisoftware.server.ejb.externalclient.ExternalClientSe
    rvicesCore$1.call(ExternalClientServicesCore.java:688)
     at
     com.lombardisoftware.server.ejb.externalclient.ExternalClientSe
    rvicesCore$1.call(ExternalClientServicesCore.java:645)
    

Local fix

  • N/A
    

Problem summary

  • This exception is caused by the fact that the external service
    is used multiple times and every time a task associated with
    the external service will be started, tracking information are
    collected and there the corresponding BPD will not be found.
    
    PROBLEM DETAILED DESCRIPTION:
    When using extrnal services within a BPD multiple times and
    tracking is enabled, then this can cause a NullPointerException
    similar to this:
    
    java.lang.NullPointerException
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesCore.findBpdExecutionTreeNode
       (ExternalClientServicesCore.java:790)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesCore.findBpdExecutionTreeNode
       (ExternalClientServicesCore.java:795)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesCore.trackTaskStartTime
       (ExternalClientServicesCore.java:737)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesCore.access$000
       (ExternalClientServicesCore.java:89)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesCore$1.call
       (ExternalClientServicesCore.java:688)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesCore$1.call
       (ExternalClientServicesCore.java:645)
     at com.lombardisoftware.utility.spring.
       ProgrammaticTransactionSupport$1.doInTransaction
       (ProgrammaticTransactionSupport.java:317)
     at org.springframework.transaction.jta.
       WebSphereUowTransactionManager$UOWActionAdapter.run
       (WebSphereUowTransactionManager.java:306)
     at com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW
       (UOWManagerImpl.java:1115)
     at com.ibm.ws.uow.UOWManagerImpl.runUnderUOW
       (UOWManagerImpl.java:629)
     at org.springframework.transaction.jta.
       WebSphereUowTransactionManager.execute
       (WebSphereUowTransactionManager.java:252)
     at com.lombardisoftware.utility.spring.
       ProgrammaticTransactionSupport.executeInNewTransaction
       (ProgrammaticTransactionSupport.java:312)
     at com.lombardisoftware.utility.spring.
       ProgrammaticTransactionSupport.execute
       (ProgrammaticTransactionSupport.java:192)
     at com.lombardisoftware.utility.spring.
       ProgrammaticTransactionSupport.execute
       (ProgrammaticTransactionSupport.java:117)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesCore.startTask
       (ExternalClientServicesCore.java:644)
     at sun.reflect.GeneratedMethodAccessor340.invoke
       (Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke
       (DelegatingMethodAccessorImpl.java:37)
     at java.lang.reflect.Method.invoke(Method.java:611)
     at org.springframework.aop.support.AopUtils.
       invokeJoinpointUsingReflection(AopUtils.java:310)
     at org.springframework.aop.framework.
       ReflectiveMethodInvocation.invokeJoinpoint
       (ReflectiveMethodInvocation.java:182)
     at org.springframework.aop.framework.
       ReflectiveMethodInvocation.proceed
       (ReflectiveMethodInvocation.java:149)
     at com.lombardisoftware.utility.spring.
       TransactionInterceptor$1.call
       (TransactionInterceptor.java:52)
     at com.lombardisoftware.utility.spring.
       ProgrammaticTransactionSupport$1.doInTransaction
       (ProgrammaticTransactionSupport.java:317)
     at org.springframework.transaction.jta.
       WebSphereUowTransactionManager$UOWActionAdapter.run
       (WebSphereUowTransactionManager.java:306)
     at com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW
       (UOWManagerImpl.java:1115)
     at com.ibm.ws.uow.UOWManagerImpl.runUnderUOW
       (UOWManagerImpl.java:629)
     at org.springframework.transaction.jta.
       WebSphereUowTransactionManager.execute
       (WebSphereUowTransactionManager.java:252)
     at com.lombardisoftware.utility.spring.
       ProgrammaticTransactionSupport.executeInNewTransaction
       (ProgrammaticTransactionSupport.java:312)
     at com.lombardisoftware.utility.spring.
       ProgrammaticTransactionSupport.execute
       (ProgrammaticTransactionSupport.java:192)
     at com.lombardisoftware.utility.spring.
       TransactionInterceptor.invoke
       (TransactionInterceptor.java:50)
     at org.springframework.aop.framework.
       ReflectiveMethodInvocation.proceed
       (ReflectiveMethodInvocation.java:171)
     at com.lombardisoftware.utility.spring.
       CoreEntryInterceptor.invoke(CoreEntryInterceptor.java:44)
     at com.lombardisoftware.utility.spring.
       PSCoreEntryInterceptor.invoke
       (PSCoreEntryInterceptor.java:14)
     at org.springframework.aop.framework.
       ReflectiveMethodInvocation.proceed
       (ReflectiveMethodInvocation.java:171)
     at org.springframework.aop.framework.JdkDynamicAopProxy.
       invoke(JdkDynamicAopProxy.java:204)
     at $Proxy64.startTask(Unknown Source)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesBean$7.execute
       (ExternalClientServicesBean.java:136)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesBean$7.execute
       (ExternalClientServicesBean.java:134)
     at com.lombardisoftware.server.ejb.EjbServerUtils.
       handleEjbCall(Ejb ServerUtils.java:90)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesBean.handleEjbCall
       (ExternalClientServicesBean.java:49)
     at com.lombardisoftware.server.ejb.externalclient.
       ExternalClientServicesBean.startTask
       (ExternalClientServicesBean.java:134)
     at com.lombardisoftware.server.ejb.externalclient.
       EJSRemoteStatelessExternalClientServices_c17d0721.
       startTask(Unknown Source)
     at com.lombardisoftware.server.ejb.externalclient.
       _ExternalClientServices_Stub.startTask
       (_ExternalClientServices_Stub.java:610)
     at com.lombardisoftware.client.delegate.
       ExternalClientServicesDelegateDefault$7.run
       (ExternalClientServicesDelegateDefault.java:244)
     at java.security.AccessController.doPrivileged
       (AccessController.java:277)
     at com.lombardisoftware.client.delegate.common.
       WebsphereDelegateHelper.doAsCurrentSubjectContextSensitive
       (WebsphereDelegateHelper.java:175)
     at com.lombardisoftware.client.delegate.
       ExternalClientServicesDelegateDefault.startTask
       (ExternalClientServicesDelegateDefault.java:241)
    

Problem conclusion

  • With this interim fix the code will be updated so that using an
    external service multiple times within a BPD will be possible.
    
    FIX AVAILABILITY:
    iFix for 7.5.1.1 is available on Fix Central, search for APAR
    JR47659 at http://www.ibm.com/support/fixcentral/
    iFix for 8.0.1.0 is available on Fix Central, search for APAR
    JR47659 at http://www.ibm.com/support/fixcentral/
    iFix for 8.0.1.1 is available on Fix Central, search for APAR
    JR47659 at http://www.ibm.com/support/fixcentral/
    Fix is also targetted for inclusion in next fixpack for BPM
    V7.5.1, BPM 8.0.1, BPM 8.5.0
    
    When obtaining any of the above fixes, be sure to download the
    accompanying readme, for itself, and any prerequisite fixes, and
    review them thorougly.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR47659

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    751

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-08-30

  • Closed date

    2013-10-31

  • Last modified date

    2015-08-18

  • 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 STANDARD

  • Fixed component ID

    5725C9500

Applicable component levels

  • R751 PSY

       UP

  • R800 PSY

       UP

  • R801 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFTDH","label":"IBM Business Process Manager Standard"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
07 January 2022