[
https://issues.apache.org/jira/browse/WICKET-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671881#action_12671881
]
Alex commented on WICKET-2075:
------------------------------
The cause of the serialization issue was the described in JIRA 2077. However it
looks like that runtime exceptions thrown from within
AbstractPageStore.serializePage are not handled correctly and leave the page
map(s) in the locked state. After that happens some/all other pages in the
application can not be accesses at all (waiting on the lock). The call stack
where this effect was happening is below.
As I said the original problem was the "NoSuchMethodException" in the
SerializerChecker, but I think the same problem would happen with some other
exceptions as well. The "unlock" code should be hardened against such problems.
========================================================================================================================
at org/apache/wicket/util/lang/Objects.objectToByteArray (Objects.java:1092)
at org/apache/wicket/protocol/http/pagestore/AbstractPageStore.serializePage
(AbstractPageStore.java:197)
at org/apache/wicket/protocol/http/pagestore/DiskPageStore.storePage
(DiskPageStore.java:811)
at
org/apache/wicket/protocol/http/SecondLevelCacheSessionStore$SecondLevelCachePageMap.put
(SecondLevelCacheSessionStore.java:333)
at org/apache/wicket/Session.requestDetached (Session.java:1371)
at org/apache/wicket/RequestCycle.detach (RequestCycle.java:1091)
at org/apache/wicket/RequestCycle.steps (RequestCycle.java:1375)
at org/apache/wicket/RequestCycle.request (RequestCycle.java:494)
at org/apache/wicket/protocol/http/WicketFilter.doGet (WicketFilter.java:357)
at org/apache/wicket/protocol/http/WicketFilter.doFilter
(WicketFilter.java:200)
.....
========================================================================================================================
> Pagemap is locked forever with some Page serialization exceptions
> -----------------------------------------------------------------
>
> Key: WICKET-2075
> URL: https://issues.apache.org/jira/browse/WICKET-2075
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.5
> Reporter: Alex
> Assignee: Matej Knopp
>
> There was a serialization problem with one of the components that was causing
> the pagemap to become locked forever.
> 2009-02-04 19:43:57,147 [ERROR] [WebServerPool0-0]
> org.apache.wicket.RequestCycle[]: there was an error detaching the request
> from the session ...
> java.lang.ExceptionInInitializerError
> at org/apache/wicket/util/io/IObjectStreamFactory$2.writeObjectOverride
> (IObjectStreamFactory.java:121)
> at java/io/ObjectOutputStream.writeObject (Unknown Source)
> at org/apache/wicket/util/lang/Objects.objectToByteArray
> (Objects.java:1092)
> at
> org/apache/wicket/protocol/http/pagestore/AbstractPageStore.serializePage
> (AbstractPageStore.java:197)
> at org/apache/wicket/protocol/http/pagestore/DiskPageStore.storePage
> (DiskPageStore.java:811)
> at
> org/apache/wicket/protocol/http/SecondLevelCacheSessionStore$SecondLevelCachePageMap.put
> (SecondLevelCacheSessionStore.java:333)
> at org/apache/wicket/Session.requestDetached (Session.java:1371)
> at org/apache/wicket/RequestCycle.detach (RequestCycle.java:1091)
> at org/apache/wicket/RequestCycle.steps (RequestCycle.java:1375)
> at org/apache/wicket/RequestCycle.request (RequestCycle.java:494)
> at org/apache/wicket/protocol/http/WicketFilter.doGet
> (WicketFilter.java:357)
> at org/apache/wicket/protocol/http/WicketFilter.doFilter
> (WicketFilter.java:200)
> at org/mortbay/jetty/servlet/ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1116)
> at com/videoiq/fusion/camera/webserver/ThrottlingFilter.doFilter
> (ThrottlingFilter.java:75)
> at com/videoiq/fusion/camera/webserver/ThrottlingFilter.doFilter
> (ThrottlingFilter.java:53)
> at org/mortbay/jetty/servlet/ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1116)
> at org/mortbay/jetty/servlet/ServletHandler.handle
> (ServletHandler.java:361)
> at org/mortbay/jetty/security/SecurityHandler.handle
> (SecurityHandler.java:217)
> at org/mortbay/jetty/servlet/SessionHandler.handle
> (SessionHandler.java:182)
> at org/mortbay/jetty/handler/ContextHandler.handle
> (ContextHandler.java:776)
> at org/mortbay/jetty/webapp/WebAppContext.handle
> (WebAppContext.java:418)
> at com/videoiq/fusion/camera/webserver/RedirectHandler.handle
> (RedirectHandler.java:46)
> at org/mortbay/jetty/handler/HandlerCollection.handle
> (HandlerCollection.java:129)
> at org/mortbay/jetty/handler/HandlerWrapper.handle
> (HandlerWrapper.java:153)
> at org/mortbay/jetty/Server.handle (Server.java:325)
> at org/mortbay/jetty/HttpConnection.handleRequest
> (HttpConnection.java:536)
> at org/mortbay/jetty/HttpConnection$RequestHandler.headerComplete
> (HttpConnection.java:865)
> at org/mortbay/jetty/HttpParser.parseNext (HttpParser.java:539)
> at org/mortbay/jetty/HttpParser.parseAvailable (HttpParser.java:212)
> at org/mortbay/jetty/HttpConnection.handle (HttpConnection.java:404)
> at org/mortbay/jetty/bio/SocketConnector$Connection.run
> (SocketConnector.java:228)
> at
> com/videoiq/fusion/camera/webserver/WebServerThreadPool$PoolThread.run
> (WebServerThreadPool.java:476)
> Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException:
> java/io/ObjectStreamClass.lookup
> at org/apache/wicket/util/io/SerializableChecker.<clinit>
> (SerializableChecker.java:261)
> ... 32 more
> Caused by: java.lang.NoSuchMethodException: java/io/ObjectStreamClass.lookup
> at java/lang/Class.getDeclaredMethod (Unknown Source)
> at org/apache/wicket/util/io/SerializableChecker.<clinit>
> (SerializableChecker.java:226)
> ... 32 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.