NullPointerException/EOFException for large scenes

I’m experiencing difficulty processing some Sentinel 1 scenes, by gpt or even by SNAP GUI, currently using snap 5.0.4 on Linux. The problems seem to mainly affect those scenes which will have the largest extents (at least, after reprojecting), and many other scenes work fine. Example problem files:

S1A_IW_GRDH_1SDV_20161105T194354_20161105T194423_013811_016321_6201
S1A_IW_GRDH_1SDV_20170128T194350_20170128T194419_015036_01890E_92ED
S1A_IW_GRDH_1SDV_20170410T194351_20170410T194420_016086_01A8F5_2710

In gpt, this tends to output rasters which cut off incomplete. In the GUI, I found that even simply the apply orbit file operator produced the following error details:

java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:438)
at javax.imageio.stream.FileCacheImageInputStream.read(FileCacheImageInputStream.java:193)
at it.geosolutions.imageioimpl.plugins.tiff.TIFFNullDecompressor.decodeRaw(TIFFNullDecompressor.java:220)
at it.geosolutions.imageio.plugins.tiff.TIFFDecompressor.decodeRaw(TIFFDecompressor.java:2048)
at it.geosolutions.imageio.plugins.tiff.TIFFDecompressor.decode(TIFFDecompressor.java:2644)
at it.geosolutions.imageioimpl.plugins.tiff.TIFFNullDecompressor.decode(TIFFNullDecompressor.java:174)
at it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReader.decodeTile(TIFFImageReader.java:1505)
at it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1806)
at it.geosolutions.imageioimpl.plugins.tiff.TIFFRenderedImage.read(TIFFRenderedImage.java:300)
Caused: java.lang.RuntimeException
at it.geosolutions.imageioimpl.plugins.tiff.TIFFRenderedImage.read(TIFFRenderedImage.java:307)
at it.geosolutions.imageioimpl.plugins.tiff.TIFFRenderedImage.getData(TIFFRenderedImage.java:284)
at org.esa.s1tbx.io.imageio.ImageIOFile.getData(ImageIOFile.java:316)
at org.esa.s1tbx.io.imageio.ImageIOFile.readImageIORasterBand(ImageIOFile.java:267)
at org.esa.s1tbx.io.sentinel1.Sentinel1ProductReader.readBandRasterDataImpl(Sentinel1ProductReader.java:158)
at org.esa.snap.core.dataio.AbstractProductReader.readBandRasterData(AbstractProductReader.java:250)
at org.esa.snap.core.image.BandOpImage.computeProductData(BandOpImage.java:56)
at org.esa.snap.core.image.RasterDataNodeOpImage.computeRect(RasterDataNodeOpImage.java:127)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
Caused: org.esa.snap.core.gpf.OperatorException: java.io.EOFException
at org.esa.snap.core.gpf.internal.OperatorExecutor$GPFImagingListener.errorOccurred(OperatorExecutor.java:376)
at com.sun.media.jai.util.SunTileScheduler.sendExceptionToListener(SunTileScheduler.java:1646)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:921)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleInt(PlanarImage.java:3153)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2178)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
[catch] at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)

The messages log also mentions:

SEVERE [global]
java.lang.UnsupportedOperationException: PERPIXEL_TRANSLUCENT translucency is not supported

I’ve also seen javax.imageio.IIIOException occasionally. Sometimes I find that simply trying to open these SAFE .zip files in the GUI fails with a NullPointerException dialog box.

SEVERE [global]
java.lang.UnsupportedOperationException: PERPIXEL_TRANSLUCENT translucency is not supported
at java.awt.Window.setBackground(Window.java:3842)
at org.openide.explorer.view.CustomPopupFactory.disableShadow(CustomPopupFactory.java:254)
at org.openide.explorer.view.CustomPopupFactory.access$000(CustomPopupFactory.java:74)
at org.openide.explorer.view.CustomPopupFactory$HWPopup.prepareResources(CustomPopupFactory.java:234)
at org.openide.explorer.view.CustomPopupFactory$OurPopup.show(CustomPopupFactory.java:124)
at org.openide.explorer.view.ViewTooltips.showPopups(ViewTooltips.java:388)
at org.openide.explorer.view.ViewTooltips.showJTree(ViewTooltips.java:265)
at org.openide.explorer.view.ViewTooltips.show(ViewTooltips.java:193)
at org.openide.explorer.view.ViewTooltips.mouseMoved(ViewTooltips.java:167)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:330)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:329)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:329)
at java.awt.Component.processMouseMotionEvent(Component.java:6578)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3342)
at java.awt.Component.processEvent(Component.java:6302)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4538)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
SEVERE [null]: Last record repeated again.
SEVERE [org.esa.snap]: S1A_IW_GRDH_1SDV_20170410T194351_20170410T194420_016086_01A8F5_2710.SAFE/measurement/s1a-iw-grd-vh-20170410t194351-20170410t194420-016086-01a8f5-002.tiff not found
SEVERE [org.esa.snap]: S1A_IW_GRDH_1SDV_20170410T194351_20170410T194420_016086_01A8F5_2710.SAFE/measurement/s1a-iw-grd-vv-20170410t194351-20170410t194420-016086-01a8f5-001.tiff not found
org.esa.s1tbx.io.sentinel1.Sentinel1ProductReader
[input=/g/data/fj7/Copernicus/Sentinel-1/C-SAR/GRD/2017/2017-04/15S145E-20S150E/S1A_IW_GRDH_1SDV_20170410T194351_20170410T194420_016086_01A8F5_2710.zip]:
java.lang.NullPointerException

Other files (e.g. S1A_IW_GRDH_1SDV_20150311T084343_20150311T084407_004981_0063CA_D31D) appear to work fine. In the GUI the exact nature of the errors seems unpredictable (whereas it is probably more consistent in gpt), but overall, which files succeed and which files fail does seem repeatable.

The problem remains in SNAP 5.0.5, but the message (included below) is a bit different. Any suggestions how to fix this?

Executing processing graph
....10%....20%....30%....40%...java.lang.NullPointerException
	at com.sun.media.jai.util.SunCachedTile.(SunCachedTile.java:80)
	at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
	at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
	at javax.media.jai.OpImage.getTile(OpImage.java:1142)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.calibration.gpf.calibrators.Sentinel1Calibrator.computeTile(Sentinel1Calibrator.java:532)
	at org.esa.s1tbx.calibration.gpf.CalibrationOp.computeTile(CalibrationOp.java:188)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:80)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.outputNormalizedImageGamma0(TerrainFlatteningOp.java:828)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:472)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
	at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
java.lang.NullPointerException
	at com.sun.media.jai.util.SunCachedTile.(SunCachedTile.java:80)
	at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
	at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
	at javax.media.jai.OpImage.getTile(OpImage.java:1142)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.calibration.gpf.calibrators.Sentinel1Calibrator.computeTile(Sentinel1Calibrator.java:532)
	at org.esa.s1tbx.calibration.gpf.CalibrationOp.computeTile(CalibrationOp.java:188)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:80)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.outputNormalizedImageGamma0(TerrainFlatteningOp.java:828)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:472)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
	at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
java.lang.NullPointerException
	at com.sun.media.jai.util.SunCachedTile.(SunCachedTile.java:80)
	at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
	at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
	at javax.media.jai.OpImage.getTile(OpImage.java:1142)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.calibration.gpf.calibrators.Sentinel1Calibrator.computeTile(Sentinel1Calibrator.java:532)
	at org.esa.s1tbx.calibration.gpf.CalibrationOp.computeTile(CalibrationOp.java:188)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:80)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.outputNormalizedImageGamma0(TerrainFlatteningOp.java:828)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:472)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
	at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
java.lang.NullPointerException
	at com.sun.media.jai.util.SunCachedTile.(SunCachedTile.java:80)
	at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
	at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
	at javax.media.jai.OpImage.getTile(OpImage.java:1142)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.calibration.gpf.calibrators.Sentinel1Calibrator.computeTile(Sentinel1Calibrator.java:532)
	at org.esa.s1tbx.calibration.gpf.CalibrationOp.computeTile(CalibrationOp.java:188)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:80)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.outputNormalizedImageGamma0(TerrainFlatteningOp.java:828)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:472)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
	at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
java.lang.NullPointerException
	at com.sun.media.jai.util.SunCachedTile.(SunCachedTile.java:80)
	at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
	at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
	at javax.media.jai.OpImage.getTile(OpImage.java:1142)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.calibration.gpf.calibrators.Sentinel1Calibrator.computeTile(Sentinel1Calibrator.java:532)
	at org.esa.s1tbx.calibration.gpf.CalibrationOp.computeTile(CalibrationOp.java:188)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:80)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.outputNormalizedImageGamma0(TerrainFlatteningOp.java:828)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:472)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
	at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
90% done.
org.esa.snap.core.gpf.OperatorException: java.io.EOFException
	at org.esa.snap.core.gpf.graph.GraphProcessor$GPFImagingListener.errorOccurred(GraphProcessor.java:373)
	at com.sun.media.jai.util.SunTileScheduler.sendExceptionToListener(SunTileScheduler.java:1646)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:921)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.calibration.gpf.RemoveGRDBorderNoiseOp.computeTileStack(RemoveGRDBorderNoiseOp.java:447)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.calibration.gpf.calibrators.Sentinel1Calibrator.computeTile(Sentinel1Calibrator.java:532)
	at org.esa.s1tbx.calibration.gpf.CalibrationOp.computeTile(CalibrationOp.java:188)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:80)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:461)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.outputNormalizedImageGamma0(TerrainFlatteningOp.java:828)
	at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:472)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
	at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
	at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
	at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	at javax.media.jai.OpImage.getTile(OpImage.java:1129)
	at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
	at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
Caused by: java.lang.RuntimeException: java.io.EOFException
	at it.geosolutions.imageioimpl.plugins.tiff.TIFFRenderedImage.read(TIFFRenderedImage.java:307)
	at it.geosolutions.imageioimpl.plugins.tiff.TIFFRenderedImage.getData(TIFFRenderedImage.java:284)
	at org.esa.s1tbx.io.imageio.ImageIOFile.getData(ImageIOFile.java:316)
	at org.esa.s1tbx.io.imageio.ImageIOFile.readImageIORasterBand(ImageIOFile.java:267)
	at org.esa.s1tbx.io.sentinel1.Sentinel1ProductReader.readBandRasterDataImpl(Sentinel1ProductReader.java:158)
	at org.esa.snap.core.dataio.AbstractProductReader.readBandRasterData(AbstractProductReader.java:250)
	at org.esa.snap.core.gpf.common.ReadOp.computeTile(ReadOp.java:140)
	at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:80)
	at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
	at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
	... 43 more
Caused by: java.io.EOFException
	at java.io.RandomAccessFile.readFully(RandomAccessFile.java:438)
	at javax.imageio.stream.FileCacheImageInputStream.read(FileCacheImageInputStream.java:193)
	at it.geosolutions.imageioimpl.plugins.tiff.TIFFNullDecompressor.decodeRaw(TIFFNullDecompressor.java:220)
	at it.geosolutions.imageio.plugins.tiff.TIFFDecompressor.decodeRaw(TIFFDecompressor.java:2048)
	at it.geosolutions.imageio.plugins.tiff.TIFFDecompressor.decode(TIFFDecompressor.java:2644)
	at it.geosolutions.imageioimpl.plugins.tiff.TIFFNullDecompressor.decode(TIFFNullDecompressor.java:174)
	at it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReader.decodeTile(TIFFImageReader.java:1505)
	at it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1806)
	at it.geosolutions.imageioimpl.plugins.tiff.TIFFRenderedImage.read(TIFFRenderedImage.java:300)
	... 52 more

Error: java.io.EOFException

I tried running

strace -ftx -e file,desc -s 256 -o strace.log …

on gpt, then grepped strace.log for EDQUOT, then grepped for “open” in conjunction with a matching file number.

This revealed that gpt is writing temporary files to

~/.snap/var/cache/temp/

Although these files are automatically deleted when gpt finishes, they were moderately large files (of order gigabyte), and appear to be temporarily exceeding disk quota limits for my home directory.

If I can configure SNAP to write its temporary data somewhere more appropriate, then I’ll be able to test whether this was the root cause of the problem…

Turns out this is the cache path (in the SNAP performance options), and by configuring it to a location with ample disk quota, the problem is fixed.

In hindsight, relevant indicators were:

  • the failures tended to be scenes with biggest extents, specifically those with biggest bounding rectangles in the Plate Carree projection rather than simply those with the most data. (This is very suggestive of a memory constraint related issue.)
  • about a quarter of the original failures included some form of “Disk quota exceeded” message (usually and strangely associated a java.io.FileNotFoundException, or occassionally with just a java.io.IOException, and which I had initially dismissed as a random consequence of overflowed pointers).
  • many of the stack traces referred to java Tile Cache, which arguably (perhaps depending on java development experience) hints toward the Performance Data Cache (that can be found in documentation and options).

It would be great if SNAP/gpt had caught the Exceeded Disk Quota Error, and given me a sensible message explaining exactly which file was experiencing quota issues (at minimum), and ideally also suggesting how to reconfigure the cache location or size. Maybe in a future version? (Or default the unix version to storing temporary files in a system temp directory instead of in user home directories?)

I got this error please help.
Input products are splited.

I see DataBuffers is a popular topic! I’m having real trouble coregistering a stripmap pair of ALOS-2 PALSAR-2 FBD SLC (L1.1). I get the DataBuffers message every time. I have 16Gb of RAM. I started with the default setting and directories, but since then I’ve tried multiple things and I’m now using -Xmx11904m, cache size to 8192 and set my cache directory to somewhere with lots of filespace. I am using FileCache to save memory. The way I see it I’m either doing something wrong, these is something wrong with the data, or 16Gb just isn’t enough for a simple pair of stripmap SLCs and I need to upgrade to 32Gb?!

Any help is appreciated!

Here is my log file:

messages.log (83.2 KB)