Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-10321

lazy binaries not serializable

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.6
    • Fix Version/s: 5.6.0-HF02, 5.7.1
    • Component/s: Core VCS
    • Impact type:
      API change

      Description

      In JSF, blob serialization is breaking the page rendering. See attached stack.

      avax.servlet.ServletException: java.io.NotSerializableException: org.nuxeo.common.file.LRUFileCache
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.wss.servlet.BaseWSSFilter.doFilter(BaseWSSFilter.java:137)
      	at org.nuxeo.wss.servlet.FailSafeWSSFilter.doFilter(FailSafeWSSFilter.java:55)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
      	at org.nuxeo.ecm.platform.ui.web.multipart.MultipartFilter.doFilter(MultipartFilter.java:73)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
      	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
      	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
      	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
      	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilterInternal(NuxeoAuthenticationFilter.java:376)
      	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:35)
      	at org.nuxeo.ecm.platform.ui.web.auth.oauth.NuxeoOAuthFilter.doFilter(NuxeoOAuthFilter.java:116)
      	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:33)
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:349)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:79)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:59)
      	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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
      	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
      	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
      	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
      	at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:123)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.wi.filter.WIRequestFilter.doFilter(WIRequestFilter.java:114)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:145)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilterInternal(NuxeoAuthenticationFilter.java:548)
      	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:35)
      	at org.nuxeo.ecm.platform.ui.web.auth.oauth.NuxeoOAuthFilter.doFilter(NuxeoOAuthFilter.java:116)
      	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:33)
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:349)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:79)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:59)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      	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:235)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
      	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
      	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
      	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
      	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:383)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
      	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)
      	at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:385)
      	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
      	at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.RuntimeException: java.io.NotSerializableException: org.nuxeo.common.file.LRUFileCache
      	at org.nuxeo.ecm.platform.ui.web.util.DeepCopy.deepCopy(DeepCopy.java:62)
      	at org.nuxeo.ecm.platform.ui.web.model.impl.EditableModelImpl.initializeData(EditableModelImpl.java:97)
      	at org.nuxeo.ecm.platform.ui.web.model.impl.EditableModelImpl.(EditableModelImpl.java:84)
      	at org.nuxeo.ecm.platform.ui.web.component.list.UIEditableList.createEditableModel(UIEditableList.java:506)
      	at org.nuxeo.ecm.platform.ui.web.component.list.UIEditableList.flushCachedModel(UIEditableList.java:323)
      	at org.nuxeo.ecm.platform.ui.web.component.list.UIEditableList.encodeBegin(UIEditableList.java:849)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:242)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
      	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:191)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:162)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.encodeChildren(UIAliasHolder.java:128)
      	at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
      	at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
      	at org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:78)
      	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
      	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
      	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
      	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
      	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
      	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
      	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
      	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
      	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
      	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
      	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
      	at org.nuxeo.ecm.platform.ui.web.lifecycle.NuxeoLifeCycleImpl.render(NuxeoLifeCycleImpl.java:98)
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
      	... 80 more
      Caused by: java.io.NotSerializableException: org.nuxeo.common.file.LRUFileCache
      	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.writeObject(ObjectOutputStream.java:326)
      	at java.util.HashMap.writeObject(HashMap.java:1001)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	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.writeObject(ObjectOutputStream.java:326)
      	at java.util.ArrayList.writeObject(ArrayList.java:570)
      	at sun.reflect.GeneratedMethodAccessor542.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.writeObject(ObjectOutputStream.java:326)
      	at org.nuxeo.ecm.platform.ui.web.util.DeepCopy.deepCopy(DeepCopy.java:52)
      	... 148 more
      
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                slacoin Stéphane Lacoin
                Reporter:
                slacoin Stéphane Lacoin
                Participants:
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: