You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@shiro.apache.org by Tauren Mills <ta...@groovee.com> on 2009/11/04 18:43:01 UTC
SerializationException
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
Re: SerializationException
Posted by Les Hazlewood <lh...@apache.org>.
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 <ta...@groovee.com> 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
>