[Geoserver-users] Output error on KML

I have a shapefile that I’m serving as KML to Google Earth. If I try to view the whole shapefile (a county’s worth of parcels) I get the below error. I have a similar parcel base from a smaller county that works fine. I suspect that either there’s something invalid about the shapefile or it has too many features (~90K). Does the error report tip anyone off? There’s the warning about holes in the polygon(s), but is that what is doing it?

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service responses’ strategy

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service strategy PARTIAL-BUFFER

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service strategy class org.vfny.geoserver.servlets.PartialBufferStrategy

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Set buffer size to 50

76369922 [INFO] org.vfny.geoserver.wms.requests.GetMapKvpReader - Set KMScore: 40

76369922 [INFO] org.vfny.geoserver.servlets.AbstractService - handling request: org.vfny.geoserver.wms.requests.GetMapRequest@anonymised.com

76371877 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only one hole in this polygon record

76380493 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only one hole in this polygon record

76380500 [INFO] org.vfny.geoserver.wms.responses.map.kml.EncodeKML - Layer () rendered with KMZ raster output.

76384910 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only one hole in this polygon record

76389746 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only one hole in this polygon record

76390055 [INFO] org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer - aborting KMZ encoder

76390056 [INFO] org.vfny.geoserver.servlets.PartialBufferStrategy - OutputStream was successfully aborted.

76390056 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined error: null

76390057 [INFO] org.vfny.geoserver.servlets.AbstractService - EOFException(java.net.SocketException: Connection reset)

at org.mortbay.http.BufferedOutputStream.flush(BufferedOutputStream.java:195)

at org.mortbay.http.ChunkingOutputStream.flush(ChunkingOutputStream.java:67)

at org.mortbay.util.ByteBufferOutputStream.ensureSpareCapacity(ByteBufferOutputStream.java:342)

at org.mortbay.util.ByteBufferOutputStream.write(ByteBufferOutputStream.java:182)

at org.mortbay.http.BufferedOutputStream.write(BufferedOutputStream.java:135)

at org.mortbay.http.HttpOutputStream.write(HttpOutputStream.java:442)

at org.mortbay.jetty.servlet.ServletOut.write(ServletOut.java:42)

at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)

at java.io.BufferedOutputStream.write(BufferedOutputStream.java:79)

at org.vfny.geoserver.util.PartialBufferedOutputStream.write(PartialBufferedOutputStream.java:147)

at java.io.OutputStream.write(OutputStream.java:99)

at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:156)

at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:114)

at java.util.zip.ZipOutputStream.write(ZipOutputStream.java:260)

at javax.imageio.stream.MemoryCache.writeToStream(MemoryCache.java:148)

at javax.imageio.stream.MemoryCacheImageOutputStream.flushBefore(MemoryCacheImageOutputStream.java:171)

at javax.imageio.stream.ImageInputStreamImpl.flush(ImageInputStreamImpl.java:801)

at org.vfny.geoserver.wms.responses.map.kml.EncodeKML.writeImages(EncodeKML.java:477)

at org.vfny.geoserver.wms.responses.map.kml.EncodeKML.encodeKMZ(EncodeKML.java:173)

at org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer.writeTo(KMZMapProducer.java:112)

at org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse.java:258)

at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:527)

at org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:279)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.vfny.geoserver.wms.servlets.WmsDispatcher.doResponse(WmsDispatcher.java:156)

at org.vfny.geoserver.wms.servlets.WmsDispatcher.doGet(WmsDispatcher.java:115)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)

at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)

at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)

at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)

at org.mortbay.http.HttpServer.service(HttpServer.java:879)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:276)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)

14:19:08.127 WARN!! Exception for /geoserver/wms?service=WMS&request=GetMap&format=application/vnd.google-earth.kmz+XML&width=1024&height=1024&srs=EPSG:4326&layers=topp:parcelsha&styles=parcels_style&KMScore=40&KMAttr=true&BBOX=-122.6968406098604,40.40032994014587,-122.1854684472549,40.74423873451695

java.lang.IllegalStateException

at org.mortbay.jetty.servlet.ServletHttpResponse.getWriter(ServletHttpResponse.java:540)

at org.vfny.geoserver.servlets.AbstractService.send(AbstractService.java:729)

at org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:788)

at org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:769)

at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:538)

at org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:279)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.vfny.geoserver.wms.servlets.WmsDispatcher.doResponse(WmsDispatcher.java:156)

at org.vfny.geoserver.wms.servlets.WmsDispatcher.doGet(WmsDispatcher.java:115)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)

at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)

at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)

at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)

at org.mortbay.http.HttpServer.service(HttpServer.java:879)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:276)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)

n

Marc Pfister
Geospatial Data Manager
ENPLAN
mpfister@anonymised.com647…
530/221-0440 x108
530/221-6963 Fax

Marc Pfister ha scritto:

I have a shapefile that I’m serving as KML to Google Earth. If I try to view the whole shapefile (a county’s worth of parcels) I get the below error. I have a similar parcel base from a smaller county that works fine. I suspect that either there’s something invalid about the shapefile or it has too many features (~90K). Does the error report tip anyone off? There’s the warning about holes in the polygon(s), but is that what is doing it?

Hmm... without knowing much about this issue I'd consider the io side
instead of the polygon holes.
Can you try increase the partial buffer size, or change the buffer
strategy?

This:

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service strategy PARTIAL-BUFFER
76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service strategy class org.vfny.geoserver.servlets.PartialBufferStrategy
76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Set buffer size to 50

and the fact that the buffer strategy is visible in the stack trace too
makes me wonder if there's something wrong in that class.
Best regards
Andrea Aime

I get the feeling that it is dieing in the renderer, and then the error isn't being reported properly.
From the trace the KML has handed off control to the streaming renderer, and in there it dies. But the partial buffer isn't handling the error well, or that the KML code gobbles it.

You can turn logging to 'verbose' and set the level to 'finer' to get a more detailed stack trace. And we will be able to help a bit better.

Brent Owens
(The Open Planning Project)

Andrea Aime wrote:

Marc Pfister ha scritto:
  

I have a shapefile that I’m serving as KML to Google Earth. If I try to view the whole shapefile (a county’s worth of parcels) I get the below error. I have a similar parcel base from a smaller county that works fine. I suspect that either there’s something invalid about the shapefile or it has too many features (~90K). Does the error report tip anyone off? There’s the warning about holes in the polygon(s), but is that what is doing it?
    
Hmm... without knowing much about this issue I'd consider the io side
instead of the polygon holes.
Can you try increase the partial buffer size, or change the buffer
strategy?

This:

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service strategy PARTIAL-BUFFER
76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service strategy class org.vfny.geoserver.servlets.PartialBufferStrategy
76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Set buffer size to 50
    
and the fact that the buffer strategy is visible in the stack trace too
makes me wonder if there's something wrong in that class.
Best regards
Andrea Aime

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

-----Original Message-----
From: Brent Owens [mailto:brentowens@anonymised.com]
Sent: Saturday, August 26, 2006 9:42 AM
To: Marc Pfister
Cc: Andrea Aime; geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] Output error on KML

I get the feeling that it is dieing in the renderer, and then the

error

isn't being reported properly.
From the trace the KML has handed off control to the streaming
renderer, and in there it dies. But the partial buffer isn't handling
the error well, or that the KML code gobbles it.

You can turn logging to 'verbose' and set the level to 'finer' to get

a

more detailed stack trace. And we will be able to help a bit better.

Here's the more detailed logging:

161662 [FINE] org.vfny.geoserver.util.requests.readers.KvpRequestReader
- clean request is
service=WMS&request=GetMap&format=application/vnd.google-earth.kmz
XML&width=1024&height=1024&srs=EPSG:4326&layers=topp:parcelsha&styles=pa
rcels_style&KMScore=40&KMAttr=true&BBOX=-123.7688681635021,40.0244315116
8946,-121.518702432977,41.40645369104929
161663 [FINE] org.vfny.geoserver.util.requests.readers.KvpRequestReader
- returning parsed {SRS=EPSG:4326,
BBOX=-123.7688681635021,40.02443151168946,-121.518702432977,41.406453691
04929, LAYERS=topp:parcelsha, KMATTR=true, HEIGHT=1024, REQUEST=GetMap,
STYLES=parcels_style, KMSCORE=40, WIDTH=1024,
FORMAT=application/vnd.google-earth.kmz XML, SERVICE=WMS}
161663 [FINER]
org.vfny.geoserver.util.requests.readers.DispatcherKvpReader -
dispatcher got request GetMap
161663 [FINER] org.vfny.geoserver.wms.servlets.WmsDispatcher - req_type
is 7
161663 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service responses' strategy
161663 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service strategy PARTIAL-BUFFER
161664 [FINE] org.vfny.geoserver.servlets.AbstractService - verifying
configured strategy
161664 [INFO] org.vfny.geoserver.servlets.AbstractService - Using
service strategy class org.vfny.geoserver.servlets.PartialBufferStrategy
161664 [INFO] org.vfny.geoserver.servlets.AbstractService - Set buffer
size to 50
161664 [FINE] org.vfny.geoserver.servlets.AbstractService - reading
request:
service=WMS&request=GetMap&format=application/vnd.google-earth.kmz+XML&w
idth=1024&height=1024&srs=EPSG:4326&layers=topp:parcelsha&styles=parcels
_style&KMScore=40&KMAttr=true&BBOX=-123.7688681635021,40.02443151168946,
-121.518702432977,41.40645369104929
161665 [FINE] org.vfny.geoserver.global.Data - getting type
topp:parcelsha
161665 [FINER] org.vfny.geoserver.global.DataStoreInfo - in string url
161665 [FINER] org.vfny.geoserver.global.DataStoreInfo - in string url
161666 [FINE] org.geotools.styling.StyleImpl - number of fts set 1
161666 [FINE] org.vfny.geoserver.wms.requests.GetMapKvpReader -
establishing parcels_style style for topp:parcelsha
161668 [INFO] org.vfny.geoserver.wms.requests.GetMapKvpReader - Set
KMScore: 40
161669 [FINER] org.vfny.geoserver.servlets.AbstractService -
serviceRequest provided with HttpServletRequest: /geoserver+/wms+null
GET
/geoserver/wms?service=WMS&request=GetMap&format=application/vnd.google-
earth.kmz+XML&width=1024&height=1024&srs=EPSG:4326&layers=topp:parcelsha
&styles=parcels_style&KMScore=40&KMAttr=true&BBOX=-123.7688681635021,40.
02443151168946,-121.518702432977,41.40645369104929 HTTP/1.1
Via: 1.0 PDCRAQ
User-Agent: kh_lt/LT4.0.1565
Host: 192.168.16.23:8080
Accept: text/plain, text/html, text/xml,
text/xml-external-parsed-entity, application/octet-stream,
application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz,
image/*
Cache-Control: no-cache, no-store
Pragma: no-cache
Connection: keep-alive

161669 [INFO] org.vfny.geoserver.servlets.AbstractService - handling
request: org.vfny.geoserver.wms.requests.GetMapRequest@anonymised.com
161669 [FINE] org.vfny.geoserver.servlets.AbstractService - strategy is:
org.vfny.geoserver.servlets.PartialBufferStrategy@anonymised.com
161669 [FINER] org.vfny.geoserver.servlets.AbstractService - executing
request
161670 [FINER] org.vfny.geoserver.wms.responses.GetMapResponse - request
format is application/vnd.google-earth.kmz XML
161671 [FINE] org.vfny.geoserver.wms.responses.GetMapResponse - setting
up map
161671 [FINER] org.vfny.geoserver.global.DataStoreInfo - in string url
161673 [FINER] org.vfny.geoserver.global.DataStoreInfo - in string url
161673 [FINER] org.vfny.geoserver.servlets.AbstractService - execution
succeed
161673 [FINER] org.vfny.geoserver.servlets.AbstractService - strategy
output is: org.vfny.geoserver.util.PartialBufferedOutputStream
161674 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type
is: application/vnd.google-earth.kmz
161674 [FINER] org.vfny.geoserver.wms.responses.GetMapResponse -
returning content encoding null
161675 [FINER] org.vfny.geoserver.wms.responses.GetMapResponse - asking
delegate for write to
org.vfny.geoserver.util.PartialBufferedOutputStream@anonymised.com
161675 [FINER] ExpressionAttribute - ENTRY the_geom
161677 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 1 locks
161681 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 2 locks
163811 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
169500 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
171962 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
171962 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
1 locks
171969 [INFO] org.vfny.geoserver.wms.responses.map.kml.EncodeKML - Layer
() rendered with KMZ raster output.
171969 [FINE] org.geotools.styling.StyleImpl - number of fts set 1
171970 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 2 locks
172458 [FINER] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
applying rule: org.geotools.styling.RuleImpl@anonymised.com
172459 [FINER] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
processing Symobolizer ...
172459 [FINER] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
applying symbolizer org.geotools.styling.PolygonSymbolizerImpl@anonymised.com
172459 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
1 locks
172460 [FINE] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
encoded parcelsha
172460 [FINE] org.vfny.geoserver.wms.responses.map.kml.EncodeKML -
finished writing
172461 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
0 locks
172461 [FINE] org.vfny.geoserver.wms.responses.map.kml.EncodeKML -
setting up 1024x1024 image
172587 [FINE] org.vfny.geoserver.wms.responses.map.kml.EncodeKML -
setting to transparent
172607 [FINE] org.geotools.renderer.lite.StreamingRenderer - Affine
Transform is AffineTransform[[455.0775910008342, 0.0,
56324.438364746384], [0.0, -740.943246275776, 30679.832214613652]]
172609 [FINER] org.geotools.resources.i18n.Vocabulary_en - Loaded
resources for English from bundle "org.geotools.resources.i18n".
172611 [FINER] org.geotools.resources.i18n.Errors_en - Loaded resources
for English from bundle "org.geotools.resources.i18n".
172613 [FINER] org.geotools.resources.i18n.Logging_en - Loaded resources
for English from bundle "org.geotools.resources.i18n".
172622 [FINE] org.geotools.styling.StyleImpl - number of fts set 1
172622 [FINE] org.geotools.renderer.lite.StreamingRenderer - processing
1 stylers for parcelsha
172623 [FINE] org.geotools.renderer.lite.StreamingRenderer - creating
rules for scale denominator- 597810.7039098771
172623 [FINER] ExpressionAttribute - ENTRY the_geom
172624 [FINE]
org.geotools.data.shapefile.indexed.IndexedShapefileDataStore - The DBF
file won't be opened since no attributes will be read from it
172624 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 1 locks
172903 [FINER] org.geotools.renderer.style.SLDStyleFactory - Setting
fill: java.awt.Color[r=255,g=255,b=255]
174124 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
177565 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
179409 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
179410 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
0 locks
179412 [FINE] org.geotools.renderer.lite.StreamingRenderer - Style cache
hit ratio: 0.9999884900035682 , hits 86880, requests 86881
179674 [FINE] org.vfny.geoserver.wms.responses.GetMapResponse - asking
delegate for aborting the process
179674 [FINE] org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer -
aborting KMZ map response
179675 [INFO] org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer -
aborting KMZ encoder
179675 [WARNING] org.vfny.geoserver.servlets.PartialBufferStrategy -
OutputStream could not be aborted in time. An error has occurred and
could not be sent to the user.
      

Andrea Aime wrote:
> Marc Pfister ha scritto:
>
>> I have a shapefile that I'm serving as KML to Google Earth. If I

try to

>> view the whole shapefile (a county's worth of parcels) I get the

below

>> error. I have a similar parcel base from a smaller county that

works

>> fine. I suspect that either there's something invalid about the
>> shapefile or it has too many features (~90K). Does the error report

tip

>> anyone off? There's the warning about holes in the polygon(s), but

is

>> that what is doing it?
>>
>
> Hmm... without knowing much about this issue I'd consider the io

side

> instead of the polygon holes.
> Can you try increase the partial buffer size, or change the buffer
> strategy?
>
> This:
>
>
>> 76369920 [INFO] org.vfny.geoserver.servlets.AbstractService -

Looking

>> for configured service strategy PARTIAL-BUFFER
>> 76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Using
>> service strategy class
org.vfny.geoserver.servlets.PartialBufferStrategy
>> 76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Set
buffer
>> size to 50
>>
>
> and the fact that the buffer strategy is visible in the stack trace

too

> makes me wonder if there's something wrong in that class.
> Best regards
> Andrea Aime

Marc Pfister
Geospatial Data Manager
ENPLAN
mpfister@anonymised.com
530/221-0440 x108
530/221-6963 Fax

Could you set Config -> Server -> Verbose Exceptions to 'true'? That may get the proper error returning (will use a full buffer instead of a partial one).

The other question is does it work with normal WMS rendering? Like can you view it in the 'map preview' area of Demo? That might help... Unfortunately even this newer log doesn't have enough information :frowning:

Chris

Marc Pfister wrote:

-----Original Message-----
From: Brent Owens [mailto:brentowens@anonymised.com]
Sent: Saturday, August 26, 2006 9:42 AM
To: Marc Pfister
Cc: Andrea Aime; geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] Output error on KML

I get the feeling that it is dieing in the renderer, and then the

error

isn't being reported properly.
From the trace the KML has handed off control to the streaming
renderer, and in there it dies. But the partial buffer isn't handling
the error well, or that the KML code gobbles it.

You can turn logging to 'verbose' and set the level to 'finer' to get

a

more detailed stack trace. And we will be able to help a bit better.

Here's the more detailed logging:

161662 [FINE] org.vfny.geoserver.util.requests.readers.KvpRequestReader
- clean request is
service=WMS&request=GetMap&format=application/vnd.google-earth.kmz
XML&width=1024&height=1024&srs=EPSG:4326&layers=topp:parcelsha&styles=pa
rcels_style&KMScore=40&KMAttr=true&BBOX=-123.7688681635021,40.0244315116
8946,-121.518702432977,41.40645369104929
161663 [FINE] org.vfny.geoserver.util.requests.readers.KvpRequestReader
- returning parsed {SRS=EPSG:4326,
BBOX=-123.7688681635021,40.02443151168946,-121.518702432977,41.406453691
04929, LAYERS=topp:parcelsha, KMATTR=true, HEIGHT=1024, REQUEST=GetMap,
STYLES=parcels_style, KMSCORE=40, WIDTH=1024,
FORMAT=application/vnd.google-earth.kmz XML, SERVICE=WMS}
161663 [FINER]
org.vfny.geoserver.util.requests.readers.DispatcherKvpReader -
dispatcher got request GetMap
161663 [FINER] org.vfny.geoserver.wms.servlets.WmsDispatcher - req_type
is 7
161663 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service responses' strategy
161663 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service strategy PARTIAL-BUFFER
161664 [FINE] org.vfny.geoserver.servlets.AbstractService - verifying
configured strategy
161664 [INFO] org.vfny.geoserver.servlets.AbstractService - Using
service strategy class org.vfny.geoserver.servlets.PartialBufferStrategy
161664 [INFO] org.vfny.geoserver.servlets.AbstractService - Set buffer
size to 50
161664 [FINE] org.vfny.geoserver.servlets.AbstractService - reading
request:
service=WMS&request=GetMap&format=application/vnd.google-earth.kmz+XML&w
idth=1024&height=1024&srs=EPSG:4326&layers=topp:parcelsha&styles=parcels
_style&KMScore=40&KMAttr=true&BBOX=-123.7688681635021,40.02443151168946,
-121.518702432977,41.40645369104929
161665 [FINE] org.vfny.geoserver.global.Data - getting type
topp:parcelsha
161665 [FINER] org.vfny.geoserver.global.DataStoreInfo - in string url
161666 [FINE] org.geotools.styling.StyleImpl - number of fts set 1
161666 [FINE] org.vfny.geoserver.wms.requests.GetMapKvpReader -
establishing parcels_style style for topp:parcelsha
161668 [INFO] org.vfny.geoserver.wms.requests.GetMapKvpReader - Set
KMScore: 40
161669 [FINER] org.vfny.geoserver.servlets.AbstractService -
serviceRequest provided with HttpServletRequest: /geoserver+/wms+null
GET
/geoserver/wms?service=WMS&request=GetMap&format=application/vnd.google-
earth.kmz+XML&width=1024&height=1024&srs=EPSG:4326&layers=topp:parcelsha
&styles=parcels_style&KMScore=40&KMAttr=true&BBOX=-123.7688681635021,40.
02443151168946,-121.518702432977,41.40645369104929 HTTP/1.1
Via: 1.0 PDCRAQ
User-Agent: kh_lt/LT4.0.1565
Host: 192.168.16.23:8080
Accept: text/plain, text/html, text/xml,
text/xml-external-parsed-entity, application/octet-stream,
application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz,
image/*
Cache-Control: no-cache, no-store
Pragma: no-cache
Connection: keep-alive

161669 [INFO] org.vfny.geoserver.servlets.AbstractService - handling
request: org.vfny.geoserver.wms.requests.GetMapRequest@anonymised.com
161669 [FINE] org.vfny.geoserver.servlets.AbstractService - strategy is:
org.vfny.geoserver.servlets.PartialBufferStrategy@anonymised.com
161669 [FINER] org.vfny.geoserver.servlets.AbstractService - executing
request
161670 [FINER] org.vfny.geoserver.wms.responses.GetMapResponse - request
format is application/vnd.google-earth.kmz XML
161671 [FINE] org.vfny.geoserver.wms.responses.GetMapResponse - setting
up map
161671 [FINER] org.vfny.geoserver.global.DataStoreInfo - in string url
161673 [FINER] org.vfny.geoserver.global.DataStoreInfo - in string url
161673 [FINER] org.vfny.geoserver.servlets.AbstractService - execution
succeed
161673 [FINER] org.vfny.geoserver.servlets.AbstractService - strategy
output is: org.vfny.geoserver.util.PartialBufferedOutputStream
161674 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type
is: application/vnd.google-earth.kmz
161674 [FINER] org.vfny.geoserver.wms.responses.GetMapResponse -
returning content encoding null
161675 [FINER] org.vfny.geoserver.wms.responses.GetMapResponse - asking
delegate for write to
org.vfny.geoserver.util.PartialBufferedOutputStream@anonymised.com
161675 [FINER] ExpressionAttribute - ENTRY the_geom
161677 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 1 locks
161681 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 2 locks
163811 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
169500 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
171962 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
171962 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
1 locks
171969 [INFO] org.vfny.geoserver.wms.responses.map.kml.EncodeKML - Layer
() rendered with KMZ raster output.
171969 [FINE] org.geotools.styling.StyleImpl - number of fts set 1
171970 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 2 locks
172458 [FINER] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
applying rule: org.geotools.styling.RuleImpl@anonymised.com
172459 [FINER] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
processing Symobolizer ...
172459 [FINER] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
applying symbolizer org.geotools.styling.PolygonSymbolizerImpl@anonymised.com
172459 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
1 locks
172460 [FINE] org.vfny.geoserver.wms.responses.map.kml.KMLWriter -
encoded parcelsha
172460 [FINE] org.vfny.geoserver.wms.responses.map.kml.EncodeKML -
finished writing
172461 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
0 locks
172461 [FINE] org.vfny.geoserver.wms.responses.map.kml.EncodeKML -
setting up 1024x1024 image
172587 [FINE] org.vfny.geoserver.wms.responses.map.kml.EncodeKML -
setting to transparent
172607 [FINE] org.geotools.renderer.lite.StreamingRenderer - Affine
Transform is AffineTransform[[455.0775910008342, 0.0,
56324.438364746384], [0.0, -740.943246275776, 30679.832214613652]]
172609 [FINER] org.geotools.resources.i18n.Vocabulary_en - Loaded
resources for English from bundle "org.geotools.resources.i18n".
172611 [FINER] org.geotools.resources.i18n.Errors_en - Loaded resources
for English from bundle "org.geotools.resources.i18n".
172613 [FINER] org.geotools.resources.i18n.Logging_en - Loaded resources
for English from bundle "org.geotools.resources.i18n".
172622 [FINE] org.geotools.styling.StyleImpl - number of fts set 1
172622 [FINE] org.geotools.renderer.lite.StreamingRenderer - processing
1 stylers for parcelsha
172623 [FINE] org.geotools.renderer.lite.StreamingRenderer - creating
rules for scale denominator- 597810.7039098771
172623 [FINER] ExpressionAttribute - ENTRY the_geom
172624 [FINE]
org.geotools.data.shapefile.indexed.IndexedShapefileDataStore - The DBF
file won't be opened since no attributes will be read from it
172624 [FINER] org.geotools.data.shapefile.Lock - Start Read Lock:main-3
has 1 locks
172903 [FINER] org.geotools.renderer.style.SLDStyleFactory - Setting
fill: java.awt.Color[r=255,g=255,b=255]
174124 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
177565 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
179409 [WARNING] org.geotools.data.shapefile.shp.PolygonHandler - only
one hole in this polygon record
179410 [FINER] org.geotools.data.shapefile.Lock - unlock Read:main-3 has
0 locks
179412 [FINE] org.geotools.renderer.lite.StreamingRenderer - Style cache
hit ratio: 0.9999884900035682 , hits 86880, requests 86881
179674 [FINE] org.vfny.geoserver.wms.responses.GetMapResponse - asking
delegate for aborting the process
179674 [FINE] org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer -
aborting KMZ map response
179675 [INFO] org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer -
aborting KMZ encoder
179675 [WARNING] org.vfny.geoserver.servlets.PartialBufferStrategy -
OutputStream could not be aborted in time. An error has occurred and
could not be sent to the user.
      

Andrea Aime wrote:

Marc Pfister ha scritto:

I have a shapefile that I'm serving as KML to Google Earth. If I

try to

view the whole shapefile (a county's worth of parcels) I get the

below

error. I have a similar parcel base from a smaller county that

works

fine. I suspect that either there's something invalid about the
shapefile or it has too many features (~90K). Does the error report

tip

anyone off? There's the warning about holes in the polygon(s), but

is

that what is doing it?

Hmm... without knowing much about this issue I'd consider the io

side

instead of the polygon holes.
Can you try increase the partial buffer size, or change the buffer
strategy?

This:

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService -

Looking

for configured service strategy PARTIAL-BUFFER
76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Using
service strategy class

org.vfny.geoserver.servlets.PartialBufferStrategy

76369920 [INFO] org.vfny.geoserver.servlets.AbstractService - Set

buffer

size to 50

and the fact that the buffer strategy is visible in the stack trace

too

makes me wonder if there's something wrong in that class.
Best regards
Andrea Aime

Marc Pfister
Geospatial Data Manager
ENPLAN
mpfister@anonymised.com
530/221-0440 x108
530/221-6963 Fax

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

!DSPAM:1003,44f3612f77471995013331!

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org