Describe the bug
Two test_replays-based ctest cases fail on current main (f23d298) against the current HEAD of libsurvive-extras-data (1d5bdc744743daa3cf15a96489b1e6a7785767e2):
- lh2_test_cal.pcap.gz_pcap
- haagh-tracking2.rec.gz
Both reset lighthouse positions to zero and rely on the Global Scene Solver (MPFIT bundle adjustment) to re-derive lighthouse geometry from scratch, then compare against ground-truth poses embedded in the recording's .json. Both hit MP_MAXITER without converging, with errors far outside tolerance (max_pos_error=.08, max_rot_error=.005):
LH0 (dadd6923): err: 0.368061 21.445878
LH1 (a4dbc8a4): err: 0.079348 13.471282
LH0 (fe0398ef): err: 0.000236 0.509539
LH1 (d99e7eac): err: 0.000055 0.265175
All 39 other tests pass. Root cause appears to be libsurvive-extras-data having no real data commit since 2022, while the GSS solver has evolved since then. Or it's a regression.
Data
Already checked into libsurvive-extras-data — no new commits.
Compile log
N/A — not a compilation issue; the project builds and links fine. (Ruled out the build/library stack as the cause — see Additional context.)
Hardware setup
N/A — regression tests against pre-recorded captures, no live hardware involved.
Desktop:
- OS: Linux (Fedora, rpmbuild/mock)
- Version: Fedora Rawhide (gcc 16.1.1, cmake 4.3.0)
Additional context:
Ruled out Eigen version as the cause (Fedora is on 5.x): rebuilt with USE_EIGEN=OFF (OpenBLAS/CBLAS backend instead) and got near-identical failures — one MPFIT status failure line was bit-for-bit identical between backends.
Suggested fixes:
(1) regenerate ground truth for these two recordings
(2) investigate MP_MAXITER non-convergence as a possible real GSS regression, or
(3) add to TEST_EXCLUSION_LIST like the other known-broken cases already there
For now, I'm planning on just excluding these tests downstream.
Describe the bug
Two test_replays-based ctest cases fail on current main (f23d298) against the current HEAD of libsurvive-extras-data (1d5bdc744743daa3cf15a96489b1e6a7785767e2):
Both reset lighthouse positions to zero and rely on the Global Scene Solver (MPFIT bundle adjustment) to re-derive lighthouse geometry from scratch, then compare against ground-truth poses embedded in the recording's .json. Both hit MP_MAXITER without converging, with errors far outside tolerance (max_pos_error=.08, max_rot_error=.005):
All 39 other tests pass. Root cause appears to be libsurvive-extras-data having no real data commit since 2022, while the GSS solver has evolved since then. Or it's a regression.
Data
Already checked into libsurvive-extras-data — no new commits.
Compile log
N/A — not a compilation issue; the project builds and links fine. (Ruled out the build/library stack as the cause — see Additional context.)
Hardware setup
N/A — regression tests against pre-recorded captures, no live hardware involved.
Desktop:
Additional context:
Ruled out Eigen version as the cause (Fedora is on 5.x): rebuilt with USE_EIGEN=OFF (OpenBLAS/CBLAS backend instead) and got near-identical failures — one MPFIT status failure line was bit-for-bit identical between backends.
Suggested fixes:
(1) regenerate ground truth for these two recordings
(2) investigate MP_MAXITER non-convergence as a possible real GSS regression, or
(3) add to TEST_EXCLUSION_LIST like the other known-broken cases already there
For now, I'm planning on just excluding these tests downstream.