Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

26.3 Addon Manager Segfault: QNetworkAccessManager - QObject

Chiusa
#492 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
python
Ambito
desktop

Direzione di ricerca

Inizia con i percorsi ConnectionChecker.run, CreateAddonListWorker e GetBasicAddonStatsWorker indicati nel backtrace, quindi traccia il modo in cui si accede al loro QNetworkAccessManager tra thread. Riproduci il blocco del download del catalogo intorno al 57% e la sequenza di riapertura di Addon Manager, acquisendo nel frattempo gli avvisi di QObject e il backtrace. Il lavoro è completato quando la sequenza segnalata non produce più avvisi tra thread né un segfault.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Python
Stelle
20
Fork
32
Merge medio
1g 8h
PR unite (30g)
10

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FreeCAD/AddonManager

Tutte le issue di FreeCAD/AddonManager

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.