Hello!
Context:
- the graph is ok, it runs on SNAP desktop
- the inputs are ok
What are the root causes of the exception:
JAI error occurred: 'Problem occurs when computing a tile by the owner.
?
The complete stack trace is:
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@424ede6c org.esa.snap.core.gpf.OperatorException: java.lang.NullPointerException at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432) at org.esa.s1tbx.sar.gpf.geometric.RangeDopplerGeocodingOp.computeTileStack(RangeDopplerGeocodingOp.java:1104) at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122) at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86) 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.cobbleFloat(PlanarImage.java:3254) at javax.media.jai.PlanarImage.getData(PlanarImage.java:2181) at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64) at org.esa.snap.core.datamodel.Band.readRasterData(Band.java:309) at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataRegion(ProductSubsetBuilder.java:393) at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataImpl(ProductSubsetBuilder.java:330) at org.esa.snap.core.dataio.AbstractProductReader.readBandRasterData(AbstractProductReader.java:277) at org.esa.snap.core.gpf.common.SubsetOp.computeTile(SubsetOp.java:290) at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:82) 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:449) at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:435) at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116) at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86) 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.NullPointerException at org.esa.s1tbx.sar.gpf.geometric.RangeDopplerGeocodingOp.computeTileStack(RangeDopplerGeocodingOp.java:955) ... 26 more
And the graph is:
<graph> <version>1.0</version> <node id="read_calibration"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>$input_calibration</file> <formatName>BEAM-DIMAP</formatName> <copyMetadata>true</copyMetadata> </parameters> </node> <node id="read_coherence"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>$input_coherence</file> <formatName>BEAM-DIMAP</formatName> <copyMetadata>true</copyMetadata> </parameters> </node> <node id="band-merge"> <operator>BandMerge</operator> <sources> <sourceProduct refid="read_calibration"/> <sourceProduct.1 refid="read_coherence"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <sourceBands/> <geographicError>1.0E-5</geographicError> </parameters> </node> <node id="terrain-correction"> <operator>Terrain-Correction</operator> <sources> <sourceProduct refid="band-merge"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <sourceBands/> <demName>SRTM 3Sec</demName> <externalDEMFile/> <externalDEMNoDataValue>0.0</externalDEMNoDataValue> <externalDEMApplyEGM>true</externalDEMApplyEGM> <demResamplingMethod>BILINEAR_INTERPOLATION</demResamplingMethod> <imgResamplingMethod>BILINEAR_INTERPOLATION</imgResamplingMethod> <pixelSpacingInMeter>30.0</pixelSpacingInMeter> <pixelSpacingInDegree>2.6949458523585647E-4</pixelSpacingInDegree> <mapProjection>PROJCS["WGS 84 / Auto UTM", GEOGCS["WGS84(DD)", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["central_meridian", 3.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["scale_factor", 0.9996], PARAMETER["false_easting", 500000.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]]</mapProjection> <alignToStandardGrid>false</alignToStandardGrid> <standardGridOriginX>0.0</standardGridOriginX> <standardGridOriginY>0.0</standardGridOriginY> <nodataValueAtSea>true</nodataValueAtSea> <saveDEM>false</saveDEM> <saveLatLon>false</saveLatLon> <saveIncidenceAngleFromEllipsoid>false</saveIncidenceAngleFromEllipsoid> <saveLocalIncidenceAngle>false</saveLocalIncidenceAngle> <saveProjectedLocalIncidenceAngle>false</saveProjectedLocalIncidenceAngle> <saveSelectedSourceBand>true</saveSelectedSourceBand> <saveLayoverShadowMask>false</saveLayoverShadowMask> <outputComplex>false</outputComplex> <applyRadiometricNormalization>false</applyRadiometricNormalization> <saveSigmaNought>false</saveSigmaNought> <saveGammaNought>false</saveGammaNought> <saveBetaNought>false</saveBetaNought> <incidenceAngleForSigma0>Use projected local incidence angle from DEM</incidenceAngleForSigma0> <incidenceAngleForGamma0>Use projected local incidence angle from DEM</incidenceAngleForGamma0> <auxFile>Latest Auxiliary File</auxFile> <externalAuxFile/> </parameters> </node> <node id="subset"> <operator>Subset</operator> <sources> <sourceProduct refid="terrain-correction"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <sourceBands/> <region>0,0,0,0</region> <referenceBand/> <geoRegion>POLYGON ((13.847999572753906 42.349998474121094, 13.552000045776367 42.349998474121094, 13.552000045776367 41.930999755859375, 13.847999572753906 41.930999755859375, 13.847999572753906 42.349998474121094, 13.847999572753906 42.349998474121094))</geoRegion> <subSamplingX>1</subSamplingX> <subSamplingY>1</subSamplingY> <fullSwath>false</fullSwath> <tiePointGridNames/> <copyMetadata>true</copyMetadata> </parameters> </node> <node id="write"> <operator>Write</operator> <sources> <sourceProduct refid="subset"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <writeEntireTileRows>false</writeEntireTileRows> <file>coin.dim</file> <deleteOutputOnFailure>true</deleteOutputOnFailure> <formatName>BEAM-DIMAP</formatName> <clearCacheAfterRowWrite>false</clearCacheAfterRowWrite> </parameters> </node> <applicationData id="Presentation"> <Description/> <node id="read_calibration"> <displayPosition x="296.0" y="98.0"/> </node> <node id="read_coherence"> <displayPosition x="175.0" y="159.0"/> </node> <node id="band-merge"> <displayPosition x="497.0" y="126.0"/> </node> <node id="terrain-correction"> <displayPosition x="639.0" y="118.0"/> </node> <node id="subset"> <displayPosition x="857.0" y="127.0"/> </node> <node id="write"> <displayPosition x="1055.0" y="131.0"/> </node> </applicationData> </graph>
Any help is really appreciated, I’ve been looking at this for quite a while before getting here.