Anonymous | Login | Signup for a new account | 12-17-2024 10:44 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Advanced Details [ Jump to Notes ] | [ View Simple ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0004475 | [Resin] | minor | always | 04-04-11 11:25 | 04-04-11 14:28 | ||||
Reporter | ferg | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | Platform | |||||
Status | closed | OS | |||||||
Projection | none | OS Version | |||||||
ETA | none | Fixed in Version | 4.0.17 | Product Version | 4.0.16 | ||||
Product Build | |||||||||
Summary | 0004475: Java deserialization classloader | ||||||||
Description |
(rep by Keith Fetterman) This problem seems to be more pervasive in Resin 4.0.16 pro. I am now seeing other application classes that the Resin EnvironmentClassLoader is trying to load but it can't find them. I am getting the error "java.lang.ClassNotFoundException" because the "EnvironmentClassLoader[resin-system:]" is trying to load it. In our resin.xml file, I have the application classes being loaded at at the Host level. Resin was started at 9:55 AM this morning. Since then, I have been testing our Website including checking out, which would require "com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm" class to be loaded. Then at 10:37 AM, resin throws the error: > > [11-04-04 10:37:46.336] {http://*:8082-23} [^] WARNING > > com.caucho.server.session.SessionImpl > > com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: > > com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm > > in EnvironmentClassLoader[resin-system:] It looks like the error is occurring when resin is either serializing or deserializing the session. Is the EnvironmentClassLoader above the host class loader and if so, why is trying to load application classes? Is this a bug in resin 4.0.16? > > [11-04-04 10:37:46.336] {http://*:8082-23} [^] WARNING > > com.caucho.server.session.SessionImpl > > com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: > > com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm > > in EnvironmentClassLoader[resin-system:] > > at > > com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64) > > at > > com.caucho.server.session.SessionImpl.load(SessionImpl.java:706) > > at > > com.caucho.server.session.SessionImpl.load(SessionImpl.java:642) > > at > > com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332) > > at > > com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255) > > at > > com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198) > > at > > com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613) > > at > > com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961) > > at > > com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725) > > at > > com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268) > > at > > com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813) > > at > > com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) > > at > > com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) > > at > > com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) > > at > > com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) > > at > > com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) > > at > > com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) > > at > > com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) > > at > > com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) > > at > > com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) > > at > > com.caucho.env.thread.ResinThread.run(ResinThread.java:130) > > Caused by: > > java.lang.ClassNotFoundException: > > com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm > > in EnvironmentClassLoader[resin-system:] > > at > > com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1382) > > at > > com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358) > > at > > java.lang.Class.forName0(Native Method) > > at > > java.lang.Class.forName(Class.java:247) > > at > > com.caucho.server.session.JavaSessionDeserializer$ContextObjectInputStream.resolveClass(JavaSessionDeserializer.java:105) > > at > > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) > > at > > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) > > at > > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) > > at > > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) > > at > > java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) > > at > > com.caucho.server.session.JavaSessionDeserializer.readObject(JavaSessionDeserializer.java:70) > > at > > com.caucho.server.session.SessionImpl.load(SessionImpl.java:686) > > ... 19 more > > On 03/30/2011 05:49 PM, Keith Fetterman wrote: > > Today, I discovered when I stopped and then started resin (4.0.16), I > > received a "java.lang.ClassNotFoundException" exception being thrown by > > the "com.caucho.loader.DynamicClassLoader.loadClass" when I accessed the > > home page of my Web site. The ClassNotFoundException is caused by resin > > trying to load one of our application classes that was stored in the > > HTTP session and was persisted. We have our application classes being > > loaded at the host level class loader. Why is resin trying to load the > > class via the EnvironmentClassLoader? Is this a bug in resin 4.0.16? > > > > We switched from using hessian to java serialization because hessian > > serialization was trying to lazy load our hibernate objects that were in > > the HTTP session. I don't know if this makes a difference. > > > > Please help if you can. > > > > The stack trace is below. > > >> >> [11-03-30 17:06:10.723] {http://*:8082-16} [^] WARNING >> >> com.caucho.server.session.SessionImpl >> >> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: >> >> com.marinersupply.bean.CustomerBean in >> >> EnvironmentClassLoader[resin-system:] >> >> at >> >> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64) >> >> at >> >> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706) >> >> at >> >> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642) >> >> at >> >> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332) >> >> at >> >> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255) >> >> at >> >> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198) >> >> at >> >> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613) >> >> at >> >> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961) >> >> at >> >> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725) >> >> at >> >> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268) >> >> at >> >> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) >> >> at >> >> com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) >> >> at >> >> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) >> >> at >> >> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) >> >> at >> >> com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) >> >> at >> >> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) >> >> at >> >> com.caucho.env.thread.ResinThread.run(ResinThread.java:130) >> >> Caused by: >> >> java.lang.ClassNotFoundException: com.marinersupply.bean.CustomerBean >> >> in EnvironmentClassLoader[resin-system:] >> >> at >> >> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1382) >> >> at >> >> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358) >> >> at >> >> java.lang.Class.forName0(Native Method) >> >> at >> >> java.lang.Class.forName(Class.java:247) >> >> at >> >> com.caucho.server.session.JavaSessionDeserializer$ContextObjectInputStream.resolveClass(JavaSessionDeserializer.java:105) >> >> at >> >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) >> >> at >> >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) >> >> at >> >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) >> >> at >> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) >> >> at >> >> java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) >> >> at >> >> com.caucho.server.session.JavaSessionDeserializer.readObject(JavaSessionDeserializer.java:70) >> >> at >> >> com.caucho.server.session.SessionImpl.load(SessionImpl.java:686) >> >> ... 19 more >> >> >> >> [11-03-30 17:06:10.741] {http://*:8082-15} [^] WARNING >> >> com.caucho.server.session.SessionImpl >> >> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: >> >> com.marinersupply.bean.CustomerBean in >> >> EnvironmentClassLoader[resin-system:] >> >> at >> >> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64) >> >> at >> >> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706) >> >> at >> >> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642) >> >> at >> >> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332) >> >> at >> >> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255) >> >> at >> >> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198) >> >> at >> >> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613) >> >> at >> >> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961) >> >> at >> >> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725) >> >> at >> >> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268) >> >> at >> >> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) >> >> at >> >> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) >> >> at >> >> com.caucho.network.listen.KeepaliveRequestTask.doTask(KeepaliveRequestTask.java:73) >> >> at >> >> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) >> >> at >> >> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) >> >> at >> >> com.caucho.network.listen.KeepaliveRequestTask.run(KeepaliveRequestTask.java:60) >> >> at >> >> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) >> >> at >> >> com.caucho.env.thread.ResinThread.run(ResinThread.java:130) >> >> Caused by: >> >> java.lang.ClassNotFoundException: com.marinersupply.bean.CustomerBean >> >> in EnvironmentClassLoader[resin-system:] >> >> at >> >> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1382) >> >> at >> >> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358) >> >> at >> >> java.lang.Class.forName0(Native Method) >> >> at >> >> java.lang.Class.forName(Class.java:247) >> >> at >> >> com.caucho.server.session.JavaSessionDeserializer$ContextObjectInputStream.resolveClass(JavaSessionDeserializer.java:105) >> >> at >> >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) >> >> at >> >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) >> >> at >> >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) >> >> at >> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) >> >> at >> >> java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) >> >> at >> >> com.caucho.server.session.JavaSessionDeserializer.readObject(JavaSessionDeserializer.java:70) >> >> at >> >> com.caucho.server.session.SessionImpl.load(SessionImpl.java:686) >> >> ... 19 more >> >> |
||||||||
Steps To Reproduce | |||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed. 26 unique queries executed. |