12 Replies Latest reply on Mar 19, 2009 9:47 PM by skidvd

    BlockDataOutputStream.getUTFLength error after updating to 3

    hwoarang

      Hi all!
      I don't know for sure why this happens, but I know that only happens using 3.3.0GA. When I switch back to 3.2.2GA everything works as expected.

      I prefer to post here and someone else (that really knows if it's a bug) fill an issue...

      I have a little web application and after saving a record, some navigation rule should be applied, but this exception comes out:

      using: Facelets, Jsf 1.2, rich 3.3.0GA, tomcat 6, java 6

      java.lang.NullPointerException
       at java.io.ObjectOutputStream$BlockDataOutputStream.getUTFLength(ObjectOutputStream.java:2097)
       at java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream.java:1968)
       at java.io.ObjectOutputStream.writeUTF(ObjectOutputStream.java:841)
       at org.richfaces.component.UIRichMessages$FacesMessageWithId.writeObject(UIRichMessages.java:302)
       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.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.ArrayList.writeObject(ArrayList.java:570)
       at sun.reflect.GeneratedMethodAccessor25.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.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
       at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:269)
       at javax.faces.render.ResponseStateManager.writeState(ResponseStateManager.java:166)
      
       at org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:294)
       at org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:256)
       at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:620)
       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:109)
       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       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:390)
       at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
       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)
      


        • 1. Re: BlockDataOutputStream.getUTFLength error after updating
          nbelaevski

          Hello,

          Thank you for submitting the issue! I've added this as: https://jira.jboss.org/jira/browse/RF-5830

          • 2. Re: BlockDataOutputStream.getUTFLength error after updating
            fkj

            Is there any workaround? I need to use the editor component.

            • 3. Re: BlockDataOutputStream.getUTFLength error after updating
              ilya_shaikovsky

              if workaround appears it will appear in the issue.

              • 4. Re: BlockDataOutputStream.getUTFLength error after updating
                skidvd

                I'm getting the exact same error - even with a 3.3.1 snapshot ( richfaces-impl-3.3.1-20090317.043052-42.jar ).

                All is fine until I add the message="..." attribute to the

                <t:validateRegExpr id="netmaskValidationMsg" pattern="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" message="Please input a valid netmask."/> tag No errors without the message="...". I get the following stack trace when it is added.

                java.lang.NullPointerException
                 at java.io.ObjectOutputStream$BlockDataOutputStream.getUTFLength(ObjectOutputStream.java:2097)
                 at java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream.java:1968)
                 at java.io.ObjectOutputStream.writeUTF(ObjectOutputStream.java:841)
                 at org.richfaces.component.UIRichMessages$FacesMessageWithId.writeObject(UIRichMessages.java:304)
                 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.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.ArrayList.writeObject(ArrayList.java:570)
                 at sun.reflect.GeneratedMethodAccessor307.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.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                 at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
                 at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:244)
                 at javax.faces.render.ResponseStateManager.writeState(ResponseStateManager.java:155)
                 at org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:294)
                 at org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:256)
                 at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:620)
                 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:106)
                 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                 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.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
                 at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                 at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
                 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.BaseFilter.doFilter(BaseFilter.java:532)
                 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.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                 at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                 at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
                 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.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
                 at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
                 at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
                 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
                 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:230)
                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
                 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                 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:157)
                 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                 at java.lang.Thread.run(Thread.java:619)
                


                For reference purposes, here is the context of the above tag:

                 <a4j:form id="discoveryListEditForm">
                 <a4j:outputPanel ajaxRendered="true">
                 <rich:messages style="color:red;"></rich:messages>
                 </a4j:outputPanel>
                
                 <h:panelGrid columns="1">
                 <a4j:outputPanel id="addEditPanel">
                 <s:decorate id="subnetDecoration" template="/templates/editField.xhtml">
                 <ui:define name="label"><h:outputText id="subnetHeader" value="#{msgs.subnetHeader}"/></ui:define>
                 <h:inputText id="subnet" value="#{discoveryListController.selectedItem.subnet}" required="true">
                 <a4j:support id="subnetOnblur" event="onblur" reRender="subnetDecoration"/>
                 <t:validateRegExpr id="subnetValidationMsg" pattern="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" message="Please input a valid subnet."/>
                 </h:inputText>
                 </s:decorate>
                 <s:decorate id="netmaskDecoration" template="/templates/editField.xhtml">
                 <ui:define name="label"><h:outputText id="netmaskHeader" value="#{msgs.netmaskHeader}" /></ui:define>
                 <h:inputText id="netmask" value="#{discoveryListController.selectedItem.netmask}" required="true">
                 <a4j:support id="netmaskOnblur" event="onblur" reRender="netmaskDecoration"/>
                 <t:validateRegExpr id="netmaskValidationMsg" pattern="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" message="Please input a valid netmask."/>
                 </h:inputText>
                 </s:decorate>
                 </a4j:outputPanel>
                 <a4j:commandButton id="addButton" value="#{msgs.addButtonActionLabel}"
                 rendered="#{discoveryListController.operationName == 'ADD'}"
                 action="#{discoveryListController.doIt}"
                 reRender="contentView:discoveryListForm:discoveryListTable,contentView:discoveryListForm:discoveryListTableScroller,contentView:discoveryListForm:discoveryListPageCount"
                 oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('discoveryListEditPanel')}.hide();"
                 status="mainStatus"/>
                 <a4j:commandButton id="editButton" value="#{msgs.editButtonActionLabel}"
                 rendered="#{discoveryListController.operationName == 'EDIT'}"
                 action="#{discoveryListController.doIt}"
                 reRender="subnet, netmask"
                 oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('discoveryListEditPanel')}.hide();"
                 status="mainStatus"/>
                 </h:panelGrid>
                 </a4j:form>
                
                


                Is this a different varient of the same problem or has the fix to RF-5830 not yet been included in the snapshot?

                TIA!

                • 5. Re: BlockDataOutputStream.getUTFLength error after updating
                  nbelaevski

                  What exact version of richfaces-ui.jar do you use?

                  • 6. Re: BlockDataOutputStream.getUTFLength error after updating
                    sedgewick

                    Hi!
                    I'm having the same problem, whereas 3.3.0.GA fails 3.2.2.GA and 3.3.1-SNAPSHOT don't thorws this exception. I think the 3.3.1-SNAPSHOT rich:dataTable is due to css not really useful yet, im using 3.2.2.GA again.

                    thx

                    • 7. Re: BlockDataOutputStream.getUTFLength error after updating
                      nbelaevski

                       

                      "sedgewick" wrote:
                      Hi!
                      I'm having the same problem, whereas 3.3.0.GA fails 3.2.2.GA and 3.3.1-SNAPSHOT don't thorws this exception. I think the 3.3.1-SNAPSHOT rich:dataTable is due to css not really useful yet, im using 3.2.2.GA again.

                      thx

                      Can you please clarify what's wrong with CSS?

                      • 8. Re: BlockDataOutputStream.getUTFLength error after updating
                        skidvd

                        nbelaevski,

                        I'm using richfaces-impl-3.3.1-20090317.043052-42.jar with the 3.3.0.GA version of richfaces-ui.jar ... Is there a place that has a 3.3.1 snapshot of the richfaces-ui.jar??

                        TIA!

                        • 9. Re: BlockDataOutputStream.getUTFLength error after updating
                          nbelaevski
                          • 10. Re: BlockDataOutputStream.getUTFLength error after updating
                            skidvd

                            I have now built and tested with richfaces-api-3.3.1-20090318.084312-43.jar, richfaces-impl-3.3.1-20090318.084312-43.jar and richfaces-ui-3.3.1-20090318.084312-43.jar.

                            This now appears to work in some situations and still fails in others.

                            The mesage="..." in the following snippet now works as desired.

                             <s:decorate id="subnetDecoration" template="/templates/editField.xhtml">
                             <ui:define name="label"><h:outputText id="subnetHeader" value="#{msgs.subnetHeader}"/></ui:define>
                             <h:inputText id="subnet" value="#{discoveryListController.selectedItem.subnet}" required="true">
                             <a4j:support id="subnetOnblur" event="onblur" reRender="subnetDecoration"/>
                             <t:validateRegExpr id="subnetValidationMsg" pattern="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" message="Please enter a valid subnet."/>
                             </h:inputText>
                             </s:decorate>
                            


                            However, adding messages to a FacesMesage in a Seam component still fails in the same way.....

                            Here are relevant snippets from the Seam Component

                            
                            import javax.ejb.Stateful;
                            import org.jboss.seam.annotations.Name;
                            import org.jboss.seam.annotations.Scope;
                            import org.jboss.seam.faces.FacesMessages;
                            
                            @Stateful
                            @Scope( ScopeType.CONVERSATION )
                            @Name( "discoveryListController" )
                            public class DiscoveryListControllerBean
                            {
                             @In(create = true, value="facesMessages")
                             protected FacesMessages facesMessages;
                            
                             public void doIt()
                             {
                            
                             System.out.println( "facesMessage: " + facesMessage );
                             facesMessages.add( "Test message." );
                             }
                            }
                            
                            


                            I attach the doIt() method to a button with action="#{discoveryListController.doIt}". I see that the facesMessage in not null by the System.out.println. Yet the following stack trace results:

                            java.lang.NullPointerException
                             at java.io.ObjectOutputStream$BlockDataOutputStream.getUTFLength(ObjectOutputStream.java:2097)
                             at java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream.java:1968)
                             at java.io.ObjectOutputStream.writeUTF(ObjectOutputStream.java:841)
                             at org.richfaces.component.UIRichMessages$FacesMessageWithId.writeObject(UIRichMessages.java:302)
                             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.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.ArrayList.writeObject(ArrayList.java:570)
                             at sun.reflect.GeneratedMethodAccessor1121.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.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
                             at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
                             at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
                             at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:244)
                             at javax.faces.render.ResponseStateManager.writeState(ResponseStateManager.java:155)
                             at org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:294)
                             at org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:256)
                             at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:620)
                             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:106)
                             at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                             at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                             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.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                             at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
                             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.BaseFilter.doFilter(BaseFilter.java:532)
                             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.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                             at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
                             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.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
                             at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
                             at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
                             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
                             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:230)
                             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                             at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                             at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
                             at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                             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:157)
                             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                             at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                             at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                             at java.lang.Thread.run(Thread.java:619)
                            
                            
                            


                            Is there anything else that would be useful to finding the cause of this? Is this scenario supposed to be fixed?

                            TIA!

                            • 11. Re: BlockDataOutputStream.getUTFLength error after updating
                              nbelaevski

                              It seems that you have both 3.3.0.GA and 3.3.1-snapshot in the classpath. Can you please check?

                              • 12. Re: BlockDataOutputStream.getUTFLength error after updating
                                skidvd

                                You are correct. Upon further search I did find some unexpected 3.3.0 jars in the classpath. Thank you so much for your help. Both scenarios now appear to work as desired!