Hi all, I am having a problem with Tapestry 4.1.6. I have a form with many (>1000) components. I get an exception trying to render the page. It looks like the attempt in RequestCycle to call encodeIdState is hitting a 65k length limit in ObjectOutputStream.writeUTF. Has anyone else encountered this problem? I cannot restructure the page to reduce the number of components, so I need another way to get around this limit. I am thinking that I will need to override RequestCycle so I can call ObjectOutputStream.writeObject instead of .writeUTF when the string is long. Does anyone have a better solution? Exception details follow [[ Exception class: org.apache.hivemind.ApplicationRuntimeException Exception message: Unable to encode object ,service$0,page$0,component$0,container$0,session$0,sp$0,layout$1,link1$ 0,shell$0,Insert$2633,Any$9,Insert_0$12,ie6$0,body$0,OnErrorHandler$0,If $6398,ConfirmFunctions$0,DownloadableJavaScript$5,BootstrapJavaScript$0, homeTab$0,tabAnnouncement$1,RenderBody$728,sheetsTab$0,tabOverview$1,glo balsTab$0,tabGlobalsOverview$1,sharedFormulasTab$0,tabSharedFormulas$1,i mportTab$0,tabModelImport$1,exportTab$0,tabExportVersion$1,reportsTab$0, Else$637,tabReportMenu$1,masterVersionChangeForm$0,apstate$1,apVerSel$1, subMenuList$1,submenuItem$0,content$1,WarnOnUnsavedChan ... really long string truncated ...
enu$0,APPageLink$0,Image_5$0,APPageLink_0$0,Image_6$0,APPageLink_1$0,Ima ge_7$0,APPageLink_2$0,Image_8$0,sampleBalanceSheetReport$1,Image_9$0,sam plePLReport$1,Image_100,addFavoriteSubmitForm$0:java.io.UTFDataFormatExc eption. This is sometimes caused when classes being serialized to a stream dont implement java.io.Serializable. Stack Trace: { null } Exception class: java.io.UTFDataFormatException Exception message: null Stack Trace: { java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(Unknown Source) java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(Unknown Source) java.io.ObjectOutputStream.writeUTF(Unknown Source) org.apache.tapestry.util.io.CompressedDataEncoder.encodeStringCompressed DataEncoder.java:55 org.apache.tapestry.engine.RequestCycle.encodeIdStateRequestCycle.java:6 78 org.apache.tapestry.form.FormSupportImpl.renderFormSupportImpl.java:482 org.apache.tapestry.form.Form.renderComponentForm.java:217 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:187 org.apache.tapestry.AbstractComponent.renderBodyAbstractComponent.java:5 38 org.apache.tapestry.components.RenderBody.renderComponentRenderBody.java :39 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:187 org.apache.tapestry.AbstractComponent.renderBodyAbstractComponent.java:5 38 org.apache.tapestry.components.RenderBody.renderComponentRenderBody.java :39 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:187 org.apache.tapestry.AbstractComponent.renderBodyAbstractComponent.java:5 38 org.apache.tapestry.html.Body.renderComponentBody.java:38 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:187 org.apache.tapestry.AbstractComponent.renderBodyAbstractComponent.java:5 38 org.apache.tapestry.html.Shell.renderComponentShell.java:125 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:187 org.apache.tapestry.BaseComponent.renderComponentBaseComponent.java:107 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:187 org.apache.tapestry.BaseComponent.renderComponentBaseComponent.java:107 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:187 org.apache.tapestry.BaseComponent.renderComponentBaseComponent.java:107 org.apache.tapestry.AbstractComponent.renderAbstractComponent.java:724 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderDefaultRe sponseBuilder.java:185 org.apache.tapestry.AbstractPage.renderPageAbstractPage.java:249 org.apache.tapestry.engine.RequestCycle.renderPageRequestCycle.java:400 org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponseD efaultResponseBuilder.java:159 org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponseRes ponseRendererImpl.java:33 $ResponseRenderer_12220132922.renderResponse($ResponseRenderer_122201329 22.java) org.apache.tapestry.engine.ExternalService.serviceExternalService.java:1 61 $IEngineService_122201329aa.service($IEngineService_122201329aa.java) org.apache.tapestry.services.impl.EngineServiceOuterProxy.serviceEngineS erviceOuterProxy.java:72 org.apache.tapestry.engine.AbstractEngine.serviceAbstractEngine.java:241 org.apache.tapestry.services.impl.InvokeEngineTerminator.serviceInvokeEn gineTerminator.java:54 $WebRequestServicer_1222013297a.service($WebRequestServicer_1222013297a. java) com.adaptiveplanning.util.TokenizedRequestFilter.serviceTokenizedRequest Filter.java:65 $WebRequestServicerFilter_12220132978.service($WebRequestServicerFilter_ 12220132978.java) $WebRequestServicer_1222013297c.service($WebRequestServicer_1222013297c. java) $WebRequestServicer_12220132974.service($WebRequestServicer_12220132974. java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.servi ceWebRequestServicerPipelineBridge.java:61 $ServletRequestServicer_1222013295a.service($ServletRequestServicer_1222 013295a.java) org.apache.tapestry.request.DecodedRequestInjector.serviceDecodedRequest Injector.java:55 $ServletRequestServicerFilter_12220132956.service($ServletRequestService rFilter_12220132956.java) $ServletRequestServicer_1222013295c.service($ServletRequestServicer_1222 013295c.java) org.apache.tapestry.multipart.MultipartDecoderFilter.serviceMultipartDec oderFilter.java:52 $ServletRequestServicerFilter_12220132954.service($ServletRequestService rFilter_12220132954.java) $ServletRequestServicer_1222013295c.service($ServletRequestServicer_1222 013295c.java) org.apache.tapestry.services.impl.SetupRequestEncoding.serviceSetupReque stEncoding.java:53 $ServletRequestServicerFilter_12220132958.service($ServletRequestService rFilter_12220132958.java) $ServletRequestServicer_1222013295c.service($ServletRequestServicer_1222 013295c.java) $ServletRequestServicer_1222013294e.service($ServletRequestServicer_1222 013294e.java) org.apache.tapestry.ApplicationServlet.doServiceApplicationServlet.java: 126 org.apache.tapestry.ApplicationServlet.doGetApplicationServlet.java:103 javax.servlet.http.HttpServlet.serviceHttpServlet.java:690 javax.servlet.http.HttpServlet.serviceHttpServlet.java:803 org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicat ionFilterChain.java:290 org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilte rChain.java:206 com.adaptiveplanning.system.ConnectionLeakDetector.doFilterConnectionLea kDetector.java:58 org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicat ionFilterChain.java:235 org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilte rChain.java:206 com.adaptiveplanning.system.RequestMonitor$RequestHandler.performNativeP rocessingRequestMonitor.java:197 com.adaptiveplanning.system.RequestMonitor$ForkedRequestHandler$1.callRe questMonitor.java:285 com.adaptiveplanning.system.RequestMonitor$ForkedRequestHandler$1.callRe questMonitor.java:283 java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) java.util.concurrent.FutureTask.run(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) } ]] Request parameters are [[ ]] Thanks and Regards, Aaron Kaminsky