Wicket serialization issue on datastore new page
------------------------------------------------
Key: GEOS-3116
URL: http://jira.codehaus.org/browse/GEOS-3116
Project: GeoServer
Issue Type: Bug
Affects Versions: 1.7.4
Reporter: Andrea Aime
Assignee: Gabriel Roldán
Fix For: 2.0-beta2
Gabriel,
me and a GS user noticed the same stack trace in the logs when trying to save a
datastore connection:
{code}
> 2009-06-03 14:21:26,565 ERROR [lang.Objects] - Error serializing object
> class org.geoserver.web.data.store.DataAccessNewPage [object=[Page class
> = org.geoserver.web.data.store.DataAccessNewPage, id = 4, version = 0]]
> org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
> Unable to serialize class: org.geoserver.ows.util.ClassProperties
> Field hierarchy is:
> 4 [class=org.geoserver.web.data.store.DataAccessNewPage, path=4]
> private java.lang.Object org.apache.wicket.MarkupContainer.children
> [class=[Ljava.lang.Object;]
> private java.lang.Object
> org.apache.wicket.MarkupContainer.children[8]
> [class=org.apache.wicket.markup.html.form.Form, path=4:dataStoreForm]
> java.lang.Object org.apache.wicket.Component.data
> [class=org.apache.wicket.model.CompoundPropertyModel]
> private java.lang.Object
> org.apache.wicket.model.CompoundPropertyModel.target
> [class=org.geoserver.catalog.impl.DataStoreInfoImpl]
> org.geoserver.catalog.WorkspaceInfo
> org.geoserver.catalog.impl.StoreInfoImpl.workspace [class=$Proxy1]
> protected java.lang.reflect.InvocationHandler
> java.lang.reflect.Proxy.h
> [class=org.geoserver.catalog.impl.ModificationProxy]
> org.geoserver.ows.util.ClassProperties
> org.geoserver.catalog.impl.ModificationProxy.cp
> [class=org.geoserver.ows.util.ClassProperties] <----- field that is not
> serializable
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:339)
> at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:607)
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:530)
> at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:607)
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:530)
> at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:607)
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:530)
> at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:607)
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:530)
> at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:607)
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:530)
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:385)
> at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:607)
> at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:530)
> at
> org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:675)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
> at
> org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:125)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
> at
> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091)
> 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:332)
> at org.apache.wicket.Session.requestDetached(Session.java:1371)
> at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1130)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1418)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
> at
> org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:145)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:158)
> at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
> at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
> at
> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
> at
> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
> at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
> at
> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
> at
> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:176)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
> at
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
> at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.io.NotSerializableException:
> org.geoserver.ows.util.ClassProperties
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
> 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.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.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.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.defaultWriteFields(ObjectOutputStream.java:1509)
> at
> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
> at org.apache.wicket.Component.writeObject(Component.java:4265)
> at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)
> 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.writeArray(ObjectOutputStream.java:1338)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
> 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.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:117)
> ... 68 more
{code}
In my case I've actually seen it appear only when the datastore params were
wrong and I could not connect, the result was:
1) stack trace showing in the logs
2) no error message in the UI (no visible reaction of sorts)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel