1 2 3 Previous Next 35 Replies Latest reply on Jul 10, 2006 6:05 PM by rpa_rio Go to original post
      • 15. Re: IOExceptions with MyFaces/Facelets apps

        Clement,

        The ApplyToken is only Externalizable, not Serializable and has a default constructor.

        • 16. Re: IOExceptions with MyFaces/Facelets apps
          iktuz

           

          "clebert.suconic@jboss.com" wrote:
          "iktuz" wrote:
          Hi folks. I am getting the same error:


          It looks like this is a different error. Can you provide the whole stack trace? (I'm interested in the causes of the IOException).


          Hi Clebert, here we go...

          java.io.IOException
           at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107)
           at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269)
           at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
           at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:841)
           at org.jboss.serial.io.MarshalledObjectForLocalCalls.get(MarshalledObjectForLocalCalls.java:60)
           at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:61)
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
           at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
           at $Proxy93.getMMSList(Unknown Source)
           at br.com.suntech.vigiadados.ext.client.service.oper.OperationClientService.getMMSList(OperationClientService.java:96)
           at br.com.suntech.vigiadados.ext.client.action.oper.OperationAction.loadOperationData(OperationAction.java:134)
           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:585)
           at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
           at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
           at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
           at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
           at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
           at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
           at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
           at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
           at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
           at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1062)
           at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
           at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
           at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
           at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
           at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
           at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at br.com.suntech.vigiadados.ext.client.action.login.LoginFilter.doFilter(LoginFilter.java:36)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
           at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
           at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
           at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
           at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
           at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
           at java.lang.Thread.run(Thread.java:595)
          Caused by: java.lang.reflect.InvocationTargetException
           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:585)
           at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103)
           ... 63 more
          Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of oracle.jdbc.driver.T4CConnection - oracle.jdbc.driver.T4CConnection
           at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:327)
           at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
           at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:841)
           at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
           at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
           at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
           at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:841)
           at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
           at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
           at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFrom
          2006-06-14 08:28:58,755 INFO [STDOUT] Description(ObjectDescriptorFactory.java:81)
           at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:841)
           at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
           at java.io.ObjectInputStream.readObject(ObjectInputStream.java:333)
           at java.util.ArrayList.readObject(ArrayList.java:591)
           ... 68 more
          Caused by: java.lang.InstantiationException: oracle.jdbc.driver.T4CConnection
           at java.lang.Class.newInstance0(Class.java:335)
           at java.lang.Class.newInstance(Class.java:303)
           at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:319)
           ... 87 more
          


          As I suspected, when I comment the blob field in MMSEvent class, this problem does not happen. Thanks for your help.

          • 17. Re: IOExceptions with MyFaces/Facelets apps
            clebert.suconic

            Add the word transient on that field (as you would do on any Serializable class). This way JBossSerializaiton will ignore that field.
            The Blob is not serializable hence you can't have it as part of your Stateful Bean.

            I'm not sure if @Transient will infere transient or not. This is something I might work on.

            • 18. Re: IOExceptions with MyFaces/Facelets apps
              clebert.suconic

              http://jira.jboss.com/jira/browse/JBSER-80
              I guess I have reproduced the bug.

              It always happens when you have a private inner class implementing Externalizable.

              Maybe your property is set to null and only when your property is set the Persister is activated generating the error.

              I will be working on. A workaround would be:

              - Make the class public.
              - Make the class Serializable (hummm... maybe.. I have to check this one).


              I will be working on this.


              Thanks a lot for reporting this.


              Clebert

              • 19. Re: IOExceptions with MyFaces/Facelets apps
                clebert.suconic

                I already have a fix for this, but I can't commit now due to a network problem. (I'm working from a hotel, and I can't commit the code now).

                But if you want to try the fix, you can change SunConstructorManager, method getConstructor according to this:

                if (Externalizable.class.isAssignableFrom(clazz))
                {
                 Constructor constr = class.getConstructor(EMPTY_CLASS_ARRY);
                 constr.setAccessible(true);
                 return constr;
                }
                



                JBossSerialization has a package called PersistentReference what will rebuild SoftReferences on reflection on case of SoftReferences clean up (happening when the Memory goes low).

                When that happened the setAccessible(true) was not being called at SunConstructorManager (only at ClassMetaData Constructor), and that was the mistake.

                I have a testcase and the fix sitting on my lap top, and this should be committed by tomorrow morning.


                Thanks again,


                Clebert

                • 20. Re: IOExceptions with MyFaces/Facelets apps
                  clebert.suconic

                  I already have the fix commited on CVS. I don't have the testcase added yet, but this should be considered fixed.

                  I didn't commit the testcase because network problems again, but I could manage to commit the fix.

                  • 21. Re: IOExceptions with MyFaces/Facelets apps

                    The previous error seens to be gone, now i'm getting this error:

                    javax.faces.FacesException: java.io.IOException
                    at org.apache.myfaces.shared_impl.util.StateUtils.getAsByteArray(StateUtils.java:179)
                    at org.apache.myfaces.shared_impl.util.StateUtils.construct(StateUtils.java:140)
                    at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.writeState(HtmlResponseStateManager.java:102)
                    at org.apache.myfaces.application.jsp.JspStateManagerImpl.writeState(JspStateManagerImpl.java:430)
                    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:606)
                    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
                    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:181)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
                    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
                    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
                    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
                    at java.lang.Thread.run(Unknown Source)
                    Caused by: java.io.IOException
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
                    at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
                    at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
                    at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
                    at java.io.ObjectOutputStream.writeObject(Unknown Source)
                    at org.apache.myfaces.shared_impl.util.StateUtils.getAsByteArray(StateUtils.java:169)
                    ... 23 more
                    Caused by: java.lang.reflect.InvocationTargetException
                    at sun.reflect.GeneratedMethodAccessor866.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
                    ... 34 more
                    Caused by: java.io.IOException
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
                    at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
                    at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
                    at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
                    at java.io.ObjectOutputStream.writeObject(Unknown Source)
                    at java.util.ArrayList.writeObject(Unknown Source)
                    ... 38 more
                    Caused by: java.lang.reflect.InvocationTargetException
                    at sun.reflect.GeneratedMethodAccessor866.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
                    ... 49 more
                    Caused by: java.io.IOException
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
                    at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
                    at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
                    at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
                    at java.io.ObjectOutputStream.writeObject(Unknown Source)
                    at java.util.ArrayList.writeObject(Unknown Source)
                    ... 53 more
                    Caused by: java.lang.reflect.InvocationTargetException
                    at sun.reflect.GeneratedMethodAccessor866.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
                    ... 64 more
                    Caused by: java.io.IOException
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
                    at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
                    at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
                    at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
                    at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
                    at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
                    at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
                    at java.io.ObjectOutputStream.writeObject(Unknown Source)
                    at java.util.ArrayList.writeObject(Unknown Source)
                    ... 68 more
                    Caused by: java.lang.reflect.InvocationTargetException
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
                    ... 88 more
                    Caused by: java.io.IOException
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
                    at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
                    at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
                    at org.jboss.serial.persister.ObjectOutputStreamProxy.writeFields(ObjectOutputStreamProxy.java:79)
                    at org.jboss.serial.persister.ObjectOutputStreamProxy.defaultWriteObject(ObjectOutputStreamProxy.java:68)
                    at org.hibernate.impl.SessionImpl.writeObject(SessionImpl.java:199)
                    ... 93 more
                    Caused by: java.lang.reflect.InvocationTargetException
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
                    ... 101 more
                    Caused by: java.io.IOException
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
                    at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
                    at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:275)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
                    at java.io.ObjectOutputStream.writeObject(Unknown Source)
                    at org.hibernate.engine.StatefulPersistenceContext.writeObject(StatefulPersistenceContext.java:244)
                    ... 106 more
                    Caused by: java.lang.reflect.InvocationTargetException
                    at sun.reflect.GeneratedMethodAccessor865.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
                    ... 113 more
                    Caused by: java.io.IOException: Metadata Serialization Error
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:192)
                    at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:197)
                    at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
                    at java.io.ObjectOutputStream.writeObject(Unknown Source)
                    at java.util.HashMap.writeObject(Unknown Source)
                    ... 117 more
                    Caused by: java.lang.NullPointerException
                    at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:190)

                    • 22. Re: IOExceptions with MyFaces/Facelets apps
                      clebert.suconic

                      Can you reproduce it with a testcase?

                      It looks like you always get this error. At least I would be able to fix any further problems if you could produce one testcase for me.

                      • 23. Re: IOExceptions with MyFaces/Facelets apps

                        No, because there's some database communication, the only think that i know this is happens when i have some null values in my class.

                        • 24. Re: IOExceptions with MyFaces/Facelets apps
                          clebert.suconic

                          Can you download sourcecode from CVS and try again?

                          I have made some changes on ClassLoading operations. Maybe that will solve your problem.

                          • 25. Re: IOExceptions with MyFaces/Facelets apps

                            Nothing. Same problem.

                            • 26. Re: IOExceptions with MyFaces/Facelets apps
                              clebert.suconic

                              I need some way to reproduce your issue, preferably something only using plain serialization.

                              Things that would change default behavior on serialization (to help you identify some pattern)

                              - readResolves
                              - private write or readObject
                              - non serializable classes not implementing default constructor
                              - adding something not supposed to be in the serialization tree (like socket or connection)

                              • 27. Re: IOExceptions with MyFaces/Facelets apps

                                I found this on the log:

                                DEBUG: describeObject::Calling writeReplace for br.gov.go.tj.execpen.entidades.Cidade$$EnhancerByCGLIB$$652dbb34

                                I'll investigate a little more.

                                • 28. Re: IOExceptions with MyFaces/Facelets apps
                                  clebert.suconic

                                  What I meant was...

                                  you could reproduce a JbossSerialization failure by just playing with your classes, without having to play with MyFaces in a testcase at al.

                                  I will be able to fix this for you, as long as you create the testcase.

                                  Clebert

                                  PS: If you want to send me this in private it's okay. (I also speak Portuguese BTW as I'm brazilian). In case you do let me know if I can include it as part of the testcases, or if it's something confidential for you.

                                  • 29. Re: IOExceptions with MyFaces/Facelets apps

                                    Clebert,

                                    I'm almost sure that Cidade class reach this point as null reference:

                                    (ObjectDescriptorFactory.java, line 191) metaData = ClassMetamodelFactory.getClassMetaData(obj.getClass(),cache.isCheckSerializableClass());