Problems with Apply-Orbit in SNAP 6 gpt

Dear developers,

I am having troubles with my command line routines in SNAP 6 using the gpt. I am running SNAP on a 16.04 Ubuntu with 16GB ram and 4 CPUs. I tried with various scenes and it works in the GUI, but fails when using the-Apply-Orbit-File as operator or within a xml graph file.

The command I am running:
bash $SNAP_EXE Apply-Orbit-File -t test RAW/S1A_IW_GRDH_1SSV_20160111T161335_20160111T161402_009449_00DB28_B96F.zip
where $SNAP_EXE links to the gpt.

And this is the output. NOTE that the first part is always appearing when launching gpt under my configuration and is strange as well. It is the last paragraph containing the error on DownloadableContent that appears by calling Apply-Orbit-File.

SEVERE: org.esa.s2tbx.dataio.gdal.activator.GDALDistributionInstaller: The environment variable LD_LIBRARY_PATH is not set. It must contain the current folder ‘.’.
WARNING: org.esa.snap.SnapCoreActivator: org.esa.snap.core.gpf.OperatorSpi: Provider org.esa.s1tbx.sar.gpf.geometric.MosaicOp$Spi could not be instantiated
java.lang.NoClassDefFoundError: Lorg/esa/snap/engine_utilities/gpf/OperatorUtils$SceneProperties;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.getDeclaredFields(Class.java:1916)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotationsRec(AnnotationOperatorDescriptorBody.java:78)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotations(AnnotationOperatorDescriptorBody.java:68)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.(AnnotationOperatorDescriptorBody.java:34)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptor.(AnnotationOperatorDescriptor.java:20)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:115)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:99)
at org.esa.s1tbx.sar.gpf.geometric.MosaicOp$Spi.(MosaicOp.java:1083)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.esa.snap.SnapCoreActivator.loadServices(SnapCoreActivator.java:60)
at org.esa.snap.core.gpf.internal.OperatorSpiRegistryImpl.loadOperatorSpis(OperatorSpiRegistryImpl.java:77)
at org.esa.snap.core.gpf.GPF.(GPF.java:97)
at org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterActivator.start(ToolAdapterActivator.java:29)
at org.esa.snap.runtime.Engine.informActivators(Engine.java:222)
at org.esa.snap.runtime.Engine.lambda$start$10(Engine.java:121)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Engine.start(Engine.java:121)
at org.esa.snap.runtime.Engine.start(Engine.java:90)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Caused by: java.lang.ClassNotFoundException: org.esa.snap.engine_utilities.gpf.OperatorUtils$SceneProperties
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 35 more

INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
WARNING: org.esa.snap.SnapCoreActivator: org.esa.snap.core.gpf.OperatorSpi: Provider org.esa.s1tbx.sar.gpf.geometric.MosaicOp$Spi could not be instantiated
java.lang.NoClassDefFoundError: Lorg/esa/snap/engine_utilities/gpf/OperatorUtils$SceneProperties;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.getDeclaredFields(Class.java:1916)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotationsRec(AnnotationOperatorDescriptorBody.java:78)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotations(AnnotationOperatorDescriptorBody.java:68)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.(AnnotationOperatorDescriptorBody.java:34)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptor.(AnnotationOperatorDescriptor.java:20)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:115)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:99)
at org.esa.s1tbx.sar.gpf.geometric.MosaicOp$Spi.(MosaicOp.java:1083)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.esa.snap.SnapCoreActivator.loadServices(SnapCoreActivator.java:60)
at org.esa.snap.core.gpf.internal.OperatorSpiRegistryImpl.loadOperatorSpis(OperatorSpiRegistryImpl.java:77)
at org.esa.snap.core.gpf.annotations.ParameterDescriptorFactory.getOpSpi(ParameterDescriptorFactory.java:259)
at org.esa.snap.core.gpf.annotations.ParameterDescriptorFactory.createMapBackedOperatorPropertyContainer(ParameterDescriptorFactory.java:67)
at org.esa.snap.core.gpf.main.CommandLineTool.convertParameterMap(CommandLineTool.java:400)
at org.esa.snap.core.gpf.main.CommandLineTool.runOperator(CommandLineTool.java:296)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:284)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:188)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:121)
at org.esa.snap.core.gpf.main.GPT.run(GPT.java:54)
at org.esa.snap.core.gpf.main.GPT.main(GPT.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.esa.snap.runtime.Launcher.lambda$run$14(Launcher.java:55)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Caused by: java.lang.ClassNotFoundException: org.esa.snap.engine_utilities.gpf.OperatorUtils$SceneProperties
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 43 more

org/esa/snap/engine_utilities/download/downloadablecontent/DownloadableContentImpl due to org.esa.snap.engine_utilities.download.downloadablecontent.DownloadableContentImpl
org.esa.snap.core.gpf.OperatorException: org/esa/snap/engine_utilities/download/downloadablecontent/DownloadableContentImpl due to org.esa.snap.engine_utilities.download.downloadablecontent.DownloadableContentImpl
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:421)
at org.esa.s1tbx.sar.gpf.orbits.ApplyOrbitFileOp.initialize(ApplyOrbitFileOp.java:219)
at org.esa.snap.core.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:486)
at org.esa.snap.core.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:273)
at org.esa.snap.core.gpf.Operator.getTargetProduct(Operator.java:387)
at org.esa.snap.core.gpf.main.CommandLineTool.runOperator(CommandLineTool.java:306)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:284)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:188)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:121)
at org.esa.snap.core.gpf.main.GPT.run(GPT.java:54)
at org.esa.snap.core.gpf.main.GPT.main(GPT.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.esa.snap.runtime.Launcher.lambda$run$14(Launcher.java:55)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)

Error: org/esa/snap/engine_utilities/download/downloadablecontent/DownloadableContentImpl due to org.esa.snap.engine_utilities.download.downloadablecontent.DownloadableContentImpl

Thanks in advance,
Andreas

Hello again,
Is there anybody experiencing the same problem? And is this monitored by the SNAP developers team?
Thank you,
Andreas

I wonder if this can be related to the operating-system…? Is anyone else experiencing the same issue?

I’ll try on a clean install of Ubuntu 16.04. Something I haven’t done so far.

GDAL and Unixlauncher are mentioned in the stack trace… @obarrilero @marpet could you have a look?

@AVollrath, what version of SNAP are you using? By the log, it seems that your GPT is not able to find the class OperatorUtils$SceneProperties. By looking in the git history, I have seen that the class was moved from the mosaic operator to a generic package to be accesible for other operators. This change is applied in version 6 but not in version 5, so perhaps your installation is not proper and it is mixing versions 5 and 6.
Please, could you try to completelly uninstall SNAP and re-install version 6 from scratch? Perhaps that solves your issue.

1 Like

@obarrilero Thanks for your suggestion, and it seems working for now. It is however important for me to understand this issue since we are using snap in an operational environment on AWS and I fear this issue could create us problems there.

So I used the uninstall script (which I actually did also before). In addition to my last attempt I completely deleted the .snap folder in the home directory as well, in order to make sure everything related to snap 5 is removed. When I ran the installer, it nevertheless detected that I had an older version installed. This time I went for the option to delete everything, not just the internal data. I wonder if the data stored in the home folder could have triggered this issue mentioned by you, which would be a problem for us. Otherwise, where else than the installation directory is snap related data installed, so that the installer find even after uninstalling that an older version had been there?

Thanks for your support!
Andreas