Hello Mark, I get this sometimes too on the GAE/J developmenr web server after the next web page has been served. I do not find this exception to be reliably reproducible: sometimes it happens, usually is doesn't.
I am running GAE/J 1.4.2 with the JDK 1.6.0_24 for Microsoft Windows XP. An example of my errors are: org.apache.wicket.WicketRuntimeException: Unable to write the response at org.apache.wicket.Response.handleException(Response.java:286) at org.apache.wicket.Response.write(Response.java:310) ... Caused by: java.io.IOException: Closed at org.mortbay.jetty.AbstractGenerator $Output.write(AbstractGenerator.java:629) at org.mortbay.jetty.AbstractGenerator $Output.write(AbstractGenerator.java:579) at org.apache.wicket.util.io.Streams.copy(Streams.java:159) at org.apache.wicket.util.io.Streams.copy(Streams.java:126) at org.apache.wicket.Response.write(Response.java:306) ... 32 more This is followed immediately by what you get: java.lang.IllegalStateException: STREAM at org.mortbay.jetty.Response.getWriter(Response.java:616) ... Ian On Mar 16, 10:35 am, Mark Harrison <markajharri...@clickmate.com.au> wrote: > Hi, can you explain why jetty is returning a > java.lang.IllegalStateException: STREAM? > > Is this a known issue? > Is there something wrong with my code that is causing the issue? > Does this happen on other implementations of Jetty > > I am using the Java Environment with Google App Engine 1.4.2 with JRE 1.7 > (x64) for Mac OSX. No exception is caught from try..catch block. The > exception seems to occur after the page has finished execution. I am calling > the JSP page directly (i.e. entering name into browser window). > > Note: I cannot see this exception on GAE server it only happens when running > the local jetty on my Dev Machine. > > JSP > ========== > > <html> > <body> > <% > try > { > response.sendError(401,"This will generate IllegalStateException"); > // response.setStatus(401);} > > catch (Exception e) > { > %> > <p>Caught exception with response.sendError(401)</p> > <% > > } > > %> > </body> > </html> > > EXCEPTION > ========== > > Mar 16, 2011 12:19:32 PM com.google.apphosting.utils.jetty.JettyLogger warn > WARNING: /Test.jsp > java.lang.IllegalStateException: STREAM > at org.mortbay.jetty.Response.getWriter(Response.java:616) > at > javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112) > at > org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125) > at > org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118) > at > org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:188) > at > org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118) > at > org.apache.jasper.runtime.JspFactoryImpl.access$100(JspFactoryImpl.java:40) > at > org.apache.jasper.runtime.JspFactoryImpl$PrivilegedReleasePageContext.run(JspFactoryImpl.java:166) > at java.security.AccessController.doPrivileged(Native Method) > at > org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75) > at org.apache.jsp.Test_jsp._jspService(Test_jsp.java:83) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) > at > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) > at > com.google.appengine.tools.development.PrivilegedJspServlet.access$101(PrivilegedJspServlet.java:23) > at > com.google.appengine.tools.development.PrivilegedJspServlet$2.run(PrivilegedJspServlet.java:59) > at java.security.AccessController.doPrivileged(Native Method) > at > com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java:57) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) > at > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) > at > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at > com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.