The PrincipalCollection implementation changed in the last few days to
add a toString() implementation, so the internal jvm-auto-calculated
serialVersionUID is different than from before.

The implementation will also probably change one more time as
Externalizable is implemented for key classes:

https://issues.apache.org/jira/browse/SHIRO-112

And there is not a release version of Shiro yet - just the snapshots :/

If you feel that this shouldn't be a WARN message (and maybe DEBUG),
or even configurable, please open a Jira issue to add that as a
feature.

I hope that helps!

- Les

On Wed, Nov 4, 2009 at 12:43 PM, Tauren Mills <[email protected]> wrote:
> Recently, I've started getting exceptions in my application like the
> one shown at the bottom of this email below.  I'm currently using
> 1.0-incubating-SNAPSHOT in my POM like this:
>
>    <dependencyManagement>
>        <dependencies>
>            <dependency>
>                <groupId>org.apache.shiro</groupId>
>                <artifactId>shiro-core</artifactId>
>                <version>${shiro.version}</version>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.shiro</groupId>
>                <artifactId>shiro-spring</artifactId>
>                <version>${shiro.version}</version>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.shiro</groupId>
>                <artifactId>shiro-web</artifactId>
>                <version>${shiro.version}</version>
>            </dependency>
>        </dependencies>
>    </dependencyManagement>
>    <repositories>
>        <repository>
>                <id>apache-repo</id>
>                <url>https://repository.apache.org</url>
>        </repository>
>        <repository>
>                <id>apache-repo-snapshots</id>
>                
> <url>https://repository.apache.org/content/repositories/snapshots/</url>
>        </repository>
>    </repositories>
>    <properties>
>        <shiro.version>1.0-incubating-SNAPSHOT</shiro.version>
>    </properties>
>
> I think what happened was I ran "mvn install" on my application, and
> it updated the shiro snapshot.
>
> Is there a release version of some sort available in some maven repo
> so I don't have to rely on a snapshot?
>
> And what can I do to resolve exceptions like that below?
>
> Thanks,
> Tauren
>
> ----
>
> WARN  - AbstractRememberMeManager  - Unable to deserialize stored
> identity byte array.  Remembered identity cannot be reconstituted!
> This is a non fatal exception as RememberMe identity services are not
> considered critical and execution can continue as normal, but please
> investigate and resolve to prevent seeing this message again.
> org.apache.shiro.io.SerializationException: Unable to deserialze
> argument byte array.
>        at 
> org.apache.shiro.io.DefaultSerializer.deserialize(DefaultSerializer.java:72)
>        at 
> org.apache.shiro.mgt.AbstractRememberMeManager.deserialize(AbstractRememberMeManager.java:264)
>        at 
> org.apache.shiro.mgt.AbstractRememberMeManager.getRememberedPrincipals(AbstractRememberMeManager.java:203)
>        at 
> org.apache.shiro.mgt.DefaultSecurityManager.getRememberedIdentity(DefaultSecurityManager.java:561)
>        at 
> org.apache.shiro.mgt.DefaultSecurityManager.resolvePrincipals(DefaultSecurityManager.java:449)
>        at 
> org.apache.shiro.mgt.DefaultSecurityManager.createSubject(DefaultSecurityManager.java:347)
>        at 
> org.apache.shiro.subject.Subject$Builder.buildSubject(Subject.java:703)
>        at 
> org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubject(WebSubject.java:95)
>        at org.apache.shiro.web.servlet.ShiroFilter.bind(ShiroFilter.java:525)
>        at 
> org.apache.shiro.web.servlet.ShiroFilter.doFilterInternal(ShiroFilter.java:612)
>        at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
>        at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>        at 
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>        at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>        at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>        at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>        at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>        at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>        at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>        at 
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>        at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>        at 
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>        at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>        at org.mortbay.jetty.Server.handle(Server.java:324)
>        at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>        at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>        at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>        at 
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
> Caused by: java.io.InvalidClassException:
> org.apache.shiro.subject.SimplePrincipalCollection; local class
> incompatible: stream classdesc serialVersionUID = 4327666164109260498,
> local class serialVersionUID = -6305224034025797558
>        at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
>        at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
>        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
>        at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
>        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>        at 
> org.apache.shiro.io.DefaultSerializer.deserialize(DefaultSerializer.java:67)
>        ... 30 more
>

Reply via email to