You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by MassimoH <Ma...@gmail.com> on 2008/04/18 03:13:31 UTC

NotSerializableException: StandardSessionFacade

I've inherited an legacy Java application and I'm getting this error on
startup.

- IOException while loading persisted sessions:
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException:
org.apache.catalina.session.StandardSessionFacade
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException:
org.apache.catalina.session.StandardSessionFacade
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)

Apache Tomcat 5.5.25
Java 1.6_05

There is a significant chance something isn't configured correctly.

-- 
View this message in context: http://www.nabble.com/NotSerializableException%3A-StandardSessionFacade-tp16758759p16758759.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: NotSerializableException: StandardSessionFacade

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: Christopher Schultz [mailto:chris@christopherschultz.net] 
> Subject: Re: NotSerializableException: StandardSessionFacade
> 
> That's the weirdest stack trace I've ever see. readObject calls
> something that throws a WriteAbortedException? Totally weird.

We already discussed that, back at the beginning of this thread.  It's
due to the object being read in not being serializable now.  It's not
quite clear, however, how the thing got written out in the first place.

> I wonder if you have a class that implements its own read/write
> methods that calls the wrong method (read calls write or similar).

No, it's because the webapp has stored the session object (actually the
facade) into the session - for no apparent reason.  The facade is not
serializable, of course.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: NotSerializableException: StandardSessionFacade

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Massimo,

MassimoH wrote:
|
| Christopher Schultz-2 wrote:
|> This shouldn't be a fatal error. All Tomcat versions I have used will
|> simply give-up restoring sessions and continue starting up.
|>
|> The OP didn't post the entire stack trace, so it's tough to tell what's
|> really going on. Massimo, can you re-post the stack trace in its
entirety?
|>
|
| This is not a fatal error, however, I'd like to get this resolved. Can I
| simply turn off restoring sessions? That just means that when I
restart the
| server, I lose client web session data, right? That's not a problem.

Yes, you can turn it off. See
http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html

| The full stack trace? It's quite big. Here it is...
|
| - IOException while loading persisted sessions:
| java.io.WriteAbortedException: writing aborted;
| java.io.NotSerializableException:
| org.apache.catalina.session.StandardSessionFacade
| java.io.WriteAbortedException: writing aborted;
| java.io.NotSerializableException:
| org.apache.catalina.session.StandardSessionFacade
|         at
| java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
|         at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)

That's the weirdest stack trace I've ever see. readObject calls
something that throws a WriteAbortedException? Totally weird. I wonder
if you have a class that implements its own read/write methods that
calls the wrong method (read calls write or similar).

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgOMmIACgkQ9CaO5/Lv0PDAhQCgqPMWQ8hQJ9N2HyBikbS1UQD0
mCQAnA64tSQdsCBQVDykr/mtwFKjxJ2W
=Z/Bg
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: NotSerializableException: StandardSessionFacade

Posted by MassimoH <Ma...@gmail.com>.

Christopher Schultz-2 wrote:
> 
> This shouldn't be a fatal error. All Tomcat versions I have used will
> simply give-up restoring sessions and continue starting up.
> 
> The OP didn't post the entire stack trace, so it's tough to tell what's
> really going on. Massimo, can you re-post the stack trace in its entirety?
> 

This is not a fatal error, however, I'd like to get this resolved. Can I
simply turn off restoring sessions? That just means that when I restart the
server, I lose client web session data, right? That's not a problem.

The full stack trace? It's quite big. Here it is...

- IOException while loading persisted sessions:
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException:
org.apache.catalina.session.StandardSessionFacade
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException:
org.apache.catalina.session.StandardSessionFacade
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.util.ArrayList.readObject(ArrayList.java:593)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.util.HashMap.readObject(HashMap.java:1030)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.util.HashMap.readObject(HashMap.java:1030)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at
org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1402)
        at
org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:931)
        at
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394)
        at
org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
        at
org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
        at
org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:432)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4160)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.io.NotSerializableException:
org.apache.catalina.session.StandardSessionFacade
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.ArrayList.writeObject(ArrayList.java:570)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.HashMap.writeObject(HashMap.java:1001)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.HashMap.writeObject(HashMap.java:1001)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at
org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1478)
        at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:948)
        at
org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
        at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
        at
org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
        at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4360)
        at
org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:893)
        at
org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180)
        at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1055)
        at
org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067)
        at
org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
        at
org.apache.catalina.core.StandardService.stop(StandardService.java:510)
        at
org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
        at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:577)
        ... 6 more
- Exception loading sessions from persistent storage
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException:
org.apache.catalina.session.StandardSessionFacade
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.util.ArrayList.readObject(ArrayList.java:593)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.util.HashMap.readObject(HashMap.java:1030)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.util.HashMap.readObject(HashMap.java:1030)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at
org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1402)
        at
org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:931)
        at
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394)
        at
org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
        at
org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
        at
org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:432)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4160)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.io.NotSerializableException:
org.apache.catalina.session.StandardSessionFacade
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.ArrayList.writeObject(ArrayList.java:570)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.HashMap.writeObject(HashMap.java:1001)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.HashMap.writeObject(HashMap.java:1001)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at
org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1478)
        at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:948)
        at
org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
        at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
        at
org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
        at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4360)
        at
org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:893)
        at
org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180)
        at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1055)
        at
org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067)
        at
org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
        at
org.apache.catalina.core.StandardService.stop(StandardService.java:510)
        at
org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
        at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:577)
        ... 6 more

-- 
View this message in context: http://www.nabble.com/NotSerializableException%3A-StandardSessionFacade-tp16758759p16825405.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: NotSerializableException: StandardSessionFacade

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chuck,

Caldarale, Charles R wrote:
|> From: MassimoH [mailto:MassimoHeitor@gmail.com]
|> Subject: NotSerializableException: StandardSessionFacade
|>
|> I've inherited an legacy Java application and I'm getting
|> this error on startup.
|>
|> - IOException while loading persisted sessions:
|> java.io.WriteAbortedException: writing aborted;
|> java.io.NotSerializableException:
|
| It seems odd to get a WriteAbortedException during startup, since the
| session is being read back in.  Regardless, something stored in the
| session is not serializable, so it cannot be restored - which is also
| odd, since it must have been serializable in order to have been written
| out.

Actually, this is possible. You can have an object implement
Serializable and get it to properly serialize. But, if you don't have a
no-arg constructor for that class, you're out of luck when you try to
read it back in. I used to have a similar problem (slightly different
exception maybe) with an old webspp. So,it /is/ possible to have a
serializable yet non-deserializable object.

| Clearing out Tomcat's work directory to get rid of the persisted
| sessions should let you get through startup.

This shouldn't be a fatal error. All Tomcat versions I have used will
simply give-up restoring sessions and continue starting up.

The OP didn't post the entire stack trace, so it's tough to tell what's
really going on. Massimo, can you re-post the stack trace in its entirety?

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgIig4ACgkQ9CaO5/Lv0PAS7ACgjd689XbjvcG7bUwN1CK1NPko
0OgAoLFUhfkeY0bvE74YvAZbbZYAs9Qk
=GWJW
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: NotSerializableException: StandardSessionFacade

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: MassimoH [mailto:MassimoHeitor@gmail.com] 
> Subject: RE: NotSerializableException: StandardSessionFacade
> 
> The exception says that the class that can't be serialized is
> StandardSessionFacade, which is an internal Tomcat class. 

That class was never intended to be serializable.  Looks like you have
some code in your webapp that's storing the session in the session...

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: NotSerializableException: StandardSessionFacade

Posted by MassimoH <Ma...@gmail.com>.
The exception says that the class that can't be serialized is
StandardSessionFacade, which is an internal Tomcat class. That's what's
confusing me. If it was a class in my code, I would know what to hunt for.

Deleting work folder causes problem to go away. However, it will come back.

Thanks for the response.


Caldarale, Charles R wrote:
> 
>> From: MassimoH [mailto:MassimoHeitor@gmail.com] 
>> Subject: NotSerializableException: StandardSessionFacade
>> 
>> I've inherited an legacy Java application and I'm getting 
>> this error on startup.
>> 
>> - IOException while loading persisted sessions:
>> java.io.WriteAbortedException: writing aborted;
>> java.io.NotSerializableException:
> 
> It seems odd to get a WriteAbortedException during startup, since the
> session is being read back in.  Regardless, something stored in the
> session is not serializable, so it cannot be restored - which is also
> odd, since it must have been serializable in order to have been written
> out.  Clearing out Tomcat's work directory to get rid of the persisted
> sessions should let you get through startup.
> 
> If the webapp does actually store something non-serializable into the
> session, you can either fix the webapp, or turn off session persistence
> for that webapp.  Nest a <Manager> element inside the webapp's <Context>
> element, and set the pathname attribute for the manager to an empty
> string.  The doc is here:
> http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html
> 
>  - Chuck
> 
> 
> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
> MATERIAL and is thus for use only by the intended recipient. If you
> received this in error, please contact the sender and delete the e-mail
> and its attachments from all computers.
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/NotSerializableException%3A-StandardSessionFacade-tp16758759p16763480.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: NotSerializableException: StandardSessionFacade

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: MassimoH [mailto:MassimoHeitor@gmail.com] 
> Subject: NotSerializableException: StandardSessionFacade
> 
> I've inherited an legacy Java application and I'm getting 
> this error on startup.
> 
> - IOException while loading persisted sessions:
> java.io.WriteAbortedException: writing aborted;
> java.io.NotSerializableException:

It seems odd to get a WriteAbortedException during startup, since the
session is being read back in.  Regardless, something stored in the
session is not serializable, so it cannot be restored - which is also
odd, since it must have been serializable in order to have been written
out.  Clearing out Tomcat's work directory to get rid of the persisted
sessions should let you get through startup.

If the webapp does actually store something non-serializable into the
session, you can either fix the webapp, or turn off session persistence
for that webapp.  Nest a <Manager> element inside the webapp's <Context>
element, and set the pathname attribute for the manager to an empty
string.  The doc is here:
http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org