[jcifs] Re: [Davenport-general] contextBase

Eric eglass1 at comcast.net
Fri Jun 25 00:09:21 GMT 2004


This is actually caused by the new credentials caching; it stores a 
hashtable in the session, containing UniAddresses as keys (which aren't 
serializable, which isn't a good thing to put in the session).

I've updated this in CVS to use UniAddress.getHostAddress() as the key 
(which is a plain old string); it'll take a couple of hours to sync over 
though.  I plan on releasing 0.9.9 middle of next week, after doing a 
bit more testing.

This same issue may occur with the default GET handler if you're using a 
non-WebDAV client; it compiles the stylesheet to a Templates object 
(which is not necessarily serializable), and stores it in the session. 
I'll have to figure out some clever way to get around that, as not 
caching it this way would be a pretty big performance hit (it'll work 
fine until the container decides to serialize the session, which is what 
you're seeing below).


Eric

Thorsten Busse wrote:
> Hi,
> 
> I just installed Davenport and it works great as long as I don't set the
> option contextBase (which I need for use in combination with a proxy).
> 
> I get the the following trace back if I set it to something like
> "https://my_host/davenport/"
> 
> 
> StandardManager[/davenport] IOException while loading persisted sessions:
> java.io.WriteAbortedException: writing aborted;
> java.io.NotSerializableExcept
> ion: jcifs.UniAddress
> java.io.WriteAbortedException: writing aborted;
> java.io.NotSerializableException: jcifs.UniAddress
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1278)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
>         at java.util.Hashtable.readObject(Hashtable.java:840)
>         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:324)
>         at
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
>         at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
>         at
> org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1369)
>         at
> org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:864)
>         at
> org.apache.catalina.session.StandardManager.load(StandardManager.java:440)
>         at
> org.apache.catalina.session.StandardManager.start(StandardManager.java:655)
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:3585)
>         at
> org.apache.catalina.startup.HostConfig.checkWebXmlLastModified(HostConfig.java:614)
>         at org.apache.catalina.startup.HostConfig.run(HostConfig.java:854)
>         at java.lang.Thread.run(Thread.java:534)
> Caused by: java.io.NotSerializableException: jcifs.UniAddress
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
>         at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>         at java.util.Hashtable.writeObject(Hashtable.java:805)
>         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:324)
>         at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
>         at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
>         at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>         at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>         at
> org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1439)
>         at
> org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:881)
>         at
> org.apache.catalina.session.StandardManager.unload(StandardManager.java:536)
>         at
> org.apache.catalina.session.StandardManager.stop(StandardManager.java:691)
>         at
> org.apache.catalina.core.StandardContext.stop(StandardContext.java:3683)
>         at
> org.apache.catalina.startup.HostConfig.checkWebXmlLastModified(HostConfig.java:610)
>         ... 2 more
> 
> My tomcat is version 4.1.29 running on a debian (testing) system. Any
> hints for me?
> 
> - Thorsten
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email sponsored by Black Hat Briefings & Training.
> Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
> digital self defense, top technical experts, no vendor pitches, 
> unmatched networking opportunities. Visit www.blackhat.com
> _______________________________________________
> Davenport-general mailing list
> Davenport-general at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/davenport-general
> 




More information about the jcifs mailing list