Details
-
Bug
-
Resolution: Cannot Reproduce
-
Not Evaluated
-
None
-
5.15.5
-
None
Description
I have a VirtualBox Linux guest (Gentoo) running qtgui-5.15.5. Any application that utilises qtgui will result in a segmentation fault. Initially, I thought that this was a bug in KeePassXC, but after testing with another Qt-based application (the tea text editor), I realised that it is actually within the qtgui library.
After an initial gdb backtrace yielded the following SGSEGV, I recompiled both qtgui and keepassxc with full debugging symbols enabled:
(gdb) run Starting program: /usr/bin/keepassxc [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7ffff2d15640 (LWP 28141)] [New Thread 0x7ffff24f1640 (LWP 28142)]Thread 1 "keepassxc" received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb) bt #0 0x0000000000000000 in ?? () #1 0x0000555555643dcd in AdaptiveIconEngine::pixmap(QSize const&, QIcon::Mode, QIcon::State) () #2 0x00007ffff6cbe424 in QIcon::pixmap(QWindow*, QSize const&, QIcon::Mode, QIcon::State) const () from /usr/lib64/libQt5Gui.so.5 #3 0x00007ffff6cbe52e in QIcon::pixmap(QSize const&, QIcon::Mode, QIcon::State) const () from /usr/lib64/libQt5Gui.so.5 #4 0x000055555571e90e in KMessageWidgetPrivate::init(KMessageWidget*) () #5 0x000055555571f16f in KMessageWidget::KMessageWidget(QWidget*) () #6 0x00005555556293c0 in MessageWidget::MessageWidget(QWidget*) () #7 0x0000555555621d80 in Ui_MainWindow::setupUi(QMainWindow*) () #8 0x00005555556161d2 in MainWindow::MainWindow() () #9 0x00005555555f0954 in main ()
I then inserted a breakpoint at the 'AdaptiveIconEngine' step, and did a `stepi` from that point until the segmentation fault. The relevant portion toward the end of the stepping was:
0x00007ffff6c28e4f 1105 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c28e50 1105 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) QImage::fill (pixel=0, this=0x7fffffffd690) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp:1734 1734 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c298e7 1734 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c298ea 1734 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 1737 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c298f3 1748 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c298f7 1748 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c298fb 1738 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c298ff 1737 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29902 1748 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29906 1748 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29909 1737 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c2990f 1737 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29912 1737 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 1751 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c2991b 1751 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 1757 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29924 1757 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 1763 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c2992d 1763 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 1769 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29936 1769 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29939 1769 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 1771 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c2993e 1771 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 1777 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29aa2 1777 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29aa5 1778 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29aab 1778 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29aae 1778 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29ab1 1778 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) qt_rectfill<unsigned int> (x=0, y=0, stride=37, height=0, width=7106418, value=<optimized out>, dest=0x0) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:951 951 /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h: No such file or directory. (gdb) 0x00007ffff6c29952 955 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29955 955 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) qt_memfill<unsigned int> (count=113702688, color=<optimized out>, dest=0x0) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:932 932 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a65 932 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a6e 932 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a74 932 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a7b in qt_rectfill<unsigned int> (x=0, y=0, stride=37, height=0, width=7106418, value=<optimized out>, dest=0x0) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:956 956 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a7e in qt_memfill<unsigned int> (count=113702688, color=<optimized out>, dest=0x0) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:932 932 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a80 932 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a83 in qt_rectfill<unsigned int> (x=0, y=0, stride=37, height=0, width=7106418, value=<optimized out>, dest=0x0) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:956 956 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a87 in qt_memfill<unsigned int> (count=113702688, color=<optimized out>, dest=0x0) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:932 932 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h (gdb) 0x00007ffff6c29a8a in QImage::fill (this=this@entry=0x7fffffffd690, pixel=pixel@entry=0) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp:1782 1782 /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp: No such file or directory. (gdb) 0x00007ffff6c29a8e 1782 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29a8f 1782 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29a90 1782 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29a92 1782 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29a94 1782 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29a96 1782 in /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/src/gui/image/qimage.cpp (gdb) 0x00007ffff6c29a98 in qt_memfill<unsigned int> (count=256, color=<optimized out>, dest=0x555555bc2c30) at /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:932 932 /var/tmp/portage/dev-qt/qtgui-5.15.5-r2/work/qtbase-everywhere-src-5.15.5/include/QtGui/5.15.5/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h: No such file or directory. (gdb) 0x0000000000000000 in ?? () (gdb)Thread 1 "keepassxc" received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb) Couldn't get registers: No such process. (gdb) [Thread 0x7ffff244e640 (LWP 12928) exited] [Thread 0x7ffff32c17c0 (LWP 12924) exited] [Thread 0x7ffff2c72640 (LWP 12927) exited] [New process 12924]Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists.The program is not being run. (gdb)
and I have attached the full gdb stepping log to this bug report.
If any further information is needed, please let me know.
Cheers,
Nathan Zachary