OpenDroneMap / ODM

A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷
https://opendronemap.org
GNU Affero General Public License v3.0
4.81k stars 1.09k forks source link

False out of memory error. #1798

Open John-Nagle opened 3 weeks ago

John-Nagle commented 3 weeks ago

How did you install ODM? (Docker, installer, natively, ...)?

As a snap on Ubuntu 22.04 LTS

opendronemap --version ODM 3.4.0

Tested the install by running the "brighton beach" test images, which worked.

What is the problem?

Estimated depth-maps 108 (75.52%, 4m23s, ETA 1m)...terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(4.5.0) /build/opendronemap/parts/odm/build/SuperBuild/src/opencv/modules/core/src/alloc.cpp:73: error: (-4:Insufficient memory) Failed to allocate 66362010468 bytes in function 'OutOfMemoryError'"

Note the number of bytes. Something tried to allocate 66 gigabytes. Memory consumption was only 4GB (on a 32 GB machine) according to the system memory usage graph (attached) up to that point.

What should be the expected behavior? If this is a feature request, please describe in detail the changes you think should be made to the code, citing files and lines where changes should be made, if possible.

Not crashing.

How can we reproduce this? What steps did you do to trigger the problem? If this is an issue with processing a dataset, YOU MUST include a copy of your dataset AND task output log, uploaded on Google Drive or Dropbox (otherwise we cannot reproduce this).

Get the data set here: https://animats.com/sharpview/testdata/ Get the .zip file from the link "Port Babbage 2".

Log: log.json

Console output: falseoomcrash.txt

Memory usage graph while ODM running:

falseoutofmemory

Notes

Open Drone Map was called by:

opendronemap --project-path . This is a test of impostor generation for a virtual world. Input is a set of roughly 100 images from a flyover. It's an unusual use of ODM, but shouldn't crash it. The images are reasonable looking.

It looks like the matching phase went well, but then, 75% through depth matching, something requested an unreasonable amount of memory all at once.

John-Nagle commented 3 weeks ago

Attempt to rerun from the results of the previous run produced the same error message immediately. So it's reproduceable.

pierotofy commented 2 weeks ago

Does it work with docker? We no longer support snap. See https://github.com/OpenDroneMap/ODM/issues/1709

John-Nagle commented 2 weeks ago

I provided the image set. Did it run with a later version of Open Drone Map?

The snap installation is so much simpler than using Docker.