cancel
Showing results for 
Search instead for 
Did you mean: 

java.lang.IllegalStateException: Cannot activate session

Former Member
0 Kudos

Hi,

we have a dynamic web application which uses Hibernate 4.1.9 and Spring 3.1.4 and hosted on a Netweaver 7.30.

we are getting an error msg

java.lang.IllegalStateException: Cannot activate session

we are not sure whats the cause of this error and how to handle it. how can we handle it? as out application is already in production, and this issue is becoming a show stopper for us.

stack traces as shown below:

500 Internal Server Error is returned for HTTP request
[https://pj1.company.com.sa:443/company.com~it~ca~olswar/report/groupReport.xhtml]:

  component [facesServlet],
  web module [company.com~it~ca~olswar],

  application [company.com/it~ca~olsear],
  DC name
[company.com/it~ca~olsear],
  CSN component[],
  problem categorization
[com.sap.ASJ.web.000137],
  internal categorization [336953622].


[EXCEPTION]
java.lang.IllegalStateException: Cannot activate session:

at
com.sap.engine.session.runtime.http.HttpRuntimeSessionModel.beforeActivate(HttpRuntimeSessionModel.java:91)
at
com.sap.engine.session.runtime.RuntimeSessionModel.activate(RuntimeSessionModel.java:301)
at
com.sap.engine.session.runtime.SessionRequest.session(SessionRequest.java:90)
at
com.sap.engine.session.runtime.http.HttpSessionRequest.getSession(HttpSessionRequest.java:512)
at
com.sap.engine.services.servlets_jsp.server.runtime.client.RequestContext.getSession(RequestContext.java:619)
at
com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletRequestFacadeWrapper.getSession(HttpServletRequestFacadeWrapper.java:328)
at
org.springframework.web.context.request.ServletRequestAttributes.updateAccessedSessionAttributes(ServletRequestAttributes.java:222)
at
org.springframework.web.context.request.AbstractRequestAttributes.requestCompleted(AbstractRequestAttributes.java:48)
at
org.springframework.web.context.request.RequestContextListener.requestDestroyed(RequestContextListener.java:78)
at
com.sap.engine.services.servlets_jsp.server.application.WebEvents.requestDestroyed(WebEvents.java:866)
at
com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletRequestFacadeWrapper.reset(HttpServletRequestFacadeWrapper.java:88)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:551)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
at
com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
at
com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
at
com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by: com.sap.bc.proj.jstartup.sadm.ShmNotOwnerException: Cannot lock web session
735 (rc = 14 no permission).
at
com.sap.bc.proj.jstartup.sadm.ShmWebSession.nativeLoad(Native Method)
at
com.sap.bc.proj.jstartup.sadm.ShmWebSession.<init>(ShmWebSession.java:261)
at
com.sap.bc.proj.jstartup.sadm.ShmWebSession.findSession(ShmWebSession.java:319)
at
com.sap.bc.proj.jstartup.sadm.ShmWebSession.findSession(ShmWebSession.java:333)
at
com.sap.engine.session.runtime.http.HttpRuntimeSessionModel.activateShmSlot(HttpRuntimeSessionModel.java:377)
at
com.sap.engine.session.runtime.http.HttpRuntimeSessionModel.beforeActivate(HttpRuntimeSessionModel.java:86)
...
47 more

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Moyad,

Were you able to solve this issue?

Thanks,

Vivek

former_member193379
Active Contributor
0 Kudos

Hi Moayad,

Increase the shared memory Web session table size.
Please go through the below link for detailed solution.

(JSTSG)(P4-IIOP)Ses-P004 - Java Server Troubleshooting Guide - SCN Wiki

Thanks,
Hamendra

Former Member
0 Kudos

Hi Hamendra,

Well, the article you referred to addresses the running out of memory issue. but in our log the main error is the one below

Caused by: com.sap.bc.proj.jstartup.sadm.ShmNotOwnerException: Cannot lock web session

735 (rc = 14 no permission).



Thanks,

Moayad

former_member193379
Active Contributor
0 Kudos

Hi Moayad,

Please give a try to the below document

https://websmp201.sap-ag.de/~sapidb/011000358700001414332011E/xi31_fp37_relnotes_en.pdf

Thanks,

Hamendra

Former Member
0 Kudos

Hi Hamendra,

i couldn't open the link.

it gives me "the webpage cannot be found"

thanks,

Moayad

former_member193379
Active Contributor
0 Kudos

Hi Moayad,

Even it is not opening for me as well

Thanks,

Hamendra

former_member198633
Contributor
0 Kudos

Hello Moayad,

This error may be due an outdated SAP kernel, so upgrading the kernel may make a difference.

Otherwise, further things should be checked. An HTTPWatchTrace would help us identify the root casue. And this note is also worth mentioning 1910608 here. (In the resolution part you can see references to a kernel patch upgrade.)

Best Regards,

Peter

Former Member
0 Kudos

Hello Peter,

I checked, the kernel is updated.

we have been analyzing, I believe it could be related to loadbalancer.

as our application is hosted on multiple servers and each server with 3 nodes and we depend on single sign on from the Portal,

we found that it fails on some nodes in the beginning and as time passes it starts failing on more nodes until the server is restarted then it starts working for few hours before going into the same cycle.

regards,

Moayad

Former Member
0 Kudos

Hi Peter,

I am changing a configuration in the App web.xml, and I am hoping it will fix the issue in our production environment.

I have changed and added the load-on-startup attribute

in our web.xml we had the following configuration.

<servlet>

    <display-name>login/loginLocalServ</display-name>

    <servlet-name>login/loginLocalServ</servlet-name>

    <servlet-class>com.company.ols.login.LoginServletLocal</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>LoginServlet</servlet-name>

    <url-pattern>/login/loginServ</url-pattern>

  </servlet-mapping>

  <servlet>

    <servlet-name>facesServlet</servlet-name>

    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

<servlet-mapping>

    <servlet-name>facesServlet</servlet-name>

    <url-pattern>*.xhtml</url-pattern>

</servlet-mapping>

and now I have changed it to

<servlet>

    <display-name>login/loginLocalServ</display-name>

    <servlet-name>login/loginLocalServ</servlet-name>

    <servlet-class>com.company.ols.login.LoginServletLocal</servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>LoginServlet</servlet-name>

    <url-pattern>/login/loginServ</url-pattern>

  </servlet-mapping>

  <servlet>

    <servlet-name>facesServlet</servlet-name>

    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

    <load-on-startup>3</load-on-startup>

  </servlet>

<servlet-mapping>

    <servlet-name>facesServlet</servlet-name>

    <url-pattern>*.xhtml</url-pattern>

</servlet-mapping>