IBM Support

JR46649: RUNTIME EXCEPTION "JAVASCRIPTRUNNER.DISPOSE() WAS INVOKED WITH A RUNNER THAT WAS NOT ON TOP OF STACK"

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Java Script Context not cleaned up properly when retrieving
    variable data via coach service.
    

Local fix

  • N/A
    

Problem summary

  • Problem Description:
    
    RuntimeException: "JavaScriptRunner.dispose() was invoked with a
    a runner that
    was not at the top of the stack." when calling the JavaScript
    API resumeInstance
    from within nested JavaScript calls.
    
    The stack trace will look like this:
    
    CWLLG0594E: An exception occurred while initializing the
    runnable thread. Error: java.lang.RuntimeException: dispose()
    called but runner on top of stack not this runner. Runner
    created by java.lang.Throwable
     at
    com.lombardisoftware.core.script.js.JavaScriptRunner.<init>(Java
    ScriptRunner.java:140)
     at
    com.lombardisoftware.core.script.js.JavaScriptRunner.<init>(Java
    ScriptRunner.java:115)
     at
    com.lombardisoftware.component.common.workflow.ExecutionContext.
    getScriptRunner(ExecutionContext.java:535)
     at
    com.lombardisoftware.component.common.workflow.ExecutionContext.
    evalExpression(ExecutionContext.java:669)
     at
    com.lombardisoftware.component.common.workflow.ExecutionContext.
    evalExpression(ExecutionContext.java:664)
     at
    com.lombardisoftware.component.coach.data.CoachDataBindingHelper
    .getVariableValue(CoachDataBindingHelper.java:236)
     at
    com.lombardisoftware.component.coachng.gen.CoachGeneratorStage2.
    generate(CoachGeneratorStage2.java:97)
     at
    com.lombardisoftware.component.coachng.worker.CoachNGWorker.getW
    ebUIData(CoachNGWorker.java:157)
     at
    com.lombardisoftware.component.common.worker.WebWorker.doJobRequ
    estWebInteraction(WebWorker.java:104)
     at
    com.lombardisoftware.component.common.worker.WebWorker.doJob(Web
    Worker.java:73)
     at
    com.lombardisoftware.component.common.workflow.ExecutionJob.doJo
    b(ExecutionJob.java:409)
     at
    com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean.
    doResumeWorkflowEngine(EJBWorkflowManagerBean.java:1236)
     at
    com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean.
    resumeTask(EJBWorkflowManagerBean.java:347)
     at
    com.lombardisoftware.server.ejb.workflow.EJSRemoteStatefulEJBWor
    kflowManager_82478d70.resumeTask(Unknown Source)
     at
    com.lombardisoftware.server.ejb.workflow._EJBWorkflowManagerInte
    rface_Stub.resumeTask(_EJBWorkflowManagerInterface_Stub.java:347
    )
     at
    com.lombardisoftware.component.common.workflow.EJBWorkflowManage
    rDelegateDefault.resumeTask(EJBWorkflowManagerDelegateDefault.ja
    va:105)
     at
    com.lombardisoftware.component.common.workflow.EJBWorkflowManage
    rDelegateWebSphere$2.run(EJBWorkflowManagerDelegateWebSphere.jav
    a:52)
     at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:280)
     at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per.doAsCurrentSubjectContextSensitive(WebsphereDelegateHelper.j
    ava:175)
     at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per.doAsCurrentSubjectContextSensitive(WebsphereDelegateHelper.j
    ava:159)
     at
    com.lombardisoftware.component.common.workflow.EJBWorkflowManage
    rDelegateWebSphere.resumeTask(EJBWorkflowManagerDelegateWebSpher
    e.java:50)
     at
    com.lombardisoftware.component.common.web.WebWorkflowManager.cal
    lEJBWorkflowManager(WebWorkflowManager.java:776)
     at
    com.lombardisoftware.component.common.web.WebWorkflowManager.sta
    rtProcess(WebWorkflowManager.java:399)
     at
    com.lombardisoftware.component.common.web.WebWorkflowManager.pro
    cessRequest(WebWorkflowManager.java:273)
     at
    com.lombardisoftware.servlet.ControllerServlet.doCommon(Controll
    erServlet.java:376)
     at
    com.lombardisoftware.servlet.ControllerServlet.doGet(ControllerS
    ervlet.java:127)
    
    Problem Summary:
    
    When the cleanup mechanism tries remove the context used to
    execute JavaScript,
    the cleanup fails, because the current context does not belong
    to the function
    that needs to be cleaned up.
    

Problem conclusion

  • The fix ensures, that the cleanup takes place when the
    JavaScript was executed
    and the context can be disposed.
    
    FIX AVAILABILITY:
    
    iFix for 8.0.1.1 is available on Fix Central, search for APAR
    JR46649 at http://www.ibm.com/support/fixcentral/
    Fix is also included in 8.0.1.2
    
    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

    JR46649

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    801

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-05-14

  • Closed date

    2013-08-15

  • Last modified date

    2013-08-15

  • 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

  • R801 PSY

       UP

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

Document Information

Modified date:
08 January 2022