This discussion is archived
2 Replies Latest reply: Jan 2, 2013 9:06 AM by 966329 RSS

Scenario Manager cannot process the EndSession Event

966329 Newbie
Currently Being Moderated
Hi,

I am seeing lot of errors regarding the EndSession event in the logs. Have anyone faced the same issue. if so do you know why this happens.

Here are logs:

/atg/scenario/ScenarioManager     Error while processing individual event message of type atg.dps.EndSession; rolling back the transaction     atg.process.ProcessException: Cannot obtain a subject required for an individual process execution context, from either the current request or message bean EndSessionMessage[profileId=null,sessionId=zh6olHIm9ThoOACI2hXZFA**.prod1, profile=Profile[null]]
     at atg.process.ProcessManagerService.createIndividualExecutionContext(ProcessManagerService.java:2485)
     at atg.process.ProcessManagerService.receiveIndividualEventMessage(ProcessManagerService.java:11573)
     at atg.process.ProcessManagerService.receiveIndividualEventMessage(ProcessManagerService.java:11490)
     at atg.process.ProcessManagerService.receiveMessage(ProcessManagerService.java:11300)
     at atg.process.ProcessManagerService.receiveMessage(ProcessManagerService.java:11258)
     at atg.dms.patchbay.ElementManager.deliverMessage(ElementManager.java:294)
     at atg.dms.patchbay.InputPort.onMessage(InputPort.java:168)
     at atg.dms.patchbay.InputDestination.onMessage(InputDestination.java:375)
     at atg.dms.local.MessageConsumerImpl.deliverMessage(MessageConsumerImpl.java:274)
     at atg.dms.local.TopicImpl.deliverToRecipients(TopicImpl.java:91)
     at atg.dms.local.DestinationImpl.deliverMessage(DestinationImpl.java:238)
     at atg.dms.local.TopicPublisherImpl.publish(TopicPublisherImpl.java:141)
     at atg.dms.patchbay.OutputDestination.sendMessage(OutputDestination.java:181)
     at atg.dms.patchbay.OutputPort.sendMessage(OutputPort.java:140)
     at atg.dms.patchbay.ElementManager.sendMessage(ElementManager.java:363)
     at atg.nucleus.dms.DASMessageSource.fireObjectMessage(DASMessageSource.java:209)
     at atg.nucleus.dms.DASMessageSource.fireObjectMessage(DASMessageSource.java:172)
     at atg.userprofiling.dms.DPSMessageSource.fireEndSessionMessage(DPSMessageSource.java:884)
     at atg.userprofiling.dms.DPSMessageSource.fireEndSessionMessage(DPSMessageSource.java:848)
     at atg.userprofiling.SessionEventTrigger.nameContextElementPreUnbound(SessionEventTrigger.java:582)
     at atg.nucleus.GenericContext.sendPreUnboundEvent(GenericContext.java:192)
     at atg.nucleus.GenericContext.preNotifyRemovedObject(GenericContext.java:508)
     at atg.nucleus.GenericContext.removeElement(GenericContext.java:546)
     at atg.servlet.SessionNameContext.unbindFromNameContext(SessionNameContext.java:530)
     at atg.servlet.SessionNameContext.stopSession(SessionNameContext.java:507)
     at atg.servlet.SessionNameContext.decrementWrapperCount(SessionNameContext.java:222)
     at atg.servlet.SessionBindingReporter.valueUnbound(SessionBindingReporter.java:206)
     at org.jboss.web.tomcat.service.session.ClusteredSession.removeAttributeInternal(ClusteredSession.java:1425)
     at org.jboss.web.tomcat.service.session.ClusteredSession.expire(ClusteredSession.java:889)
     at org.jboss.web.tomcat.service.session.ClusteredSession.expire(ClusteredSession.java:781)
     at org.jboss.web.tomcat.service.session.ClusteredSession.isValid(ClusteredSession.java:761)
     at org.jboss.web.tomcat.service.session.ClusteredSession.isValid(ClusteredSession.java:726)
     at org.jboss.web.tomcat.service.session.JBossCacheManager.processExpires(JBossCacheManager.java:1325)
     at org.jboss.web.tomcat.service.session.JBossManager.backgroundProcess(JBossManager.java:817)
     at org.jboss.web.tomcat.service.session.JBossCacheManager.backgroundProcess(JBossCacheManager.java:1274)
     at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1270)
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1555)
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1564)
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1564)
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1544)
     at java.lang.Thread.run(Thread.java:662)
  • 1. Re: Scenario Manager cannot process the EndSession Event
    Nitin Khare Expert
    Currently Being Moderated
    Actually the message that triggers EndSesion event contains the properties like profile, profileId and sessionId where profile and profileId are respectively the profile repository item and profileID corresponding to the user whose session is expiring. These properties are carried to ensure that a scenario depending on EndSesion event can trigger and keep on executing properly in case the session expired before the EndSession message was actually sent. But in your case it looks like that the profile is missing from the source message which fired EndSession. A valid persistent profile is a must as it would be used as the subject to create the process execution context.

    I guess you have a scenario running which is using the EndSesion event. If it is so then provide more details about the scenario definition. You can also try enabling loggingDebug for the component /atg/dynamo/servlet/dafpipeline/SessionEventTrigger and check if you get any information related to the issue like why profile information is missing from the message.
  • 2. Re: Scenario Manager cannot process the EndSession Event
    966329 Newbie
    Currently Being Moderated
    Not sure why the profile id is missing. This is not happening only during the scenario Manager's invocations. It happens across the application.

    **** Error Tue Jan 01 23:29:15 CST 2013 1357104555586 Shopping Cart --- atg.commerce.order.InvalidParameterException: Invalid profile id parameter.
    at atg.commerce.order.OrderManager.createOrder(OrderManager.java:1012)
    at atg.commerce.order.OrderManager.createOrder(OrderManager.java:905)
    at atg.commerce.order.OrderHolder.createInitialOrder(OrderHolder.java:827)
    at atg.commerce.order.OrderHolder.getCurrent(OrderHolder.java:486)
    at sun.reflect.GeneratedMethodAccessor571.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


    There were few deadlocks found on the resolveName of the nucleus:

    "ajp-10.238.160.131-30100-90" daemon prio=3 tid=0x0000000105694800 nid=0x4671 waiting for monitor entry [0xfffffffe0abf8000]
    java.lang.Thread.State: BLOCKED (on object monitor)
         at atg.nucleus.MultiRootNameResolver.bindAndConfigureService(MultiRootNameResolver.java:772)
         - waiting to lock <0xfffffffe94405990> (a atg.nucleus.ConfigurationLock)
         at atg.nucleus.MultiRootNameResolver.createFromName(MultiRootNameResolver.java:685)
         at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:344)
         - locked <0xfffffffe94405b48> (a atg.nucleus.ConfigurationLock)
         at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:842)
         at atg.nucleus.ConfigurationRef.getValue(ConfigurationRef.java:81)
         at atg.nucleus.SimpleComponentState.setBeanProperty(SimpleComponentState.java:357)
         at atg.nucleus.SimpleConfigurationState.saveToBean(SimpleConfigurationState.java:218)
         at atg.nucleus.SimpleConfigurationState.configureBean(SimpleConfigurationState.java:241)
         at atg.nucleus.BeanConfigurator.configureBean(BeanConfigurator.java:275)
         at atg.nucleus.PropertyConfiguration.configureService(PropertyConfiguration.java:752)
         at atg.nucleus.MultiRootConfiguratorImpl.configureService(MultiRootConfiguratorImpl.java:81)
         at atg.nucleus.MultiRootNameResolver.configureService(MultiRootNameResolver.java:894)
         at atg.nucleus.MultiRootNameResolver.configureAndStartService(MultiRootNameResolver.java:945)
         at atg.nucleus.MultiRootNameResolver.bindAndConfigureService(MultiRootNameResolver.java:777)
         - locked <0xfffffffe93cf2510> (a atg.nucleus.ConfigurationLock)
         at atg.nucleus.MultiRootNameResolver.createFromName(MultiRootNameResolver.java:685)
         at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:344)
         - locked <0xfffffffe94405d88> (a atg.nucleus.ConfigurationLock)
         at atg.servlet.DynamoHttpServletRequest.resolveNameSingleNucleus(DynamoHttpServletRequest.java:4105)
         - locked <0xfffffffef2b112e8> (a atg.servlet.DynamoHttpServletRequest)
         at atg.servlet.DynamoHttpServletRequest.resolveName(DynamoHttpServletRequest.java:3686)
         - locked <0xfffffffef2b112e8> (a atg.servlet.DynamoHttpServletRequest)
         at atg.servlet.DynamoHttpServletRequest.resolveName(DynamoHttpServletRequest.java:4173)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points