Error when using more photo's

I’ve been getting this error lately when trying to process somewhat bigger batches.

INFO: Shots and/or GCPs are well-conditioned. Using naive 3D-3D alignment.
block_sparse_matrix.cc:80 Check failed: num_nonzeros_ >= 0
/code/SuperBuild/install/bin/opensfm/bin/opensfm: line 12: 34264 Aborted (core dumped) “$PYTHON” “$DIR”/opensfm_main.py “[email protected]

It’s the same as mentioned in this post from johnny.

For me its a batch of 4400 20MP images from a rectangular shaped recording. There really seems to be something going on when processing more images.

This batch will get me great results when I process the first 4000 images of the batch (img 0 to 4000) the last 4000 of the batch (400 - 4400) or any other subset flawlessly. It just wont do them in one go and I really hate to create splits as there are dissadvantages to that.

Any ideas as to what might trigger this error? Could it have something to do with slight warping due to long distance? I’m not using GCP for this batch.

2 Likes

What are your system specifications?

i9-11900k 3.5 Ghz, 3401 Mhz, 8 core
128GB Ram
Nvidia 3090

Running docker odm/gpu with default settings

1 Like

Are you running under Linux? What is your swapfile like? I’d recommend 2-4x RAM as swap, if you can.

Running under windows docker with 128 Swap. However it doens’t use more than 100GB RAM. I don’t think that would matter than does it?

1 Like

Yes, it does. Commit size is physical ram + virtual memory, minus any commit charge that other things have set up. So there can be situations where you have free physical memory and/or virtual, but not enough commit space and things will crash while trying to allocate memory.

If you can expand the physical+swap, it should help.

This article + example from Mozilla has been the single most useful and helpful explanation of this whole aspect of Windows Memory Management I’ve ever seen:

3 Likes

Well, I didn’t know that. :slight_smile: Thanks for the recommendation I will set it up and test it!

1 Like

No worries! Don’t take my post to mean I’ve had this understood for ages. I’ve been struggling with it alongside other folks here until yesterday when I had that article come across my RSS feed. Finally, after something like 25 years of using OS/2 and Windows, I understand this specific behavior (I think :person_shrugging: ).