IBM Support

NullPointerException when trying to run a UCA

Troubleshooting


Problem

If your Event Manager fails to start up (due to a changed password of the EM user for example), when you run an Under Cover Agent (UCA) it will fail with an NullPointerException.

Symptom

If your Event Manager fails to start up (due to a changed password of the EM user for example), when you run a UCA it will fail with an NPE.

Here is the full error message from tw-error.log that will be seen when trying to run a UCA from a service and the EM has failed to start up:


    2007-11-19 12:05:49,754 [http-0.0.0.0-8081-3] ERROR com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean - Exception occurred, e = com.lombardisoftware.component.common.workflow.WorkflowProcessItemException: java.lang.NullPointerException
    com.lombardisoftware.component.common.workflow.WorkflowProcessItemException: java.lang.NullPointerException
    at com.lombardisoftware.component.common.workflow.ExecutionJob.doJob(ExecutionJob.java:461)
    at com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean.doResumeWorkflowEngine(EJBWorkflowManagerBean.java:850)
    at com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean.resumeProcess(EJBWorkflowManagerBean.java:312)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
    at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:598)
    at org.jboss.ejb.plugins.StatefulHASessionSynchronisationInterceptor.invoke(StatefulHASessionSynchronisationInterceptor.java:107)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
    at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
    at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:173)
    at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:77)
    at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:330)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
    at org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:278)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136)
    at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
    at org.jboss.ejb.Container.invoke(Container.java:954)
    at sun.reflect.GeneratedMethodAccessor185.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
    at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
    at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
    at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
    at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
    at org.jboss.proxy.ejb.RetryInterceptor.invoke(RetryInterceptor.java:176)
    at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
    at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
    at org.jboss.proxy.ejb.StatefulSessionInterceptor.invoke(StatefulSessionInterceptor.java:121)
    at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
    at $Proxy142.resumeProcess(Unknown Source)
    at com.lombardisoftware.component.common.workflow.EJBWorkflowManagerDelegateDefault.resumeProcess(EJBWorkflowManagerDelegateDefault.java:136)
    at com.lombardisoftware.component.common.web.WebWorkflowManager.callEJBWorkflowManager(WebWorkflowManager.java:660)
    at com.lombardisoftware.component.common.web.WebWorkflowManager.startProcess(WebWorkflowManager.java:347)
    at com.lombardisoftware.component.common.web.WebWorkflowManager.processRequest(WebWorkflowManager.java:174)
    at com.lombardisoftware.servlet.ControllerServlet.doCommon(ControllerServlet.java:438)
    at com.lombardisoftware.servlet.ControllerServlet.doGet(ControllerServlet.java:105)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.lombardisoftware.servlet.CrossSiteScriptingFilter.doFilter(CrossSiteScriptingFilter.java:39)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.lombardisoftware.servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NullPointerException
    at com.lombardisoftware.server.scheduler.TaskManager.scheduleTasks(TaskManager.java:220)
    at com.lombardisoftware.server.eventmgr.EventMgrSupport.scheduleUCAExplicit(EventMgrSupport.java:73)
    at com.lombardisoftware.server.eventmgr.EventMgrSupport.scheduleUCA(EventMgrSupport.java:46)
    at com.lombardisoftware.component.invokeuca.worker.InvokeUcaComponentWorker$1.doInTransaction(InvokeUcaComponentWorker.java:78)
    at com.lombardisoftware.server.core.TXCommand.doInTransactionInternal(TXCommand.java:112)
    at com.lombardisoftware.server.core.TXCommand.executeInDeadlockRetryLoop(TXCommand.java:222)
    at com.lombardisoftware.component.invokeuca.worker.InvokeUcaComponentWorker.doJob(InvokeUcaComponentWorker.java:82)
    at com.lombardisoftware.component.common.workflow.ExecutionJob.doJob(ExecutionJob.java:449)
    ... 73 more
    2007-11-19 12:05:49,769 [http-0.0.0.0-8081-3] ERROR com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean - Message: server.ejb.workflow.impl.EJBWorkflowManagerBean.exception Arguments: ExecutionStack(ExecutionJob(worker(componentName = InvokeUca), processItemId = 105, processTiming = N, saveExecutionContextBehaviour = EXECUTION_CONTEXT_DO_NOT_SAVE)), SymbolTable(SymbolTable(...)), sharedData = nu
    ll

Cause

This error typically occurs because the Event Manager has failed to startup properly. The most likely cause of the startup failure is that the EventManager login-name and/or password defined in the Teamworks configuration space is incorrect or out of sync with your security provider. For example, your "tw_admin" password is changed every 30 days in Active Directory, due to your company's security policy.

These settings are defined in 80EventManager.xml; however, if this is something that will change in your environment frequently due to company password change policy, you should consider moving this setting to the 100Custom.xml file.

The tags that define this variable are shown below:
<event-manager>
<!--
What user does the EventManager run as?
-->
<login-name>tw_admin</login-name>
<password>tw_admin</password>

If this is the problem, you will see error messages at startup in the tw-error.log, tw-eventmgr.log, and tw-security.log. The error that appears in the tw-error.log and tw-eventmgr.log is:

    2007-11-19 11:40:57,118 [main] ERROR com.lombardisoftware.servlet.eventmgr.SchedulerInitializerServlet  - Cannot lookup UserTransaction:
    javax.security.auth.login.FailedLoginException: User is not authenticated
The error from the tw-security.log is slightly different:
    2007-11-19 11:40:57,118 [main] ERROR com.lombardisoftware.security.provider.authentication.jboss.TWInternalLoginModuleImpl  - com.lombardisoftware.security.TeamWorksSecurityException: Error trying to authenticate Internal user tw_admin (reason: com.lombardisoftware.security.TeamWorksSecurityException: Internal user failed to login)

Resolving The Problem

Fix the EventManager login-name and/or password in the configuration files and restart the process server; alternatively, if you cannot restart the server you can change the password for the defined login-name to the expected value.

[{"Product":{"code":"SSFPRP","label":"WebSphere Lombardi Edition"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Event Manager","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"6.2.2;6.2.1;6.2;6.1;6.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Historical Number

347

Product Synonym

Teamworks TW

Document Information

Modified date:
15 June 2018

UID

swg21439793