Bug 493029

Summary: Crash on background parsing
Product: [Applications] kdevelop Reporter: akimzav
Component: generalAssignee: kdevelop-bugs-null
Status: REPORTED ---    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description akimzav 2024-09-12 18:34:07 UTC
Application: kdevelop (5.10.221202 (22.12.2))

Qt Version: 5.15.8
Frameworks Version: 5.103.0
Operating System: Linux 6.1.0-25-amd64 x86_64
Windowing System: X11
Distribution: Debian GNU/Linux 12 (bookworm)
DrKonqi: 5.27.5 [KCrashBackend]

-- Information about the crash:
KDevelop spontaneously crashes, presumably in process of parsing my files (C++). This belief of mine is due to the fact that crashes seem unrelated to any particular user action -- sometimes there was no action at all, at the moment of crash.
I utilize mixed templating+virtual functions and multiple inheritance; this confuses a lot of parsers.
Sometimes, KDevelop itself just refuses to update its warning/error highlight or text suggestions in some file, until an error in another file (not necessarily directly relevant to said file) is resolved. I believe, other times this results in a crash.

The crash can be reproduced sometimes.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f4d6ba494ef in QTextFormat::intProperty(int) const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#5  0x00007f4d6ba30919 in QTextEngine::font(QScriptItem const&) const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#6  0x00007f4d6ba3f07b in QTextLine::draw(QPainter*, QPointF const&, QTextLayout::FormatRange const*) const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#7  0x00007f4d6ba40906 in QTextLayout::draw(QPainter*, QPointF const&, QVector<QTextLayout::FormatRange> const&, QRectF const&) const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#8  0x00007f4d68d99048 in ?? () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5
#9  0x00007f4d68df8a79 in KateViewInternal::paintEvent(QPaintEvent*) () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5
#10 0x00007f4d6c1a4db8 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f4d6c162fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f4d6b4b1738 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f4d6c19d0d5 in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f4d6c19d9d1 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f4d6c19ecd6 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f4d6c19eb39 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f4d6c19eb39 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007f4d6c19d64c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f4d6c19ecd6 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f4d6c19d64c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007f4d6c19ecd6 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f4d6c19d64c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f4d6c19ecd6 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007f4d6c19d64c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f4d6c19ecd6 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007f4d6c19d64c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007f4d6c19ecd6 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007f4d6c19d64c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007f4d6c174305 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f4d6c1a5078 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007f4d69094307 in KXmlGuiWindow::event(QEvent*) () from /lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#32 0x00007f4d6c162fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f4d6b4b1738 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f4d6b4b46c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f4d6b50a193 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007f4d671d47a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f4d671d4a38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f4d671d4acc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007f4d6b509876 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007f4d6b4b01bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007f4d6b4b8316 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x000055ac35596699 in ?? ()
#43 0x00007f4d6b04624a in __libc_start_call_main (main=main@entry=0x55ac35591cc0, argc=argc@entry=3, argv=argv@entry=0x7ffd22d8a028) at ../sysdeps/nptl/libc_start_call_main.h:58
#44 0x00007f4d6b046305 in __libc_start_main_impl (main=0x55ac35591cc0, argc=3, argv=0x7ffd22d8a028, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd22d8a018) at ../csu/libc-start.c:360
#45 0x000055ac35597281 in ?? ()
[Inferior 1 (process 3727) detached]

Reported using DrKonqi