Summary
QGIS crashes with EXC_BAD_ACCESS (SIGSEGV) immediately when the Semi-Automatic Classification Plugin is enabled/ticked in the Plugin Manager, causing QGIS to enter a repeated crash-and-relaunch loop (multiple QGIS windows opening in succession). This is fully reproducible across multiple clean installs.
Environment
- macOS version: 26.5.2 (build 25F84)
- Hardware: Mac14,2 (Apple Silicon / ARM64)
- QGIS version: 3.44.12-Solothurn (code revision 32c5dba7)
- Qt version: 5.15.18
- Python version: 3.12.11
- SCP version tried: both the current "master" release (8.0) and an earlier 7.x release — same crash on both
Steps to Reproduce
- Fresh install of QGIS 3.44.12 on Apple Silicon Mac (also reproduced after a full reinstall with a fresh profile)
- Install Semi-Automatic Classification Plugin via Plugin Manager (also reproduced via "Install from ZIP" with an older release)
- Correctly install all required Python dependencies (numpy 1.26.4, scipy 1.13.1, matplotlib 3.9.2, Pillow, pyparsing, cycler, kiwisolver, contourpy, fonttools, packaging, remotior_sensus) matched to QGIS's bundled Python 3.12 environment — confirmed all import successfully standalone
- Tick the checkbox to enable Semi-Automatic Classification Plugin in Plugins → Manage and Install Plugins → Installed
- QGIS immediately crashes and begins repeatedly relaunching itself (multiple windows open in succession)
Expected Behavior
Plugin should load and its dock/toolbar should appear without crashing QGIS.
Actual Behavior
Immediate segmentation fault, followed by a crash-relaunch loop requiring force-quitting QGIS via Activity Monitor / Force Quit multiple times to stop.
Crash Report Details (from macOS Console → Crash Reports)
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000008
Termination Reason: Namespace SIGNAL, Code 11, Segmentation fault: 11
Triggered by Thread: 0, Dispatch Queue: com.apple.main-thread
Relevant frames from the crashed thread (Thread 0), from most recent call:
PyDict_GetItemWithError
_PyEval_BuiltinsFromGlobals
PyEval_EvalCode
QgsPythonUtilsImpl::runStringUnsafe(QString const&, bool)
QgsPythonUtilsImpl::runString(QString const&, QString, bool)
QgisApp::loadPythonSupport()
QgisApp::QgisApp(QSplashScreen*, QFlags<QgisApp::AppOption>, QString const&, QString const&, QWidget*, QFlags<Qt::WindowType>)
main
Binary images loaded at crash time include:
libqgis_app.3.44.6.dylib
libqgis_gui.3.44.6.dylib
libqgis_native.3.44.6.dylib
libQt5Widgets.5.15.dylib / libQt5Gui.5.15.dylib / libQt5Core.5.15.dylib
Troubleshooting Already Attempted (all unsuccessful, same crash persists)
- Full reinstall of QGIS (fresh app + fresh profile, deleted
~/Library/Preferences/org.qgis.qgis3.plist)
- Cleared all
__pycache__ folders in the profile's python directory
- Manually installed matching dependency versions via
pip._internal targeting QGIS's bundled Python, using --no-deps, then --upgrade --force-reinstall to ensure a fully consistent dependency set (no version conflicts reported)
- Verified
numpy, scipy, matplotlib, PIL, remotior_sensus all import successfully when run manually in the QGIS Python Console
- Tried an older SCP release (~1-2 years old) via "Install from ZIP" — identical crash
- Installed QPIP (Python dependency manager plugin) and used it to install the missing
remotior-sensus dependency it flagged — identical crash persists even with QPIP-managed dependencies
Additional Notes
- The crash occurs specifically inside
QgsPythonUtilsImpl::runStringUnsafe, suggesting the fault is in how a Python string is being evaluated during plugin startup, rather than a missing/mismatched compiled library (since dependency versions have been verified independently working).
- Happy to provide the full crash report (.ips file) or test further build/config combinations if that would help debug this.
Attachments
Summary
QGIS crashes with
EXC_BAD_ACCESS (SIGSEGV)immediately when the Semi-Automatic Classification Plugin is enabled/ticked in the Plugin Manager, causing QGIS to enter a repeated crash-and-relaunch loop (multiple QGIS windows opening in succession). This is fully reproducible across multiple clean installs.Environment
Steps to Reproduce
Expected Behavior
Plugin should load and its dock/toolbar should appear without crashing QGIS.
Actual Behavior
Immediate segmentation fault, followed by a crash-relaunch loop requiring force-quitting QGIS via Activity Monitor / Force Quit multiple times to stop.
Crash Report Details (from macOS Console → Crash Reports)
Relevant frames from the crashed thread (Thread 0), from most recent call:
Binary images loaded at crash time include:
Troubleshooting Already Attempted (all unsuccessful, same crash persists)
~/Library/Preferences/org.qgis.qgis3.plist)__pycache__folders in the profile's python directorypip._internaltargeting QGIS's bundled Python, using--no-deps, then--upgrade --force-reinstallto ensure a fully consistent dependency set (no version conflicts reported)numpy,scipy,matplotlib,PIL,remotior_sensusall import successfully when run manually in the QGIS Python Consoleremotior-sensusdependency it flagged — identical crash persists even with QPIP-managed dependenciesAdditional Notes
QgsPythonUtilsImpl::runStringUnsafe, suggesting the fault is in how a Python string is being evaluated during plugin startup, rather than a missing/mismatched compiled library (since dependency versions have been verified independently working).Attachments