FreeCAD / FreeCAD/AddonManager
26.3 Addon Manager Segfault: QNetworkAccessManager - QObject
- Dominant language
- Python
- Stars
- 18
- Forks
- 29
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 22
Description
I've run into this segfault on 26.3 several times now. I can tell you where I run into it, but I cannot yet reliably reproduce it on demand.
When I go into the AddonManager, it usually happens when the catalog download hits 57%. The progress bar and % counter freeze. The catalog will still display and I can navigate around a bit, but after I close the Addon Manager, if I open it again, it will SegFault. The last time, it did not require getting stuck at 57%, but it still segfaulted.
Here are the lines output by the python console in FreeCAD:
15:08:01 QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNetworkAccessManager(0x7934bc0032e0), parent's thread is QThread(0x6224d8527250), current thread is ConnectionChecker(0x6224cf6438a0)
15:08:03 QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNetworkAccessManager(0x7934bc0032e0), parent's thread is QThread(0x6224d8527250), current thread is CreateAddonListWorker(0x6224d87ca960)
15:08:03 QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNetworkAccessManager(0x7934bc0032e0), parent's thread is QThread(0x6224d8527250), current thread is CreateAddonListWorker(0x6224d87ca960)
15:08:04 QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNetworkAccessManager(0x7934bc0032e0), parent's thread is QThread(0x6224d8527250), current thread is GetBasicAddonStatsWorker(0x6224d8902fd0)
15:08:05 QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNetworkAccessManager(0x7934bc0032e0), parent's thread is QThread(0x6224d8527250), current thread is GetBasicAddonStatsWorker(0x6224d8902fd0)
15:08:05 QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNetworkAccessManager(0x7934bc0032e0), parent's thread is QThread(0x6224d8527250), current thread is GetBasicAddonStatsWorker(0x6224d8902fd0)
Here is the backtrace:
#0 pthread_kill
#1 raise
#2 FreeCAD crashHandler
#3
#4 QTimer::start()
#5 QObject::event(QEvent*)
#6 QApplicationPrivate::notify_helper(...)
#7 Gui::GUIApplication::notify(...)
#8 QCoreApplication::notifyInternal2(...)
#9 QCoreApplicationPrivate::sendPostedEvents(...)
#10 postEventSourceDispatch(...)
#11 g_main_dispatch()
#12 g_main_context_iterate_unlocked()
#13 g_main_context_iteration()
#14 QEventDispatcherGlib::processEvents(...)
#15 PySide6.QtCore
#16 Python call to QCoreApplication.processEvents()
#17 ConnectionChecker.run()
#18 QThreadPrivate::start()
Here is my FreeCAD build information from Help-> About:
OS: Linux Mint 22.3 (X-Cinnamon/cinnamon/xcb)
Architecture: x86_64
Version: 26.3.0dev.48363 +1 (Git)
Build date: 2026/09/02 06:41:46
Build type: Release
Branch: historical-python-store-test
Hash: 9ca8f05179a7e992000bcced36f457dba2b086de
Python 3.11.14, Qt 6.8.3, Coin 4.0.10 (bundled), Pivy 0.6.11 (bundled), Vtk 9.3.1, boost 1_86, Eigen3 3.4.0, PySide 6.8.3
shiboken 6.8.3, xerces-c 3.3.0, Clipper2 , OCC 7.8.1
Locale: English/United States (en_US)
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Dark/
QPA/File dialog/Color dialog: xcb/via Qt/via Qt
Navigation Style/Orbit Style/Rotation Mode: OpenSCAD/Trackball/Drag at cursor
Logical DPI/Physical DPI/Pixel Ratio: 96/129.444/1
OpenGL version/vendor/renderer: 4.6 (Compatibility Profile) Mesa 25.2.8-0ubuntu0.24.04.2/AMD/AMD Radeon 890M Graphics (radeonsi, gfx1150, LLVM 20.1.2, DRM 3.64, 6.17.0-1032-oem)
Installed mods:
* Assembly4 0.61.1
* Curves workbench 0.6.81
* Fasteners Workbench 0.5.65
I have a full analysis via Codex 5.6 Sol, but if you're not interested, I won't offer it.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the ConnectionChecker.run, CreateAddonListWorker, and GetBasicAddonStatsWorker paths named in the backtrace, then trace how their QNetworkAccessManager is accessed across threads. Reproduce the catalog download freeze around 57% and the Addon Manager reopen sequence while capturing the QObject warnings and backtrace. Done means the reported sequence no longer produces cross-thread warnings or a segfault.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100