[Geoserver-users] GWC seeding: Error rendering coverage on the fast path

Hello all

I am trying to seed an imagemosaic in integrated GWC (GS 2.5.0). This process has worked for various of my layers, but fails in one, with the following errors:

Error rendering coverage on the fast path
Unable to render RenderedOp for this operation

Problem communicating with GeoServer
Expected: RenderedImageMap, got null

Can anyone help me solve this? For any UK users, the data is OS 1:50k national coverage, and I was trying to seed two zoom levels within a much smaller bounding box.

Thanks

Tom

Tom Chadwin, UK National Parks Portal Manager
Telephone: 01434 611511 Mob: 07881 109617
Web: www.northumberlandnationalpark.org.uk<http://www.northumberlandnationalpark.org.uk/&gt;

IMPORTANT NOTICE - Disclaimer - This communication is from Northumberland National Park Authority (NNPA).The Authority’s head office and principal place of business is Eastburn, South Park, Hexham, Northumberland, NE46 1BS, United Kingdom. If you are not the intended recipient(s) please note that any form of disclosure, distribution, copying or use of this communication or the information in it or in any attachments is strictly prohibited and may be unlawful. If you have received this communication in error, please delete the email and destroy any copies of it. Any views or opinions presented are solely those of the author and do not necessarily represent those of NNPA.Contractors or potential contractors are reminded that a formal Order or Contract is needed for NNPA to be bound by any offer or acceptance of terms for the supply of goods or services Although this email and any attachments are believed to be free of any virus or other defects which might affect any computer or IT system into which they are received, no responsibility is accepted by the NNPA for any loss or damage arising in any way from the receipt or use thereof. Computer systems of this Authority may be monitored and communications carried out on them recorded, to secure the effective operation of the system and for other lawful purpose.

Full log:

2014-05-06 17:36:29,046 ERROR [geoserver.ows] -
org.geoserver.platform.ServiceException: Error rendering coverage on the
fast path
  at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:331)
  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.GeneratedMethodAccessor181.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.GeneratedMethodAccessor198.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: org.geoserver.platform.ServiceException:
java.lang.RuntimeException: - Unable to render RenderedOp for this
operation.
  at
org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:898)
  at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:329)
  ... 42 more
Caused by: java.lang.RuntimeException: - Unable to render RenderedOp for
this operation.
  at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:827)
  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)
  ... 43 more
2014-05-06 17:36:29,046 INFO [seed.GWCTask] - Thread group finished SEED
task after 59.39 seconds
2014-05-06 17:36:29,046 ERROR [seed.MTSeeder] - Problem communicating with
GeoServer
org.geowebcache.GeoWebCacheException: Problem communicating with GeoServer
  at
org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:522)
  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.IllegalStateException: Expected: RenderedImageMap, got
null
  at
org.geoserver.gwc.layer.GeoServerTileLayer.dispatchGetMap(GeoServerTileLayer.java:575)
  at
org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:517)
  ... 9 more

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

Ah, it's not just GWC. WMS is failing with the same errors for tiles which
come from some specific TIFFs.

Any ideas?

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

Hi Tom,
There were some issues with 2.5.0 and raster stuff. Some of them have been fixed for the 2.5.1. You might want to test the 2.5.x nightly snapshot to see if that resolves the issue.

Alternately you might want to try deleting and re-adding the layer that is giving you issues. I’m assuming the components rasters work OK as stand alones?

Cheers,
Jonathan

This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

···

On 6 May 2014 19:33, Tom Chadwin <tom.chadwin@anonymised.com> wrote:

Ah, it’s not just GWC. WMS is failing with the same errors for tiles which
come from some specific TIFFs.

Any ideas?


View this message in context: http://osgeo-org.1560.x6.nabble.com/GWC-seeding-Error-rendering-coverage-on-the-fast-path-tp5138864p5138880.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:
� 3 signs your SCM is hindering your productivity
� Requirements for releasing software faster
� Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

There were some issues with 2.5.0 and raster stuff. Some of them have been

fixed for the 2.5.1. You might want to test the 2.5.x nightly snapshot to
see if that resolves the issue.

Will do.

Alternately you might want to try deleting and re-adding the layer that is

giving you issues.

Yes, I've done that - no joy.

I'm assuming the components rasters work OK as stand

alones?

I've not checked that, but will do so.

I've also identified that specific TIFFs seem not to be able to render at
all when I call them via integrated GWC. Trying to isolate which those tiles
are. I'll then be able to try both functioning TIFFs and broken ones as
standalones, and see what happens.

Thanks

Tom

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

You might want to test the 2.5.x nightly snapshot to

see if that resolves the issue.

Installed the latest nightly: no change in behaviour.

I need to track down what I suspect might be problematic underlying tiles. I
can request them via plain WMS, just not via integrated GWC.

Thanks

Tom

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

The problem does seem to be with specific source TIFFs in the mosaic, one of
which I have identified specifically. I can view it in layer preview as part
of the mosaic, but if try to seed a GWC job with the bounding box limited to
this one TIFF, it fails with the errors in the first post in this thread.

What can cause GWC to fail on some TIFFs but not on others? In other words,
how do I investigate this further?

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

Hi,

For me it looks like it is not GWC that fails but WMS. GWC seems to wait a response from the WMS but that never comes. Something goes wrong when WMS is trying to process the metatile GetMap that is sent by GWC.
Perhaps if you enable request logging of your Jetty or Tomcat you could find GetMaps which fail. I can't say out of memory how to configure the request logging nor if GetMaps goes into the log when using the integrated GWC.

If you know which file makes troubles, run gdalinfo from that and also from one of the well behaving images and send reports into the list.

-Jukka Rahkonen-
________________________________________
Tom Chadwin wrote:

The problem does seem to be with specific source TIFFs in the mosaic, one of

which I have identified specifically. I can view it in layer preview as part
of the mosaic, but if try to seed a GWC job with the bounding box limited to
this one TIFF, it fails with the errors in the first post in this thread.

What can cause GWC to fail on some TIFFs but not on others? In other words,

how do I investigate this further?

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-rendering-coverage-on-the-fast-path-tp5138864p5139057.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

GDALinfo output below. As I say, though, the TIFF which will not cache will
be returned when requested by WMS.

Bad Tiff:

Driver: GTiff/GeoTIFF
Files: g:\data_dir\data\os\50k\sd86.tif
Size is 4000, 4000
Coordinate System is:
PROJCS["OSGB 1936 / British National Grid",
    GEOGCS["OSGB 1936",
        DATUM["OSGB_1936",
            SPHEROID["Airy 1830",6377563.396,299.3249646000044,
                AUTHORITY["EPSG","7001"]],
            AUTHORITY["EPSG","6277"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4277"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",49],
    PARAMETER["central_meridian",-2],
    PARAMETER["scale_factor",0.9996012717],
    PARAMETER["false_easting",400000],
    PARAMETER["false_northing",-100000],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AUTHORITY["EPSG","27700"]]
Origin = (380000.000000000000000,480000.000000000000000)
Pixel Size = (5.000000000000000,-5.000000000000000)
Metadata:
  TIFFTAG_IMAGEDESCRIPTION=1:50000 TILE SD86
  TIFFTAG_DATETIME=2011:01:18 16:23:57
  TIFFTAG_COPYRIGHT=ORDNANCE SURVEY CROWN COPYRIGHT 2009
  TIFFTAG_XRESOLUTION=254
  TIFFTAG_YRESOLUTION=254
  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
  AREA_OR_POINT=Area
Image Structure Metadata:
  COMPRESSION=LZW
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 380000.000, 480000.000) ( 2d18'24.22"W, 54d12'54.63"N)
Lower Left ( 380000.000, 460000.000) ( 2d18'19.45"W, 54d 2'7.47"N)
Upper Right ( 400000.000, 480000.000) ( 2d 0'0.00"W, 54d12'56.04"N)
Lower Right ( 400000.000, 460000.000) ( 2d 0'0.00"W, 54d 2'8.86"N)
Center ( 390000.000, 470000.000) ( 2d 9'10.92"W, 54d 7'32.10"N)
Band 1 Block=256x256 Type=Byte, ColorInterp=Palette

...and then the colour table.

Good TIFF:

Driver: GTiff/GeoTIFF
Files: g:\data_dir\data\os\50k\sd66.tif
Size is 4000, 4000
Coordinate System is:
PROJCS["OSGB 1936 / British National Grid",
    GEOGCS["OSGB 1936",
        DATUM["OSGB_1936",
            SPHEROID["Airy 1830",6377563.396,299.3249646000044,
                AUTHORITY["EPSG","7001"]],
            AUTHORITY["EPSG","6277"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4277"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",49],
    PARAMETER["central_meridian",-2],
    PARAMETER["scale_factor",0.9996012717],
    PARAMETER["false_easting",400000],
    PARAMETER["false_northing",-100000],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AUTHORITY["EPSG","27700"]]
Origin = (360000.000000000000000,480000.000000000000000)
Pixel Size = (5.000000000000000,-5.000000000000000)
Metadata:
  TIFFTAG_IMAGEDESCRIPTION=1:50000 TILE SD66
  TIFFTAG_DATETIME=2011:01:18 16:23:41
  TIFFTAG_COPYRIGHT=ORDNANCE SURVEY CROWN COPYRIGHT 2009
  TIFFTAG_XRESOLUTION=254
  TIFFTAG_YRESOLUTION=254
  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
  AREA_OR_POINT=Area
Image Structure Metadata:
  COMPRESSION=LZW
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 360000.000, 480000.000) ( 2d36'48.38"W, 54d12'50.42"N)
Lower Left ( 360000.000, 460000.000) ( 2d36'38.84"W, 54d 2'3.28"N)
Upper Right ( 380000.000, 480000.000) ( 2d18'24.22"W, 54d12'54.63"N)
Lower Right ( 380000.000, 460000.000) ( 2d18'19.45"W, 54d 2'7.47"N)
Center ( 370000.000, 470000.000) ( 2d27'32.72"W, 54d 7'29.30"N)
Band 1 Block=256x256 Type=Byte, ColorInterp=Palette

...and then the colour table.

Thanks for the help - I really appreciate it.

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

For me both gdalinfo reports look the same except the coordinates. Pity.
That tiff works with the WMS request does not guarantee that it returns with the GetMap that is sent by GWC. Because of that it would be good to capture just the failing request with all the parameters and especially BBOX. Perhaps WMS or JAI does not like to draw some adjacent granules together. That was why I asked to send the gdalinfo reports but they did not reveal anything.

I do not understand much about the error message but perhaps the real error happens somewhere here
Caused by: java.lang.RuntimeException: - Unable to render RenderedOp for this operation.
        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:827)
        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)

You can do a desperate trial by re-writing the failing image with GDAL
gdal_translate -of GTIFF -co tiled=yes -co compress=LZW failing.tif new_copy.tif and change the new image into the mosaic directory.

-Jukka Rahkonen-

________________________________________
Tom Chadwin wrote:

GDALinfo output below. As I say, though, the TIFF which will not cache will
be returned when requested by WMS.

Bad Tiff:

Driver: GTiff/GeoTIFF
Files: g:\data_dir\data\os\50k\sd86.tif
Size is 4000, 4000
Coordinate System is:
PROJCS["OSGB 1936 / British National Grid",
    GEOGCS["OSGB 1936",
        DATUM["OSGB_1936",
            SPHEROID["Airy 1830",6377563.396,299.3249646000044,
                AUTHORITY["EPSG","7001"]],
            AUTHORITY["EPSG","6277"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4277"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",49],
    PARAMETER["central_meridian",-2],
    PARAMETER["scale_factor",0.9996012717],
    PARAMETER["false_easting",400000],
    PARAMETER["false_northing",-100000],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AUTHORITY["EPSG","27700"]]
Origin = (380000.000000000000000,480000.000000000000000)
Pixel Size = (5.000000000000000,-5.000000000000000)
Metadata:
  TIFFTAG_IMAGEDESCRIPTION=1:50000 TILE SD86
  TIFFTAG_DATETIME=2011:01:18 16:23:57
  TIFFTAG_COPYRIGHT=ORDNANCE SURVEY CROWN COPYRIGHT 2009
  TIFFTAG_XRESOLUTION=254
  TIFFTAG_YRESOLUTION=254
  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
  AREA_OR_POINT=Area
Image Structure Metadata:
  COMPRESSION=LZW
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 380000.000, 480000.000) ( 2d18'24.22"W, 54d12'54.63"N)
Lower Left ( 380000.000, 460000.000) ( 2d18'19.45"W, 54d 2'7.47"N)
Upper Right ( 400000.000, 480000.000) ( 2d 0'0.00"W, 54d12'56.04"N)
Lower Right ( 400000.000, 460000.000) ( 2d 0'0.00"W, 54d 2'8.86"N)
Center ( 390000.000, 470000.000) ( 2d 9'10.92"W, 54d 7'32.10"N)
Band 1 Block=256x256 Type=Byte, ColorInterp=Palette

...and then the colour table.

Good TIFF:

Driver: GTiff/GeoTIFF
Files: g:\data_dir\data\os\50k\sd66.tif
Size is 4000, 4000
Coordinate System is:
PROJCS["OSGB 1936 / British National Grid",
    GEOGCS["OSGB 1936",
        DATUM["OSGB_1936",
            SPHEROID["Airy 1830",6377563.396,299.3249646000044,
                AUTHORITY["EPSG","7001"]],
            AUTHORITY["EPSG","6277"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4277"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",49],
    PARAMETER["central_meridian",-2],
    PARAMETER["scale_factor",0.9996012717],
    PARAMETER["false_easting",400000],
    PARAMETER["false_northing",-100000],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AUTHORITY["EPSG","27700"]]
Origin = (360000.000000000000000,480000.000000000000000)
Pixel Size = (5.000000000000000,-5.000000000000000)
Metadata:
  TIFFTAG_IMAGEDESCRIPTION=1:50000 TILE SD66
  TIFFTAG_DATETIME=2011:01:18 16:23:41
  TIFFTAG_COPYRIGHT=ORDNANCE SURVEY CROWN COPYRIGHT 2009
  TIFFTAG_XRESOLUTION=254
  TIFFTAG_YRESOLUTION=254
  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
  AREA_OR_POINT=Area
Image Structure Metadata:
  COMPRESSION=LZW
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 360000.000, 480000.000) ( 2d36'48.38"W, 54d12'50.42"N)
Lower Left ( 360000.000, 460000.000) ( 2d36'38.84"W, 54d 2'3.28"N)
Upper Right ( 380000.000, 480000.000) ( 2d18'24.22"W, 54d12'54.63"N)
Lower Right ( 380000.000, 460000.000) ( 2d18'19.45"W, 54d 2'7.47"N)
Center ( 370000.000, 470000.000) ( 2d27'32.72"W, 54d 7'29.30"N)
Band 1 Block=256x256 Type=Byte, ColorInterp=Palette

...and then the colour table.

Thanks for the help - I really appreciate it.

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-rendering-coverage-on-the-fast-path-tp5138864p5139059.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

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.

On Thu, May 8, 2014 at 2:17 PM, Tom Chadwin <tom.chadwin@anonymised.com> wrote:

Caused by: java.lang.IllegalArgumentException: All source images must have
the same number of bands.

Ah! It seems you have images in your mosaic that are not sharing the same
number of bands? That is indeed not supported, the images have to be uniform
at least for the color model (e..g, you cannot mix gray and rgb, byte and
float
based, and so on).

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

Ah! It seems you have images in your mosaic that are not sharing the same

number of bands? That is indeed not supported, the images have to be uniform
at least for the color model (e..g, you cannot mix gray and rgb, byte and
float based, and so on).

I've just done a diff on the good and bad TIFFs' GDALinfo as above, this
time including the colour table info. No difference in number of entries in
colour table (256), type (byte), ColorInterp (palette), or even in the
contents of each of those 256 entries.

I'll do the same on the other adjacent TIFFs, assuming that those are the
ones likely to be involved in this process if I do limit the BBOX to the
problematic TIFF? Or can this error be thrown if a distant TIFF in the same
mosaic, nowhere near the GWV seed BBOX, differs in the way suggested?

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

I'll do the same on the other adjacent TIFFs

I've now compared gdalinfo output of the TIFF in question with all of its
eight surrounding TIFFs. The band/colour table information is identical:

Band 1 Block=256x256 Type=Byte, ColorInterp=Palette
  Color Table (RGB with 256 entries)

All 256 colour table entries are also identical in all nine files.

Where should I look now?

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

You may need to increase the number of tiles surrounding the one to check for inconsistencies. The default meta-tiling value if 4 X 4. If you can run a small script that runs gdalinfo on each file and grep out the bands, you may find something that way.

Example we used for some information processing (adjust as required):

for i in $(find . -name "*.sid"); do var=`echo $i ;gdalinfo $i | grep -i "band.*Gray"`; echo $var | grep "Band 1";done;

Chris Snider
Senior Software Engineer
Intelligent Software Solutions, Inc.
Direct (719) 452-7257

-----Original Message-----
From: Tom Chadwin [mailto:tom.chadwin@anonymised.com]
Sent: Thursday, May 08, 2014 7:12 AM
To: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] GWC seeding: Error rendering coverage on the fast path

I'll do the same on the other adjacent TIFFs

I've now compared gdalinfo output of the TIFF in question with all of its eight surrounding TIFFs. The band/colour table information is identical:

Band 1 Block=256x256 Type=Byte, ColorInterp=Palette
  Color Table (RGB with 256 entries)

All 256 colour table entries are also identical in all nine files.

Where should I look now?

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-rendering-coverage-on-the-fast-path-tp5138864p5139239.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

run a small script that runs gdalinfo on each file and grep out the bands

Thanks for the example. I've run it on our full coverage (UK nationwide, 816
TIFFs), and they all come out with identical info.

Where to look next? I'm about to try setting ExpandToRGB=true in the
mosaic's .properties file.

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

ExpandToRGB=true in the mosaic's .properties file.

No change in behaviour - same errors.

I am getting pretty baffled by this. Anyone have any other ideas?

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

Tom,

Did you mod my example at all or did you leave it to grep out the band gray and Band 1?

Also, can you check your mosaic in standard Layer preview with the single large tile? Additionally, instead of seeding, can you use the drop down under the Preview column of the "Tile Layers" screen and choose one of the jpeg options? Do either of these methods work and display your completed image?

Chris Snider
Senior Software Engineer
Intelligent Software Solutions, Inc.

-----Original Message-----
From: Tom Chadwin [mailto:tom.chadwin@anonymised.com]
Sent: Thursday, May 08, 2014 8:13 AM
To: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] GWC seeding: Error rendering coverage on the fast path

run a small script that runs gdalinfo on each file and grep out the
bands

Thanks for the example. I've run it on our full coverage (UK nationwide, 816 TIFFs), and they all come out with identical info.

Where to look next? I'm about to try setting ExpandToRGB=true in the mosaic's .properties file.

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-rendering-coverage-on-the-fast-path-tp5138864p5139250.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

Did you mod my example at all or did you leave it to grep out the band

gray and Band 1?

No, I did:

for i in $(find . -name "*.tif"); do var=`echo $i ;gdalinfo $i | grep -i
"colorInterp"`; echo $var;done;

Also, can you check your mosaic in standard Layer preview with the single
large tile?

OK, I _can_ see the big tile in OpenLayers layer preview. I'm sure this
failed before, but let's forget that for the mo.

Additionally, instead of seeding, can you use the drop down under the
Preview column of the "Tile Layers" screen and choose one of the jpeg
options? Do either of these methods work and display your completed
image?

I only have PNG8, as I unchecked the other options. When I choose this, I
have a 4x4 block of broken tiles. Could the error be something to do with
bands in the output tiles, rather than the input TIFFs? I'll gdalinfo them
and see.

So now I look at it closely, I see something new: this tile gap does not
correspond with a single source TIFF, but overlaps (presumably) four of
them. What this means I do not know.

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

I only have PNG8, as I unchecked the other options. When I choose this, I

have a 4x4 block of broken tiles. Could the error be something to do with
bands in the output tiles, rather than the input TIFFs? I'll gdalinfo them
and see.

Except I don't know how to identify which GWC tiles those are to check. And
the PNG8s probably don't exist anyway. The browser returns 400 Bad request
for them.

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