Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004254 [Resin] minor always 10-08-10 17:03 10-13-10 12:48
Reporter ferg View Status public  
Assigned To ferg
Priority urgent Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.12 Product Version 4.0.9
  Product Build
Summary 0004254: session/hessian classloader issue 4.0.9
Description (rep by Steven Nicholai)



I?ve added the following logger to resin.xml

 

   <logger name=?com.caucho.hessian.io.SerializerFactory? level=?finer?/>

 

We?re seeing these errors when the browser is left alone for 45+ minutes (much longer than the 30 minute session timeout.)

 

[10-10-06 22:30:56.192] {http://*:8080-9} [^] Hessian/Burlap: 'org.springframework.security.context.SecurityContextImpl' is an unknown class in EnvironmentClassLoader[system:]:

                                          java.lang.ClassNotFoundException: org.springframework.security.context.SecurityContextImpl in EnvironmentClassLoader[system:]

[10-10-06 22:30:56.203] {http://*:8080-9} [^] java.lang.ClassNotFoundException: org.springframework.security.context.SecurityContextImpl in EnvironmentClassLoader[system:]

                                                at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358)

                                                at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1334)

                                                at java.lang.Class.forName0(Native Method)

                                                at java.lang.Class.forName(Class.java:247)

                                                at com.caucho.hessian.io.SerializerFactory.getDeserializer(SerializerFactory.java:666)

                                                at com.caucho.hessian.io.SerializerFactory.getObjectDeserializer(SerializerFactory.java:577)

                                                at com.caucho.hessian.io.SerializerFactory.getObjectDeserializer(SerializerFactory.java:553)

                                                at com.caucho.hessian.io.Hessian2Input.readObjectDefinition(Hessian2Input.java:2154)

                                                at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2091)

                                                at com.caucho.server.session.HessianSessionDeserializer.readObject(HessianSessionDeserializer.java:71)

                                                at com.caucho.server.session.SessionImpl.load(SessionImpl.java:653)

                                                at com.caucho.server.session.SessionImpl.load(SessionImpl.java:609)

                                                at com.caucho.server.session.SessionManager.createSession(SessionManager.java:1298)

                                                at com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:253)

                                                at com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:196)

                                                at com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:589)

                                                at com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1949)

                                                at com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1749)

                                                at com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1254)

                                                at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:810)

                                                at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:662)

                                                at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:625)

                                                at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:576)

                                                at com.caucho.network.listen.TcpSocketLink$AcceptTask.doTask(TcpSocketLink.java:1157)

                                                at com.caucho.network.listen.TcpSocketLink$ConnectionReadTask.runThread(TcpSocketLink.java:1092)

                                                at com.caucho.network.listen.TcpSocketLink$AcceptTask.run(TcpSocketLink.java:1124)

                                                at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:169)

                                                at com.caucho.env.thread.ResinThread.run(ResinThread.java:126)

 

It seems that resin is trying to reconstitute the timedout session using the system classloader rather than the webapp classloader, which fails.

 

Any hints for debugging classloader issues in resin?

 
Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
(0004791)
ferg
10-13-10 12:48

server/01u3
 

- Issue History
Date Modified Username Field Change
10-08-10 17:03 ferg New Issue
10-13-10 12:48 ferg Note Added: 0004791
10-13-10 12:48 ferg Assigned To  => ferg
10-13-10 12:48 ferg Status new => closed
10-13-10 12:48 ferg Resolution open => fixed
10-13-10 12:48 ferg Fixed in Version  => 4.0.12


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed.
25 unique queries executed.
Powered by Mantis Bugtracker