Bug 448166 - Assertion failure in TypeSystem::ensureFactoryLoaded() after unloading Python Support and restarting
Summary: Assertion failure in TypeSystem::ensureFactoryLoaded() after unloading Python...
Status: REPORTED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: git master
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-01-09 15:27 UTC by Igor Kushnir
Modified: 2022-01-10 08:35 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Igor Kushnir 2022-01-09 15:27:40 UTC
Application: kdevelop (5.7.220370 (22.03.70))
 (Compiled from sources)
Qt Version: 5.15.2
Frameworks Version: 5.88.0
Operating System: Linux 5.15.7-1-MANJARO x86_64
Windowing System: X11
Distribution: Manjaro Linux
DrKonqi: 5.23.4 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
1. Install kdev-python and enable the "Python Support" plugin, but not "Python Debugger (PDB) support" plugin, in a session that contains 3 projects (kate, ktexteditor, syntax-highlighting).
2. Open a Python file (kate:addons/latexunicodecompletion/fetch_unicode_table.py). This file has been an active document for many session restarts (because I was testing Source Formatter settings and never changed the active document).
3. After many sesison restarts, unload the "Python Support" plugin and restart this KDevelop session again.
4. Start the KDevelop session. Check out Source Formatter tab in KDevelop settings. Let the session run for a while. Quit the session => an assertion fails.

The crashed session's output contained many identical lines:
kdevplatform.language: Cannot load a top-context from file "/home/igor/.cache/kdevduchain/kdevelop-{42384534-ccf8-442d-b6a9-9406038ea72f}/topcontexts/1" - the required language-support for handling ID 100 is probably not loaded

And the final two lines of the output:
kdevplatform.language: Factory for this type not loaded: 64
ASSERT: "false" in file /home/Fast_storage/kdevelop/kdevplatform/language/duchain/types/typeregister.cpp, line 53

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Aborted

[KCrash Handler]
#4  0x00007f5a6f3b5d22 in raise () at /usr/lib/libc.so.6
#5  0x00007f5a6f39f862 in abort () at /usr/lib/libc.so.6
#6  0x00007f5a6f94c94e in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f5a6f94bcd1 in qt_assert_x(char const*, char const*, char const*, int) () at /usr/lib/libQt5Core.so.5
#8  0x00007f5a72d8d712 in KDevelop::TypeSystem::ensureFactoryLoaded(KDevelop::AbstractTypeData const&) const (this=0x7f5a73d9e420 <KDevelop::TypeSystem::self()::system>, data=...) at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/types/typeregister.cpp:53
#9  0x00007f5a72d8d377 in KDevelop::TypeSystem::create(KDevelop::AbstractTypeData*) const (this=0x7f5a73d9e420 <KDevelop::TypeSystem::self()::system>, data=0x7f59c810b1f2) at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/types/typeregister.cpp:15
#10 0x00007f5a72d8eee3 in KDevelop::TypeRepository::typeForIndex(unsigned int) (index=65682) at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/types/typerepository.cpp:132
#11 0x00007f5a72da0cfc in KDevelop::IndexedType::abstractType() const (this=0x7fff3e763780) at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/types/indexedtype.cpp:55
#12 0x00007f5a72da8576 in KDevelop::MapType::hash() const (this=0x5620c78b7040) at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/types/containertypes.cpp:132
#13 0x00007f5a72d8c1b2 in KDevelop::AbstractTypeData::hash() const (this=0x7f59c8117294) at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/types/typesystem.cpp:37
#14 0x00007f5a72d95b74 in KDevelop::Bucket<KDevelop::AbstractTypeData, KDevelop::AbstractTypeDataRequest, true, 0u>::finalCleanup<KDevelop::ItemRepository<KDevelop::AbstractTypeData, KDevelop::AbstractTypeDataRequest, true, true, 0u, 1048576u> >(KDevelop::ItemRepository<KDevelop::AbstractTypeData, KDevelop::AbstractTypeDataRequest, true, true, 0u, 1048576u>&) (this=0x5620c7246600, repository=warning: RTTI symbol not found for class 'KDevelop::ItemRepository<KDevelop::AbstractTypeData, KDevelop::AbstractTypeDataRequest, true, true, 0u, 1048576u>'
...) at /home/Fast_storage/kdevelop/kdevplatform/serialization/itemrepository.h:672
#15 0x00007f5a72d957a3 in KDevelop::ItemRepository<KDevelop::AbstractTypeData, KDevelop::AbstractTypeDataRequest, true, true, 0u, 1048576u>::finalCleanup() (this=0x7f5a1682c010) at /home/Fast_storage/kdevelop/kdevplatform/serialization/itemrepository.h:2148
#16 0x00007f5a72a8c72c in KDevelop::ItemRepositoryRegistry::finalCleanup() (this=0x5620c4c90390) at /home/Fast_storage/kdevelop/kdevplatform/serialization/itemrepositoryregistry.cpp:376
#17 0x00007f5a72c7db1c in KDevelop::finalCleanup() () at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/duchain.cpp:1691
#18 0x00007f5a72c7dd8c in KDevelop::DUChain::shutdown() (this=0x5620c4e03f40) at /home/Fast_storage/kdevelop/kdevplatform/language/duchain/duchain.cpp:1729
#19 0x00007f5a73e73df5 in KDevelop::Core::cleanup() (this=0x5620c4505a30) at /home/Fast_storage/kdevelop/kdevplatform/shell/core.cpp:380
#20 0x00007f5a73e73a85 in KDevelop::Core::shutdown() (this=0x5620c4505a30) at /home/Fast_storage/kdevelop/kdevplatform/shell/core.cpp:332
#21 0x00007f5a73e4dc69 in KDevelop::MainWindow::~MainWindow() (this=0x5620c45221b0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/Fast_storage/kdevelop/kdevplatform/shell/mainwindow.cpp:138
#22 0x00007f5a73e4dd2a in KDevelop::MainWindow::~MainWindow() (this=0x5620c45221b0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/Fast_storage/kdevelop/kdevplatform/shell/mainwindow.cpp:142
#23 0x00007f5a6fbacec4 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#24 0x00007f5a71eacb98 in KXmlGuiWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5
#25 0x00007f5a73e4e241 in KDevelop::MainWindow::event(QEvent*) (this=0x5620c45221b0, ev=0x5620c7c240a0) at /home/Fast_storage/kdevelop/kdevplatform/shell/mainwindow.cpp:196
#26 0x00007f5a70a86ff6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#27 0x00007f5a6fb7f20a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#28 0x00007f5a6fb823b9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#29 0x00007f5a6fbd9518 in  () at /usr/lib/libQt5Core.so.5
#30 0x00007f5a6da234dc in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#31 0x00007f5a6da77799 in  () at /usr/lib/libglib-2.0.so.0
#32 0x00007f5a6da20bc1 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#33 0x00007f5a6fbd8b2a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#34 0x00007f5a6fb7dabb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#35 0x00007f5a6fb862a8 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#36 0x00005620c34eec33 in main(int, char**) (argc=3, argv=0x7fff3e7643d8) at /home/Fast_storage/kdevelop/app/main.cpp:846
[Inferior 1 (process 607264) detached]

Possible duplicates by query: bug 427387, bug 419428, bug 416714, bug 416051, bug 387224.

Reported using DrKonqi