Gpu update causes failure in processing (Child returned 139)

Hi all. I rarely keep up with the update and I just recently find out how to subscribe github release notification and BOOM! I updated my ODM the first thing in the morning when I see the notification.

However, I have a dataset that can be successfully processed by 3.1.0 cpu version ODM docker images constantly fails in the new gpu version update.

The error is


===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 139
Traceback (most recent call last):
  File "/code/stages/odm_app.py", line 81, in execute
    self.first_stage.run()
  File "/code/opendm/types.py", line 398, in run
    self.next_stage.run(outputs)
  File "/code/opendm/types.py", line 398, in run
    self.next_stage.run(outputs)
  File "/code/opendm/types.py", line 398, in run
    self.next_stage.run(outputs)
  [Previous line repeated 3 more times]
  File "/code/opendm/types.py", line 377, in run
    self.process(self.args, outputs)
  File "/code/stages/odm_meshing.py", line 25, in process
    mesh.screened_poisson_reconstruction(tree.filtered_point_cloud,
  File "/code/opendm/mesh.py", line 200, in screened_poisson_reconstruction
    system.run('"{reconstructmesh}" -i "{infile}" '
  File "/code/opendm/system.py", line 112, in run
    raise SubprocessException("Child returned {}".format(retcode), retcode)
opendm.system.SubprocessException: Child returned 139

===== Done, human-readable information to follow... =====

e[91m[ERROR]   Uh oh! Processing stopped because of strange values in the reconstruction. This is often a sign that the input data has some issues or the software cannot deal with it. Have you followed best practices for data acquisition? See https://docs.opendronemap.org/flying/e[0m

Unfortunately I can’t tell whether the dataset would work in the gpu version before the update since docker tag is the same and I don’t know if I can pull the older gpu docker images.

I’m also testing on the newest cpu version and the result should be out in next 20 minutes.

The latest cpu update also fails with similar error:

===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 139
Traceback (most recent call last):
  File "/code/stages/odm_app.py", line 81, in execute
    self.first_stage.run()
  File "/code/opendm/types.py", line 398, in run
    self.next_stage.run(outputs)
  File "/code/opendm/types.py", line 398, in run
    self.next_stage.run(outputs)
  File "/code/opendm/types.py", line 398, in run
    self.next_stage.run(outputs)
  [Previous line repeated 3 more times]
  File "/code/opendm/types.py", line 377, in run
    self.process(self.args, outputs)
  File "/code/stages/odm_meshing.py", line 25, in process
    mesh.screened_poisson_reconstruction(tree.filtered_point_cloud,
  File "/code/opendm/mesh.py", line 200, in screened_poisson_reconstruction
    system.run('"{reconstructmesh}" -i "{infile}" '
  File "/code/opendm/system.py", line 112, in run
    raise SubprocessException("Child returned {}".format(retcode), retcode)
opendm.system.SubprocessException: Child returned 139

===== Done, human-readable information to follow... =====

[ERROR]   Uh oh! Processing stopped because of strange values in the reconstruction. This is often a sign that the input data has some issues or the software cannot deal with it. Have you followed best practices for data acquisition? See https://docs.opendronemap.org/flying/

I’ve used the following parameters: --auto-boundary --crop 0 --build-overviews --orthophoto-compression LZW --dsm --dtm --cog --pc-copc --orthophoto-resolution 0.1 --smrf-threshold 0.5 --pc-filter 0, also modified --feature-quality , --pc-quality at different level

Here is the dataset if that can help. It’s just a simple 70 image zig zag flight.

I also digged out an old dataset that was processed by 3.1.9 gpu version, and it failed with the same reconstruction error.

Sorry, the latest update did indeed break this. :pray:

Fix coming up shortly. Fix ReconstructMesh segfault by pierotofy · Pull Request #1690 · OpenDroneMap/ODM · GitHub

Thx!