#4599·colmap

Core dump during automatic reconstruction

Author: UnicycleBlokeCreated Jul 29, 2026Updated Jul 29, 2026

Describe the bug I'm a COLMAP beginner processing the Gerrard Hall images using Automatic Reconstruction. The program core dumped when it started the first image in the the "Image Undistortion" phase. You'll see below that the machine is an old i7, but has a more recent NVidia card and 16GB of RAM.

To Reproduce Preparation: Build and install COLMAP by following follow the instructions for Debian/Ubuntu at https://colmap.github.io/install.html

  • My commit is 64805cb870b574a569dccc34918d95a2db2b2fee.
  • It was necessary to run "sudo apt-get update" before the tools and libraries would install properly (suggest update the instructions).

Steps to reproduce the behavior:

  1. Download gerrard-hall.zip and unzip to folder whatever/gerrard-hall
  2. Create folder whatever/gerrard-proj
  3. Start Automatic Reconstruction from the COLMAP gui.
  4. Set the project folder as whatever/gerrard-proj
  5. Set the image folder as whatever/gerrard-hall/images
  6. Change no other options and press Run.

Expected behavior No core dump.

Screenshots

I20260729 10:29:22.631182 12234 incremental_pipeline.cc:793] Keeping successful reconstruction
I20260729 10:29:22.645833 12234 timer.cc:90] Elapsed time: 6.119 [minutes]
I20260729 10:29:22.766783 12234 automatic_reconstruction.cc:368] === Dense reconstruction ===
I20260729 10:29:22.766952 12234 undistorters.cc:167] === Image undistortion ===
I20260729 10:29:22.769179 12234 undistorters.cc:206] Undistorting image [1/100]
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
*** Aborted at 1785317382 (unix time) try "date -d @1785317382" if you are using GNU date ***
PC: @                0x0 (unknown)
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
*** SIGABRT (@0x3e800002ee2) received by PID 12002 (TID 0x7455caffd000) from PID 12002; stack trace: ***
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
    @     0x74564a95c206 (unknown)
    @     0x74563c445330 (unknown)
    @     0x74563c49eb2c pthread_kill
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
    @     0x74563c44527e gsignal
    @     0x74563c4288ff abort
    @     0x74563e6a0ef2 (unknown)
    @     0x74563e6a9091 OpenImageIO_v2_4::encode_iptc_iim()
    @     0x74563e75f2d9 OpenImageIO_v2_4::JpgOutput::open()
    @     0x57e7c3b46726 colmap::Bitmap::Write()
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
    @     0x57e7c2e80c24 colmap::COLMAPUndistorter::Undistort()
    @     0x57e7c2e88e5b _ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_12_Task_setterIS0_INS1_7_ResultIbEES3_EZNS1_11_Task_stateISt5_BindIFMN6colmap17COLMAPUndistorterEKFbjEPSD_jEESaIiEFbvEE6_M_runEvEUlvE_bEEE9_M_invokeERKSt9_Any_data
    @     0x57e7c2dc586d std::__future_base::_State_baseV2::_M_do_set()
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
./src/libOpenImageIO/iptc.cpp:167: encode_iptc_iim_one_tag: Assertion 'data != nullptr' failed.
    @     0x74563c4a1ed3 (unknown)
    @     0x57e7c2e8a09e std::__future_base::_Task_state<>::_M_run()
    @     0x57e7c2e8c1b0 _ZNSt17_Function_handlerIFSt8functionIFvvEEvEZN6colmap10ThreadPool7AddTaskIMNS4_17COLMAPUndistorterEKFbjEJPS7_RKjEEESt13shared_futureINSt13invoke_resultIT_JDpT0_EE4typeEEOSF_DpOSG_EUlvE_E9_M_invokeERKSt9_Any_data
    @     0x57e7c2fb3b7b colmap::ThreadPool::WorkerFunc()
    @     0x74563c8ecdb4 (unknown)
    @     0x74563c49caa4 (unknown)
    @     0x74563c529c6c (unknown)
Aborted (core dumped)

After the abort, the project folder looked like this:

    └── gerrard-proj
        ├── database.db
        ├── dense
        │   └── 0
        │       ├── images
        │       │   ├── IMG_2384.JPG
        │       │   ├── IMG_2385.JPG
        │       │   ├── IMG_2386.JPG
        │       │   ├── IMG_2388.JPG
        │       │   ├── IMG_2389.JPG
        │       │   ├── IMG_2391.JPG
        │       │   ├── IMG_2392.JPG
        │       │   ├── IMG_2393.JPG
        │       │   └── IMG_2394.JPG
        │       ├── sparse
        │       └── stereo
        │           ├── consistency_graphs
        │           ├── depth_maps
        │           └── normal_maps
        └── sparse
            ├── 0
            │   ├── cameras.bin
            │   ├── frames.bin
            │   ├── images.bin
            │   ├── points3D.bin
            │   └── rigs.bin
            └── project.ini

Environment: $ uname -a Linux al-ubuntu 6.17.0-19-generic #19~24.04.2-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 23:08:46 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 12 On-line CPU(s) list: 0-11 Vendor ID: GenuineIntel Model name: Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz

$ cat /proc/meminfo MemTotal: 16307056 kB

$ sudo lshw -C display *-display
description: VGA compatible controller product: GA107 [GeForce RTX 3050 6GB] vendor: NVIDIA Corporation physical id: 0 bus info: pci@0000:01:00.0 logical name: /dev/fb0 version: a1 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vga_controller bus_master cap_list rom fb configuration: depth=32 driver=nvidia latency=0 resolution=1920,1080 resources: irq:61 memory:fa000000-faffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:c0000-dffff

$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Fri_Jan__6_16:45:21_PST_2023 Cuda compilation tools, release 12.0, V12.0.140 Build cuda_12.0.r12.0/compiler.32267302_0