S1 command line: GC overhead limit exceeded

Hey Guys,
I searched and I found a lot of stuff for Interferometry etc. but I did not find topics about my processing that lead to the GC overhead limit exceeded error.

This is the graph I am using with the following command in my command prompt:
gpt GRD_Test.xml -PFilename=“G:\GRD_TEst\S1A_IW_GRDH_1SDV_20181106T053109_20181106T053134_024463_02AE88_594B.zip” -t “G:\GRD_TEst\test1” -f ‘BEAM-DIMAP’

GRD_Test.xml (4.8 KB)

As I stated in the title, I get a GC overhead limit exceeded Error.

Here is a screenshot of my laptop’s specs:

I am currently trying to run it on SNAP Desktop to see if something about my graph is wrong. But I need to run it on the command line eventually.
Edit: I got a Java Heap Space error when doing it in SNAP Desktop.

I have two questions:
(1) Are there any internal specs besides the cache size that I can change? I have different graphic cards which could be used (but I read that this is not possible, the post was old)
(2) Could I maneuver around this by splitting the graph? If I use two sub-graphs I might still be able to do it in a good way.

Thanks,
Felix

I thin there is no problem with your machine, but the only thing causes the problem is, the TC. you could skip it, from your graph and implement it later on, and then apply the BandMath.

So you would do all steps without until Speckle-Filtering in one graph and do TC and Band-Maths in a second graph?

Actually you could give a trail (let me know if it works), but I think it gives error as well, therefore, I meant to separate TC and then BandMath.

If I just do the steps from Read -> Speckle-Filter, I still get the GC overhead limit.

Would you please to try up this graph, graph.xml (3.3 KB)

Simply call it in this way after navigating to the folder where it’s located,

gpt graph.xml

Hopefully it works for you.

I had to change some things in your graph due to other folders/filenames but still get the error. will try working with another data to check if this data is somehow corrupted/bad. (Other data does not work as well).

(base) G:\GRD_TEst>gpt graph.xml
INFO: org.esa.snap.python.gpf.PyOperatorSpi: Python operator ‘py_sambuca_snap_op’ registered (Python module: ‘sambuca_snap_op’, class: ‘sambuca_snap_op’, root: ‘C:\Users\Felix\AppData\Roaming\SNAP\modules\org-esa-sen2coral-sen2coral-inversion.jar’)
INFO: org.esa.snap.python.gpf.PyOperatorSpi: Python operator ‘S2RutOp’ registered (Python module: ‘s2_rut’, class: ‘S2RutOp’, root: ‘C:\Users\Felix\AppData\Roaming\SNAP\modules\org-esa-snap-snap-rut.jar’)
INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.snap.core.util.EngineVersionCheckActivator: Please check regularly for new updates for the best SNAP experience.
Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
…10%…20%…30%…40%…GC overhead limit exceeded
GC overhead limit exceeded
90% done.
org.esa.snap.core.gpf.OperatorException: GC overhead limit exceeded
at org.esa.snap.core.gpf.graph.GraphProcessor$GPFImagingListener.errorOccurred(GraphProcessor.java:363)
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.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: org.esa.snap.core.gpf.OperatorException: GC overhead limit exceeded
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:415)
at org.esa.s1tbx.sar.gpf.filtering.SpeckleFilterOp.computeTile(SpeckleFilterOp.java:293)
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)
… 11 more
Caused by: org.esa.snap.core.gpf.OperatorException: GC overhead limit exceeded
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:415)
at org.esa.s1tbx.sar.gpf.filtering.SpeckleFilters.LeeSigma.computeTile(LeeSigma.java:362)
at org.esa.s1tbx.sar.gpf.filtering.SpeckleFilterOp.computeTile(SpeckleFilterOp.java:291)
… 14 more
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at org.esa.s1tbx.sar.gpf.filtering.SpeckleFilters.LeeSigma.getValidPixels(LeeSigma.java:559)
at org.esa.s1tbx.sar.gpf.filtering.SpeckleFilters.LeeSigma.performFiltering(LeeSigma.java:463)
at org.esa.s1tbx.sar.gpf.filtering.SpeckleFilters.LeeSigma.computeTile(LeeSigma.java:349)
… 15 more

Error: GC overhead limit exceeded

this works fine to me, but I think the problem is here, you’re calling from the “base” python (conda) repository, that’s why it gives error,

Even when I am running it from command line and not anaconda prompt i get the same error for your graph with my Scene :frowning:

@lveci @marpet @ABraun Some of you guys have an idea? I noticed you helped most people in this forum alongside @falahfakhri

would you please to share the identifier name of the image, I could run for you.

S1A_IW_GRDH_1SDV_20181106T053109_20181106T053134_024463_02AE88_594B.zip

This is the name of the file, but it didnt work with another file as well.

Here you go, I processed it with the graph.xml I provided it to you before, and I only selected one pol. to get processed quickly,

Have you tweaked the JVM parameters under options? You are running out of heap space on the Java JVM.

Dear @mengdahl,
I did not change anything in the settings (at least nothing I know of). I will have a look and share my settings (:
Where can I find those Settings?

Nice to see it works on your drive! But as it is not working on mine this is not really helping me :frowning:

They are under Options/Performance. Click Compute to estimate good parameter values for your system and press OK to apply. Restart SNAP. If I’m not mistaken Admin-privileges are needed to change the parameters.

@mengdahl: I changed the settings as proposed/let the compute-button change them and it worked this time! Hopefully it will work for the other images as well. Thank you for the help!

Would adding -x help me in saving cache/memory? Especially on a machine with less computing power than my laptop?
I found the possibility in the settings but do not know if this is really helpful :slight_smile:

Dear @mengdahl,
As I am trying to set this up on the machine of a college of mine, would the -x help me? I am still unsure and it did not seem to change things on my laptop, but I did not run out of memory at all, so maybe there is no real difference?