Fixes are available
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":"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:
07 January 2022