5

I have a fresh installation of Geoserver 2.8.2 in linux. I have enabled Disc Quota (set 500 MB space) and in Caching Defaults I have set "Enable direct integration with GeoServer WMS" option. Next, I have added new GeoTif store and layer (native and declared srs are the same). And here trouble starts. When I'm trying to seed this layer using GeoWebCache, the process stops. I can find these logs in Geoserver:

2016-02-01 01:40:33,205 INFO [seed.SeedTask] - GWC Seeder Thread-4 begins seeding layer : qqq:alingsas
2016-02-01 01:40:33,206 INFO [geoserver.wms] - 
Request: getServiceInfo
2016-02-01 01:40:33,258 ERROR [geoserver.ows] - 
org.geoserver.platform.ServiceException: Error rendering coverage on the fast path
    at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:344)
    at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:259)
    at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:132)
    at org.geoserver.wms.GetMap.executeInternal(GetMap.java:505)
    at org.geoserver.wms.GetMap.run(GetMap.java:249)
    at org.geoserver.wms.GetMap.run(GetMap.java:119)
    at org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:320)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlInterceptor.java:34)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:62)
    at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:36)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:74)
    at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:55)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:55)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at com.sun.proxy.$Proxy93.getMap(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:845)
    at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:275)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
    at org.geoserver.gwc.GWC.dispatchOwsRequest(GWC.java:1223)
    at org.geoserver.gwc.layer.GeoServerTileLayer.dispatchGetMap(GeoServerTileLayer.java:625)
    at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:569)
    at org.geoserver.gwc.layer.GeoServerTileLayer.seedTile(GeoServerTileLayer.java:764)
    at org.geowebcache.seed.SeedTask.doActionInternal(SeedTask.java:136)
    at org.geowebcache.seed.GWCTask.doAction(GWCTask.java:76)
    at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:36)
    at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:25)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.geoserver.platform.ServiceException: java.lang.IllegalArgumentException: Angle 6,611,011,917.022 is too high.
    at org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:1055)
    at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:342)
    ... 44 more
Caused by: java.lang.IllegalArgumentException: Angle 6,611,011,917.022 is too high.
    at org.geotools.measure.AngleFormat.format(AngleFormat.java:703)
    at org.geotools.measure.AngleFormat.format(AngleFormat.java:940)
    at org.geotools.measure.AngleFormat.format(AngleFormat.java:862)
    at org.geotools.measure.Angle.toString(Angle.java:165)
    at java.text.MessageFormat.subformat(MessageFormat.java:1271)
    at java.text.MessageFormat.format(MessageFormat.java:860)
    at java.text.Format.format(Format.java:157)
    at org.geotools.resources.IndexedResourceBundle.getString(IndexedResourceBundle.java:491)
    at org.geotools.resources.i18n.Errors.format(Errors.java:77)
    at org.geotools.referencing.operation.projection.MapProjection.verifyGeographicRanges(MapProjection.java:508)
    at org.geotools.referencing.operation.projection.MapProjection.access$000(MapProjection.java:86)
    at org.geotools.referencing.operation.projection.MapProjection$Inverse.transform(MapProjection.java:1066)
    at org.geotools.referencing.operation.projection.MapProjection$Inverse.transform(MapProjection.java:1105)
    at org.geotools.referencing.operation.transform.AbstractMathTransform.transform(AbstractMathTransform.java:237)
    at org.geotools.referencing.operation.transform.ConcatenatedTransformDirect.transform(ConcatenatedTransformDirect.java:67)
    at org.geotools.referencing.CRS.transform(CRS.java:1340)
    at org.geotools.referencing.CRS.transform(CRS.java:1408)
    at org.geotools.geometry.jts.ReferencedEnvelope.transform(ReferencedEnvelope.java:688)
    at org.geotools.geometry.jts.ReferencedEnvelope.transform(ReferencedEnvelope.java:634)
    at org.geotools.renderer.crs.ProjectionHandler.preProcess(ProjectionHandler.java:412)
    at org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.reduceEnvelope(GridCoverageReaderHelper.java:410)
    at org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.computeReadingGeometry(GridCoverageReaderHelper.java:378)
    at org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readCoverageInEnvelope(GridCoverageReaderHelper.java:290)
    at org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readCoverages(GridCoverageReaderHelper.java:203)
    at org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:800)
    at org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:768)
    at org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:947)
    ... 45 more
2016-02-01 01:40:33,259 INFO [seed.GWCTask] - Thread group finished SEED task after 0.054 seconds
2016-02-01 01:40:33,259 ERROR [seed.MTSeeder] - Problem communicating with GeoServer
org.geowebcache.GeoWebCacheException: Problem communicating with GeoServer
    at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:575)
    at org.geoserver.gwc.layer.GeoServerTileLayer.seedTile(GeoServerTileLayer.java:764)
    at org.geowebcache.seed.SeedTask.doActionInternal(SeedTask.java:136)
    at org.geowebcache.seed.GWCTask.doAction(GWCTask.java:76)
    at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:36)
    at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:25)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Expected: RenderedImageMap, got null
    at org.geoserver.gwc.layer.GeoServerTileLayer.dispatchGetMap(GeoServerTileLayer.java:628)
    at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:569)
    ... 9 more

I can't work out what is wrong. Tiff file must be correct, because it works on other Geoserver. When I'm on Tile Caching-> Tile Layers -> click Preview, then tiles are generating fine and in summary I have information how many tiles were created on disk.

How can I make seeding layers work correctly?

Update 1

I have made some progress - I found out that after installation Geoserver 2.5.5 seeding works perfectly. In version 2.6.x seeding doesn't work. The difference between them is that 2.5 uses java 6 and 2.6 uses java 7. In linux I have installed java 1.7.0_91.

I forgot to mention that I had been seeding in standard EPSG:900913 / png.

1

1 Answer 1

4

I had this problem a number of time in the past and then I realized it's an Authentication problem between GWC and Geoserver. As was also noted by @Nuno Oliviera or Geosever dev team, GWC has not notion of security and it's uses ROLE_ADMINISTRATOR pricipal to authenticate user for GWC Administration purpose (which include Seed, Reseed, ReloadConfiguration).

Possible Causes: You are using a different Role Service as the Active role service in Security->Setting->Active role service.

If you have to do this because maybe you want to store use JDBC Role Service, migrate the ADMIN and GROUP_ADMIN roles to the new Role Service.

Why? As of this the time of writing this Geoserver 2.13.0 and below, GWC use hard coded ADMIN role to authenticate the administrator under the ROLE_ADMINISTRATOR principal. Any thing that is not ADMIN will not work.

Cause 2: Data Rules. Any data rule on the layer or child layers of the layer group you are trying will prohibit seeding and reseeding tasks on that layer or layer group. temporarily remove the data rule so as to seed.

Cause 3: (Which I can't figure out). Any Custome Gridset like WebMercator or something which is not shipped with Geoserver (i.e EPSG:4326 and 900913) will cause this problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.