Error when calibrating Sentinel 1 data "cannot construct data buffer"

I am working with a Sentinel 1 SLC IW image (VV+VH) and trying to calibrate the data in the SNAP toolbox (latest version). However, it keeps returning the error “cannot construct data buffer.” The tool also runs with very slow process - it has been taking 30 minutes or more to reach around 5% progress, at which point it has been generally returning the above error. However, my computer has 16GB RAM and is a 64-bit processing system so does not usually have problems processing large amounts of data.

Something doesn’t seem right. The symptoms are of not having enough memory but 16GB should be great.
Are you running SNAP-Desktop or GPT? Have a look at the Tools -> Options -> Performance and see that the settings for the JVM look ok. Are they the default settings? When this happens, is your memory almost at the maximum?
If you had little memory and got this, I would say to check using the file cache for Sentinel-1 reading in the S1TBX options. You could try this.
Also, look at where you’re pulling the data from. Is it a network drive?

1 Like

Thanks for the message lveci. Yes my data was saved in a network drive, so I tried moving it to my desktop. I also checked using the file cache for sentinel-1 reading in the S1TBX options. However, the tool is still running very very slowly. I am using SNAP-Desktop. And I have not changed any of the settings in the performance tab, they are as shown in the attached image.

I had the same issue on my MacBook 16GB 64bit cpu. The problem is gone on 264G RAM on linux box. Took 10 mins to produce GRD.

Hi,

I have the same problem. The latest SNAP version is installed on virtual machine that has CentOS 7. This system has 20GB of RAM and 150GB of free space in hard drive. Whenever I try to process the SLC to GRD I get the same warning “cannot construct data buffer.”

Why run it in the vm? Make sure the vm has a lot of the memory assigned to it.

Hi,
Same problem with HP Z620 workstation, 16 GB RAM, 24 threads, SSD + cache enabled.
I can not continue :slight_frown:

Exception detail:
java.lang.RuntimeException: Cannot construct DataBuffer.
at com.sun.media.jai.util.DataBufferUtils.constructDataBuffer(DataBufferUtils.java:132)
at com.sun.media.jai.util.DataBufferUtils.createDataBufferFloat(DataBufferUtils.java:214)
at javax.media.jai.ComponentSampleModelJAI.createDataBuffer(ComponentSampleModelJAI.java:271)
at javax.media.jai.RasterFactory.createWritableRaster(RasterFactory.java:691)
at javax.media.jai.PlanarImage.createWritableRaster(PlanarImage.java:1982)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:130)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
Caused: org.esa.snap.core.gpf.OperatorException: Cannot construct DataBuffer.
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.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)
[catch] at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)

Have you optimised the settings by running the “Smart Configurator”?

If you mean “Tools > Options > Performance > Processing > Benchmark operator: calibration”, yes I did. It stopped after a while without success. Then I restarted snap and tried again. This time I did not open the file and just directly run benchmark test. It was ok this time (only 8448 cache size resulted -1). Then I restarted snap, did not open the file and just directly run calibration (save as complex output) it was successful but used %94 of ram. I’m still not sure this is normal but it works, at least.


I had the same problem. I am running SNAP on Ubuntu 64-bit, Core i5 with 16 GB RAM. Things changed for better after closing the same product (SLC image) from SNAP session; secondly, SNAP was restarted; and under performance tap (SNAP, Tools, Options, S-1TB) - I checked on the only option there. Thereafter, Radiometric Calibration process completed in 14.8 minutes. All the layers (bands) are readable.

Note that before these changes, 3 initial attempts failed to deliver the output and each took more than an hour.

Hi,
I am getting the following error while calibrating sentinel 1 data.
cannot construct databuffer.
plese help it out.

1 Like

Please use the search function, this has been asked (and answered) quite a lot of times.

Hello to everyone,
I’m new to sentinel. I have 2 images in SLC IW format and I follow these steps.

  1. Tops Split (Iw2)
  2. apply orbit file
  3. back geocodeing
  4. Tops deburst
  5. interferogram

but tops deburst “can not construct databuffer”. what is the reason?

Tool> options> performance VM parameters;

Xmx5120m

Xms3072m

I have a 8GB RAM.

Please help me. I read the article about this problem in the forum. But I could not create an interferogram.

i m also getting same problem what i can do please help me out.

As @ABraun already mentioned. This question has been asked several times and answers can be foun via search Search results for ‘Cannot construct DataBuffer’ - STEP Forum (esa.int)

Also the FAQs contain entry for this problem.

1 Like