Here are the last few lines of log output. This happens after reconstruction has finished for the second time on submodel_0000, just as opensfm create_tracks is starting on submodel_0001.
2026-07-01 16:20:11,477 DEBUG: Ceres Solver Report: Iterations: 21, Initial cost: 5.713060e+01, Final cost: 4.698220e+01, Termination: CONVERGENCE
2026-07-01 16:20:11,479 INFO: Removed outliers: 0
2026-07-01 16:20:11,480 INFO: Reconstruction 0: 1682 images, 1692562 points
2026-07-01 16:20:11,480 INFO: Reconstruction 1: 4 images, 858 points
2026-07-01 16:20:11,480 INFO: Reconstruction 2: 4 images, 477 points
2026-07-01 16:20:11,480 INFO: Reconstruction 3: 3 images, 355 points
2026-07-01 16:20:11,480 INFO: 4 partial reconstructions in total.
[WARNING] Multiple reconstructions detected (4), this might be an indicator that some areas did not have sufficient overlap
[INFO] Attempting merge
[INFO] Merging reconstruction 0
[INFO] Merging reconstruction 1
[INFO] Merging reconstruction 2
[INFO] Merging reconstruction 3
[WARNING] Cannot merge shot id DJI_20260218170311_0450_D.JPG (Landmark 163348 already exists.)
[WARNING] Cannot merge shot id DJI_20260218170311_0450_D.JPG (Landmark 1114550 already exists.)
[WARNING] Cannot merge shot id DJI_20260218170311_0450_D.JPG (Landmark 163061 already exists.)
[WARNING] Cannot merge shot id DJI_20260218170311_0450_D.JPG (Landmark 163051 already exists.)
[INFO] Reconstructing /datasets/hunk51-200m-rs/submodels/submodel_0001/opensfm
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" create_tracks "/datasets/hunk51-200m-rs/submodels/submodel_0001/opensfm"
2026-07-01 16:21:13,786 INFO: reading features
2026-07-01 16:21:32,594 DEBUG: Merging features onto tracks
2026-07-01 16:22:05,543 DEBUG: Good tracks: 2204332
Traceback (most recent call last):
File "/code/SuperBuild/install/bin/opensfm/bin/opensfm_main.py", line 25, in <module>
commands.command_runner(
File "/code/SuperBuild/install/bin/opensfm/opensfm/commands/command_runner.py", line 38, in command_runner
command.run(data, args)
File "/code/SuperBuild/install/bin/opensfm/opensfm/commands/command.py", line 13, in run
self.run_impl(data, args)
File "/code/SuperBuild/install/bin/opensfm/opensfm/commands/create_tracks.py", line 13, in run_impl
create_tracks.run_dataset(dataset)
File "/code/SuperBuild/install/bin/opensfm/opensfm/actions/create_tracks.py", line 18, in run_dataset
tracks_manager = tracking.create_tracks_manager(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/code/SuperBuild/install/bin/opensfm/opensfm/tracking.py", line 93, in create_tracks_manager
x, y, s = features[image][featureid]
~~~~~~~~~~~~~~~^^^^^^^^^^^
IndexError: index 6215 is out of bounds for axis 0 with size 4483
# grep 'running "' odm.log
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" detect_features "/datasets/hunk51-200m-rs/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" match_features "/datasets/hunk51-200m-rs/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" create_submodels "/datasets/hunk51-200m-rs/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" create_tracks "/datasets/hunk51-200m-rs/submodels/submodel_0000/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" reconstruct "/datasets/hunk51-200m-rs/submodels/submodel_0000/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" rs_correct "/datasets/hunk51-200m-rs/submodels/submodel_0000/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" match_features "/datasets/hunk51-200m-rs/submodels/submodel_0000/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" create_tracks "/datasets/hunk51-200m-rs/submodels/submodel_0000/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" reconstruct "/datasets/hunk51-200m-rs/submodels/submodel_0000/opensfm"
[INFO] running "/code/SuperBuild/install/bin/opensfm/bin/opensfm" create_tracks "/datasets/hunk51-200m-rs/submodels/submodel_0001/opensfm"
When the
--rolling-shutteroption is used on a local split-merge run (--split), the spawnedopensfm create_trackscommand crashes on the second submodel.Here are the last few lines of log output. This happens after reconstruction has finished for the second time on submodel_0000, just as
opensfm create_tracksis starting on submodel_0001.For context on which stage we're at, here's the sequence of spawned commands:
The entire ODM log file is attached here: odm.log.zip