FYI this was a bug in my code that was generating the SLD.  The "return a
cached response" part wasn't thread-safe so a second request was
occasionally causing incomplete data to be returned from the cache.

Thanks,
Jeff

On Mon, Sep 27, 2010 at 9:41 AM, Justin Deoliveira <[email protected]>wrote:

> Hi Jeff,
>
> Nothing jumps out at me as wrong... unfortunately things like this can be
> hard to track down without actually running the code in a debugger. If you
> are a java dev i suggest running geoserver in a debugger and try to
> reproduce the problem there.
>
> -Justin
>
> On Thu, Sep 23, 2010 at 12:09 PM, Jeff Adams <[email protected]> wrote:
>
>> I'm using OpenLayers on the client with a tiled WMS layer, so it generates
>> perhaps a dozen requests for the same layer with of course the same SLD URL.
>>
>> The SLD URL is pointing at a handler, written in .NET, that generates a
>> custom SLD.  It caches its response, so it should be (after the first
>> request) returning the exact same data on every single call.
>>
>> However, every couple of dozen requests, I'll get a couple of XML parsing
>> errors from GeoServer, as though my SLD is incomplete.  All the other
>> requests succeed and render the images correctly.
>>
>> So I'm trying to figure out if the error is that my handler isn't writing
>> all the data to the output stream or something, so seeing what the SLD looks
>> like when GeoServer gets it would be really useful.  I haven't been able to
>> reproduce this problem without GeoServer... I had a script make requests to
>> the URL for the SLD 5000 times in a row and every single response was
>> identical.
>>
>> Any and all debugging suggestions are appreciated.
>>
>>
>> Here's an example of a parse error from GeoServer's log.  This is
>> GeoServer 2.0.2, on Windows 7 64 bit.  This one is complaining about
>> ogc:Literal, but it varies, and sometimes complains about tags like
>> "PolygonSymbo" which makes it seem like the file was cut off.
>>
>> INFO   | jvm 1    | 2010/09/23 13:32:00 | java.lang.RuntimeException:
>> org.xml.sax.SAXParseException: The element type "ogc:Literal" must be
>> terminated by the matching end-tag "</ogc:Literal>".
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geotools.styling.SLDParser.parseSLD(SLDParser.java:369)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.wms.kvp.GetMapKvpRequestReader.parseSld(GetMapKvpRequestReader.java:453)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.wms.kvp.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:263)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.wms.kvp.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:71)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.ows.Dispatcher.parseRequestKVP(Dispatcher.java:1120)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:457)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:227)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.Server.handle(Server.java:324)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 | Caused by:
>> org.xml.sax.SAXParseException: The element type "ogc:Literal" must be
>> terminated by the matching end-tag "</ogc:Literal>".
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     at
>> org.geotools.styling.SLDParser.parseSLD(SLDParser.java:357)
>> INFO   | jvm 1    | 2010/09/23 13:32:00 |     ... 55 more
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Nokia and AT&T present the 2010 Calling All Innovators-North America
>> contest
>> Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
>> $10 million total in prizes - $4M cash, 500 devices, nearly $6M in
>> marketing
>> Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
>> http://p.sf.net/sfu/nokia-dev2dev
>> _______________________________________________
>> Geoserver-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>>
>
>
> --
> Justin Deoliveira
> OpenGeo - http://opengeo.org
> Enterprise support for open source geospatial.
>
>


-- 
Jeff Adams

Azavea (formerly Avencia)  |  340 N 12th St, Ste 402, Philadelphia, PA
[email protected]  | T 215.701.7717  | F 215.925.2663
Web azavea.com  |  Blog azavea.com/blogs  |  Twitter
@azavea<http://twitter.com/azavea>
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to