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.68k stars 1.07k forks source link

Child returned 134 during pdal info run in ODM:GPU #1711

Closed holyCowMp3 closed 8 months ago

holyCowMp3 commented 8 months ago

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

Docker

What is the problem?

Seems the last NodeODM:gpu build fails MVS stage at generating pdal info data. Returning to the ODM 3.2.2 fix this issue, and GPU works perfectly fine. 3.3.0 - crashes with log below

[INFO]    Finished odm_filterpoints stage
[INFO]    Running odm_meshing stage
[INFO]    Writing ODM 2.5D Mesh file in: /var/www/data/7feb4115-b85e-45f1-b089-464058288634/odm_meshing/odm_25dmesh.ply
[INFO]    ODM 2.5D DSM resolution: 0.13
[INFO]    Created temporary directory: /var/www/data/7feb4115-b85e-45f1-b089-464058288634/odm_meshing/tmp
[INFO]    Creating DSM for 2.5D mesh
[INFO]    running pdal info "/var/www/data/7feb4115-b85e-45f1-b089-464058288634/odm_filterpoints/point_cloud.ply" > "/tmp/tmpz7p51q4e.json"
free(): invalid pointer
Aborted (core dumped)

===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 134
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 438, in run
self.next_stage.run(outputs)
File "/code/opendm/types.py", line 438, in run
self.next_stage.run(outputs)
File "/code/opendm/types.py", line 438, in run
self.next_stage.run(outputs)
[Previous line repeated 2 more times]
File "/code/opendm/types.py", line 417, in run
self.process(self.args, outputs)
File "/code/stages/odm_meshing.py", line 54, in process
mesh.create_25dmesh(tree.filtered_point_cloud, tree.odm_25dmesh,
File "/code/opendm/mesh.py", line 25, in create_25dmesh
commands.create_dem(
File "/code/opendm/dem/commands.py", line 85, in create_dem
extent = point_cloud.get_extent(input_point_cloud)
File "/code/opendm/point_cloud.py", line 148, in get_extent
run('pdal info "{0}" > "{1}"'.format(input_point_cloud, json_file))
File "/code/opendm/system.py", line 112, in run
raise SubprocessException("Child returned {}".format(retcode), retcode)
opendm.system.SubprocessException: Child returned 134

===== 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/

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.

Dataset must be processed successfuly. In processing without GPU - dataset processed correct.

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).

Dataset with DJI T data, i will try to share if it possible.

lupionpe commented 8 months ago

I am facing the same issue.

In my case I am running using GCPs and I tried 4 different jobs and they all failed at:

[INFO]    running pdal info "/var/www/data/b4a97fc8-0598-417f-96e6-d7c29ec6f226/odm_filterpoints/point_cloud.ply" > "/tmp/tmpzucaxamm.json"
free(): invalid pointer
Aborted (core dumped)
pierotofy commented 8 months ago

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).