IBM Support

JR47708: HIDE FREQUENT LOGGING OF ERROR MESSAGES

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Enabling tracking of a variable with no default value results in
    exception CWLLG2041E being written to the logs.
    CWLLG2041E occurs frequently enough that customer has difficulty
    debugging more serious errors.
    Here is the stack trace generated in the logs:
     E   CWLLG2041E:  TeamWorksJavaScriptException created
    non-nested.   Error: [TeamworksException name='TypeError',
    message='TypeError: Cannot read property "subBusinessObject"
    from undefined (<JSScript>#1)', line=1, pos=0 nested=<none>]
                                     [TeamworksException
    name='TypeError', message='TypeError: Cannot read property
    "subBusinessObject" from undefined (<JSScript>#1)', line=1,
    pos=0 nested=<none>]
             at
    com.lombardisoftware.core.script.js.JavaScriptRunner.execute(Jav
    aScriptRunner.java:270)
             at
    com.lombardisoftware.core.script.js.JavaScriptRunner.evalExpress
    ion(JavaScriptRunner.java:367)
             at
    com.lombardisoftware.core.script.js.JavaScriptRunner.evalExpress
    ion(JavaScriptRunner.java:355)
             at
    com.lombardisoftware.bpd.runtime.engine.BPDExecutionTreeNode.eva
    luateExpression(BPDExecutionTreeNode.java:689)
             at
    com.lombardisoftware.bpd.runtime.engine.BPDExecutionTreeNode.eva
    luateExpression(BPDExecutionTreeNode.java:655)
             at
    com.lombardisoftware.bpd.runtime.engine.AbstractWorkerContext.ev
    aluateExpression(AbstractWorkerContext.java:39)
             at
    com.lombardisoftware.server.monitor.MonitorEventHelper.getTracke
    dFieldRecords(MonitorEventHelper.java:1254)
             at
    com.lombardisoftware.bpd.runtime.engine.FlowObjectExecutionTreeN
    ode.generateMonitorEventRecordWithTrackedFields(FlowObjectExecut
    ionTreeNode.java:785)
             at
    com.lombardisoftware.bpd.runtime.engine.FlowObjectExecutionTreeN
    ode.generateMonitorEventRecordWithTrackedFieldsAndKPIData(FlowOb
    jectExecutionTreeNode.java:797)
             at
    com.lombardisoftware.bpd.runtime.engine.FlowObjectExecutionTreeN
    ode.fireEvent(FlowObjectExecutionTreeNode.java:752)
             at
    com.lombardisoftware.bpd.runtime.engine.FlowObjectExecutionTreeN
    ode.doWork(FlowObjectExecutionTreeNode.java:464)
             at
    com.lombardisoftware.bpd.runtime.engine.BPDEngine.executeTreeNod
    e(BPDEngine.java:333)
             at
    com.lombardisoftware.bpd.runtime.engine.BPDEngine.processNotific
    ationRegardlessStatus(BPDEngine.java:626)
             at
    com.lombardisoftware.bpd.runtime.engine.BPDEngine.processNotific
    ation(BPDEngine.java:594)
             at
    com.lombardisoftware.bpd.runtime.engine.BPDEngine.processNotific
    ation(BPDEngine.java:582)
             at
    com.lombardisoftware.bpd.runtime.engine.notification.BPDFlowObje
    ctNotification.applyToEngine(BPDFlowObjectNotification.java:15)
             at
    com.lombardisoftware.bpd.component.flowcomponent.activity.worker
    .notification.TaskActivityCompletedNotification.applyToEngine(Ta
    skActivityCompletedNotification.java:305)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.AbstractNotificat
    ionBpdTask.doWithLock(AbstractNotificationBpdTask.java:54)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.DbNotificationBpd
    Task.doWithLock(DbNotificationBpdTask.java:49)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.AbstractBpdTask$1
    .doExecuteDuringLock(AbstractBpdTask.java:92)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.AbstractBpdTask$1
    .doExecuteDuringLock(AbstractBpdTask.java:82)
             at
    com.lombardisoftware.bpd.runtime.engine.util.LockBPDInstanceComm
    and$1.doInTransaction(LockBPDInstanceCommand.java:62)
             at
    com.lombardisoftware.server.core.TXCommand$2.call(TXCommand.java
    :85)
             at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.executeInExistingTransaction(ProgrammaticTransactionSupport.j
    ava:593)
             at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.execute(ProgrammaticTransactionSupport.java:320)
             at
    com.lombardisoftware.server.core.TXCommand.executeInDeadlockRetr
    yLoop(TXCommand.java:83)
             at
    com.lombardisoftware.bpd.runtime.engine.util.LockBPDInstanceComm
    and.execute(LockBPDInstanceCommand.java:74)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.AbstractBpdTask$2
    .doInTransaction(AbstractBpdTask.java:105)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.AbstractBpdTask$2
    .doInTransaction(AbstractBpdTask.java:101)
             at
    com.lombardisoftware.server.core.TXCommand$2.call(TXCommand.java
    :85)
             at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt$1.doInTransaction(ProgrammaticTransactionSupport.java:427)
             at
    org.springframework.transaction.jta.WebSphereUowTransactionManag
    er$UOWActionAdapter.run(WebSphereUowTransactionManager.java:306)
             at
    com.ibm.ws.uow.embeddable.EmbeddableUOWManagerImpl.runUnderNewUO
    W(EmbeddableUOWManagerImpl.java:791)
             at
    com.ibm.ws.uow.embeddable.EmbeddableUOWManagerImpl.runUnderUOW(E
    mbeddableUOWManagerImpl.java:370)
             at
    org.springframework.transaction.jta.WebSphereUowTransactionManag
    er.execute(WebSphereUowTransactionManager.java:252)
             at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.executeInNewTransaction(ProgrammaticTransactionSupport.java:4
    22)
             at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.execute(ProgrammaticTransactionSupport.java:291)
             at
    com.lombardisoftware.server.core.TXCommand.executeInDeadlockRetr
    yLoop(TXCommand.java:83)
             at
    com.lombardisoftware.server.core.TXCommand.execute(TXCommand.jav
    a:72)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.AbstractBpdTask.e
    xecute(AbstractBpdTask.java:101)
             at
    com.lombardisoftware.bpd.runtime.engine.quartz.AbstractBpdTask.e
    xecute(AbstractBpdTask.java:59)
             at
    com.lombardisoftware.server.scheduler.Engine.execute(Engine.java
    :794)
             at
    com.lombardisoftware.server.scheduler.Engine.access$300(Engine.j
    ava:78)
             at
    com.lombardisoftware.server.scheduler.Engine$1.run(Engine.java:5
    04)
             at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per$3$1.run(WebsphereDelegateHelper.java:100)
             at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:314)
             at javax.security.auth.Subject.doAs(Subject.java:573)
             at
    com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:19
    5)
             at
    com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:15
    2)
             at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per.doAs(WebsphereDelegateHelper.java:172)
             at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per$3.run(WebsphereDelegateHelper.java:96)
             at
    com.lombardisoftware.server.scheduler.ThreadPool$MyWork.run(Thre
    adPool.java:281)
             at
    com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java
    :269)
             at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:252)
             at javax.security.auth.Subject.doAs(Subject.java:495)
             at
    com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:13
    2)
             at
    com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:90
    )
             at
    com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.jav
    a:336)
             at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:280)
             at
    com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:804)
             at
    com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithE
    xecutionContextImpl.java:222)
             at
    com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:20
    6)
             at
    com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1815)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  User invoking exposed BPD variables with no *
    *                  default values.                             *
    ****************************************************************
    * PROBLEM DESCRIPTION: When executing BPDs which has exposed   *
    *                      variables that are not intialized       *
    *                      with a default value, error messages    *
    *                      accumulate in the logs.                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The frequent logging of these error messages causes logs files
    to fill up and will eventually cause system logs to overwrite
    each other; possibly losing valuable tracing that may help in
    identifying other issues.
    

Problem conclusion

  • In order for the customer to avoid frequent logged exceptions
    from showing up, customer can add a configuration property
    "log-tracked-loudly" into 100Custom.xml, to enable or disable
    the logging.
    When property "log-tracked-loudly" is set to false, it is the
    default behavior of writing the exception to the log as an
    error (SEVERE).
    When property "log-tracked-loudly" is set to true, it disables
    this default behavior. Instead, it writes the exception to
    the log only if the logging level is set to FINE. Since the
    default logging level is INFO, these FINE logged exceptions
    should not appear in log files.
    
    This iFix is available on BPM v8.0.1.1.
    It can be download from Fix Central. Installation instruction
    including setting the "log-tracked-loudly" property can be
    found in the README file, which can be downloaded together
    with the iFix file.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR47708

  • 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-09-06

  • Closed date

    2013-09-30

  • Last modified date

    2014-10-09

  • 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

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFTN5","label":"IBM Business Process Manager Advanced"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.1","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
09 October 2014