> it would be good to capture just the failing request with all the
parameters and especially BBOX. 

How?

> gdal_translate -of GTIFF -co tiled=yes -co compress=LZW failing.tif
> new_copy.tif and change the new image into the mosaic directory.

Tried this - no change.

However, I now have more information. Tomcat stderr has this:

        Error: One factory fails for the operation "Mosaic"
Occurs in: org.geoserver.jai.ConcurrentOperationRegistry
java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor135.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
        at
javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
        at
org.geoserver.jai.ConcurrentOperationRegistry.invokeFactory(ConcurrentOperationRegistry.java:412)
        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
        at org.geotools.image.ImageWorker.affine(ImageWorker.java:3113)
        at
org.geotools.gce.imagemosaic.RasterLayerResponse.postProcessRaster(RasterLayerResponse.java:1293)
        at
org.geotools.gce.imagemosaic.RasterLayerResponse.processRequest(RasterLayerResponse.java:1235)
        at
org.geotools.gce.imagemosaic.RasterLayerResponse.createResponse(RasterLayerResponse.java:1194)
        at 
org.geotools.gce.imagemosaic.RasterManager.read(RasterManager.java:1125)
        at
org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:629)
        at
org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:608)
        at
org.geoserver.catalog.SingleGridCoverage2DReader.read(SingleGridCoverage2DReader.java:140)
        at
org.geoserver.wms.map.RenderedImageMapOutputFormat.readBestCoverage(RenderedImageMapOutputFormat.java:1296)
        at
org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:861)
        at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:329)
        at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:251)
        at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:123)
        at org.geoserver.wms.GetMap.executeInternal(GetMap.java:509)
        at org.geoserver.wms.GetMap.run(GetMap.java:253)
        at org.geoserver.wms.GetMap.run(GetMap.java:124)
        at
org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:328)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        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:61)
        at
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:35)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:79)
        at
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:54)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at
org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:54)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at com.sun.proxy.$Proxy66.getMap(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:774)
        at 
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)
        at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
        at org.geoserver.gwc.GWC.dispatchOwsRequest(GWC.java:1162)
        at
org.geoserver.gwc.layer.GeoServerTileLayer.dispatchGetMap(GeoServerTileLayer.java:572)
        at
org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:517)
        at
org.geoserver.gwc.layer.GeoServerTileLayer.seedTile(GeoServerTileLayer.java:711)
        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(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: All source images must have
the same number of bands.
        at
com.sun.media.jai.opimage.MosaicOpImage.getLayout(MosaicOpImage.java:121)
        at 
com.sun.media.jai.opimage.MosaicOpImage.<init>(MosaicOpImage.java:200)
        at com.sun.media.jai.opimage.MosaicRIF.create(MosaicRIF.java:39)
        ... 65 more

Does this indicate that you are right that JAI might be failing in this?
I've tried setting the layer's USE_JAI_IMAGEREAD to false. That seems to get
rid of the Tomcat stderr error (though it's harder to tell without
timestamps). However, the same errors are present in geoserver.log.

Should I look to disable JAI system-wide? I'll see if I can find out how to
do that.

Or can anyone tell me anything about the specific error about number of
bands? When I try to run the GWC seed, I am limiting the BBOX to within that
single tile, so why are multiple tiles involved? Is this metatiling? Or
something to do with interpolating the edge pixels - I am using bicubic, so
I guess it will need the data from adjacent TIFFs. The BBOX was only just
within the TIFF - I might try setting it well within the TIFF, and see if
the error disappears.

Any ideas?



--
View this message in context: 
http://osgeo-org.1560.x6.nabble.com/Error-rendering-coverage-on-the-fast-path-tp5138864p5139230.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
&#149; 3 signs your SCM is hindering your productivity
&#149; Requirements for releasing software faster
&#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to