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.

Reply via email to