https://bugs.kde.org/show_bug.cgi?id=528386
Bug ID: 528386
Summary: KStars 3.8.5 crashes in
ExternalExtractorSolver::loadWCS() during repeated
Ekos Polar Alignment Assistant refreshes on macOS
Classification: Applications
Product: kstars
Version First 3.8.5
Reported In:
Platform: macOS (DMG)
OS: Other
Status: REPORTED
Severity: crash
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 198098
--> https://bugs.kde.org/attachment.cgi?id=198098&action=edit
macOS crash report - KStars 3.8.5 PAA Refresh SIGSEGV
STEPS TO REPRODUCE
==================
1. Launch KStars 3.8.5 on macOS 15.7.9 (Intel x86-64).
2. Start Ekos with CCD Simulator and Telescope Simulator.
3. Configure the Telescope Simulator mount model with polar alignment errors:
- Pole Azm (MA): +20 arcmin
- Pole elev (ME): +15 arcmin
4. Open Ekos -> Align -> Polar Alignment.
5. Complete the three-image polar alignment measurement using StellarSolver.
6. Start continuous Refresh using the Plate Solve adjustment method.
7. Modify the simulated polar alignment offsets while Refresh is running.
8. Continue repeated refreshes.
ACTUAL RESULT
=============
KStars unexpectedly terminated with EXC_BAD_ACCESS (SIGSEGV) during continuous
polar alignment refreshes.
The crash occurred after numerous successful plate-solving iterations, while
using ExternalExtractorSolver.
EXPECTED RESULT
===============
The Polar Alignment Assistant should continue processing refresh images and
updating polar alignment errors without crashing.
CRASH INFORMATION
=================
Application: KStars 3.8.5
OS: macOS 15.7.9
Architecture: Intel x86-64
Exception: EXC_BAD_ACCESS (SIGSEGV)
Fault address: 0x68
Crashed thread: ExternalExtractorSolver
Crash date: November 5, 2026
The stack trace indicates a crash inside CFITSIO file operations, called from:
ExternalExtractorSolver::loadWCS()
The crash report also shows other ExternalExtractorSolver threads, including
one executing cleanupTempFiles().
SOURCE CODE INVESTIGATION
=========================
The following code paths appear relevant:
KStars:
- kstars/ekos/align/polaralignmentassistant.cpp
- kstars/ekos/auxiliary/solverutils.cpp
StellarSolver:
- stellarsolver/externalextractorsolver.cpp
- stellarsolver/stellarsolver.cpp
PolarAlignmentAssistant::startSolver() creates a new SolverUtils instance
during refresh processing, using deferred deletion of the previous instance.
In StellarSolver, spawnChildSolver() assigns the parent's solutionFile path to
child solvers. Parallel solver completion and temporary-file cleanup may
therefore deserve investigation.
Potential issues to investigate include:
- Solver thread lifetime and synchronization
- Shared WCS file paths among parallel solvers
- Temporary-file cleanup ordering
- CFITSIO access and object lifetime
These are hypotheses based on source inspection, not a confirmed root cause.
The inspected upstream master code may differ from the version bundled with
KStars 3.8.5.
ATTACHMENTS
===========
macOS crash report:
kstars-2026-11-05-220419.ips
ADDITIONAL NOTES
================
Polar alignment measurements and continuous refreshes worked successfully
before the crash. This suggests an intermittent issue rather than a
deterministic failure on the first solve.
Reproducibility is not yet confirmed.
--
You are receiving this mail because:
You are watching all bug changes.