File error when filtering interferogram: 'Error: Device or resource busy'

I’m getting a error when trying to filter an interferogram (3 swaths, 14 bursts each) and I’m not sure if it’s an OS, SNAP, or file issue. I’m looking for some guidance to help narrow down the cause. The steps and screen outputs are below. I’m using gpt and xml graphs in a linux environment.

I’m not very familiar with Java, but my searching on ‘device or resource busy’ suggests that a file is locked somewhere but I can’t find any locked files. I’m not sure if the issue relates to the ‘Database closed’ message appearing after 10% of ifg creation has occurred.

Any advice would be appreciated.

  1. Read in *.SAFE files:
Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
INFO: org.esa.snap.engine_utilities.download.DownloadableContentImpl: http retrieving http://aux.sentinel1.eo.esa.int/POEORB/<path_to_orbit_file>
....10%....20%....30%....40%....50%....60%....70%....80%....90% done.
  1. Create interferogram:

Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
…10%INFO: org.hsqldb.persist.Logger: Database closed
…20%…30%…40%…50%…60%…70%…80%…90% done.
– org.jblas INFO Deleting /tmp/jblas2922490162459314703/libjblas.so
– org.jblas INFO Deleting /tmp/jblas2922490162459314703/libjblas_arch_flavor.so
– org.jblas INFO Deleting /tmp/jblas2922490162459314703

  1. Filter interferogram:

Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
…90% done.
org.esa.snap.core.gpf.OperatorException: Device or resource busy
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 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: Device or resource busy
at org.jlinda.nest.dataio.SnaphuExportOp.computeTile(SnaphuExportOp.java:199)
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)
… 3 more
Caused by: java.io.IOException: Device or resource busy
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(RandomAccessFile.java:377)
at org.esa.s1tbx.commons.io.EnhancedRandomAccessFile.read_(EnhancedRandomAccessFile.java:520)
at org.esa.s1tbx.commons.io.EnhancedRandomAccessFile.seek(EnhancedRandomAccessFile.java:315)
at org.esa.s1tbx.commons.io.FileImageOutputStreamExtImpl.seek(FileImageOutputStreamExtImpl.java:143)
at org.esa.snap.core.datamodel.ProductData.writeTo(ProductData.java:984)
at org.jlinda.nest.dataio.SnaphuWriter.writeBandRasterData(SnaphuWriter.java:167)
at org.jlinda.nest.dataio.SnaphuExportOp.computeTile(SnaphuExportOp.java:193)
… 6 more

Error: Device or resource busy
– org.jblas INFO Deleting /tmp/jblas1115541007696653433/libjblas_arch_flavor.so
– org.jblas INFO Deleting /tmp/jblas1115541007696653433/libjblas.so
– org.jblas INFO Deleting /tmp/jblas1115541007696653433

Would you please to give more details about your graph and how do intend to create an infgm of 3 swaths in order to help you, this is the first thing, the other issue is , why you unzipped your image, SNAP could read zip file properly,

I’m working with system which has limited storage capacity (something I cannot change at present). I’ll be processing a long time-series (over 4 years) and therefore need to minimise storage where possible. I have the full zip files stored in an archive, but the system can’t talk directly to it, so I have to copy only the required files (ie. by polarisation) and save them locally on the system as *.SAFE files. It’s not an ideal solution, but that’s all I can do for now.

My workflow is broken up in to sections so I don’t encounter memory cache issues:

  1. read from *.SAFE files, apply orbits, split by swaths and desired bursts, and save each swath as an output

  2. create initial interferogram: read in each swath file for master and slave. For each swath pair: back-geocoding, enhanced-spectral-diversity, interferogram, and TOPSAR-deburst. Then use TOPSAR-merge and save output

  3. filter interferogram: read in initial interferogram, multi-look (q, i, coh files as the source bands), goldstein phase filtering, snaphu export and save output

I exported the initial interferogram results to my Windows PC and ran SNAP there with the same filter graph, and it successfully produced the filtered interferogram.

I’ve run the workflow successfully for a small interferogram (3 swaths, 3 bursts each) and it worked. The filtering graph hasn’t changed and the inputs look fine, so I’m not sure what’s going on.

seemingly there is no problem with your own machine and also processing step either, however, apparently and from the error message of the previous post the system has problem in storage and might be the RAM as well. The only thing you could do is, to continue some processes in the system and then filter step within your own machine.

Thanks, unfortunately it’s not really a viable option to copy 200-300 ifgs back to my PC to filter.It would just take forever.

I’m using a HPC system but I can’t determine what resources are being used. I’ll use another HPC system to troubleshoot the resource usage. It could be that the system I’m using isn’t suitable for processing.