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

Reply via email to