Hi Scott,

Thanks filing this as a bug.  I ran some more tests and it looks like 
its related to the HTTP session timing out or being invalidated.  If a 
request for that session occurs after the timeout, I see the 
EnvironmentClassLoader exceptions.

Keith

On 04/04/2011 11:55 AM, Scott Ferguson wrote:
> On 04/04/2011 11:39 AM, Keith Fetterman wrote:
>> I am wondering if this problem is related to the HTTP session timing
>> out.  In the ROOT web application, we have the session time out set to
>> 70 minutes:
>>
>> WEB-INF/web.xml
> Possibly. I've filed it as a bug.
>
> The Java deserializer requires a classloader handler for proper
> deserialization. It's possible that it's not properly handled in some
> contexts.
>
> -- Scott
>
>>> <session-config>
>>> <session-timeout>70</session-timeout>
>>> </session-config>
>> I received another ClassNotFoundException from the
>> EnvironmentClassLoader after 30 minutes, which is the default session
>> timeout for most Web apps.
>>
>>
>> On 04/04/2011 11:19 AM, Keith Fetterman wrote:
>>> 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
>>>>>
>
>
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest

-- 
-----------------------------------------------------------------
Keith Fetterman                        Direct: 206-319-9434
Mariner Supply, Inc.                   206-780-5670
http://www.go2marine.com               kfetter...@go2marine.com

http://www.boatersline.com




_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to