Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.5.0
-
None
-
Linux x86_64
-
a094af001795c9651b299d700a992150d1aba33a
Description
I frequently get different kinds of crashes when changing screen resolution or switching screens on and off. For example:
#0 0x00007f981195efde in QXcbScreen::mapToNative(QRect const&) const () from /home/ulf/Qt/Tools/QtCreator/bin/plugins/platforms/../../../lib/qtcreator/libQt5XcbQpa.so.5 (gdb) bt #0 0x00007f981195efde in QXcbScreen::mapToNative(QRect const&) const () from /home/ulf/Qt/Tools/QtCreator/bin/plugins/platforms/../../../lib/qtcreator/libQt5XcbQpa.so.5 #1 0x00007f9811963eb3 in QXcbWindow::mapToNative(QRect const&, QXcbScreen const*) const () from /home/ulf/Qt/Tools/QtCreator/bin/plugins/platforms/../../../lib/qtcreator/libQt5XcbQpa.so.5 #2 0x00007f98119654da in QXcbWindow::propagateSizeHints() () from /home/ulf/Qt/Tools/QtCreator/bin/plugins/platforms/../../../lib/qtcreator/libQt5XcbQpa.so.5 #3 0x00007f9811969fed in QXcbWindow::setGeometry(QRect const&) () from /home/ulf/Qt/Tools/QtCreator/bin/plugins/platforms/../../../lib/qtcreator/libQt5XcbQpa.so.5 #4 0x00007f9819d774c3 in QWidgetPrivate::show_sys() () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #5 0x00007f9819d7f0e3 in QWidgetPrivate::show_helper() () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #6 0x00007f9819d81af5 in QWidget::setVisible(bool) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #7 0x00007f981a0a55a6 in ?? () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #8 0x00007f981a0a5dc1 in QCompleter::complete(QRect const&) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #9 0x00007f9819f14ef3 in QWidgetLineControl::complete(int) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #10 0x00007f9819e9025d in ?? () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #11 0x00007f98189f436e in QMetaObject::activate(QObject*, int, int, void**) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Core.so.5 #12 0x00007f981a0d0c95 in QWidgetLineControl::textEdited(QString const&) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #13 0x00007f9819f1718b in QWidgetLineControl::finishChange(int, bool, bool) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #14 0x00007f9819f19b15 in QWidgetLineControl::processKeyEvent(QKeyEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #15 0x00007f9819e8a19a in QLineEdit::keyPressEvent(QKeyEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #16 0x00007f981a57e452 in Utils::CompletingLineEdit::keyPressEvent(QKeyEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libUtils.so.1 #17 0x00007f9819d822f4 in QWidget::event(QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #18 0x00007f9819e90595 in QLineEdit::event(QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #19 0x00007f9819d414dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #20 0x00007f9819d4646d in QApplication::notify(QObject*, QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #21 0x00007f98189c66a3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Core.so.5 #22 0x00007f9819d9f163 in ?? () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #23 0x00007f9819d414dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #24 0x00007f9819d46640 in QApplication::notify(QObject*, QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Widgets.so.5 #25 0x00007f98189c66a3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Core.so.5 #26 0x00007f98194c4f4e in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Gui.so.5 #27 0x00007f98194c9a65 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Gui.so.5 #28 0x00007f98194aec4f in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Gui.so.5 #29 0x00007f98119bf170 in ?? () from /home/ulf/Qt/Tools/QtCreator/bin/plugins/platforms/../../../lib/qtcreator/libQt5XcbQpa.so.5 #30 0x00007f9816b8dc5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #31 0x00007f9816b8df48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007f9816b8dffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007f9818a1bae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Core.so.5 #34 0x00007f98189c4252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Core.so.5 #35 0x00007f98189cbd3d in QCoreApplication::exec() () from /home/ulf/Qt/Tools/QtCreator/bin/../lib/qtcreator/libQt5Core.so.5 #36 0x0000000000409d42 in ?? () #37 0x00007f98176d4b45 in __libc_start_main (main=0x4066f0, argc=1, argv=0x7fffdad51148, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffdad51138) at libc-start.c:287 #38 0x0000000000409e21 in ?? () #39 0x00007fffdad51138 in ?? () #40 0x000000000000001c in ?? () #41 0x0000000000000001 in ?? () #42 0x00007fffdad524c6 in ?? () #43 0x0000000000000000 in ?? ()
This one is triggered by something else, but I had switched off one of the two screens connected to the system shortly before and QXcbScreen::mapToNative probably does have something to do with screen resolution.
Another one of which I don't have a stack trace prints a string of warnings before it segfaults:
QPaintDevice::metrics: Device has no metric information QPainter::begin: Paint device returned engine == 0, type: 2 QPainter::setRenderHint: Painter must be active to set rendering hints QPainter::translate: Painter not active QPainter::setPen: Painter not active QPainter::setBrush: Painter not active QPainter::end: Painter not active, aborted QPainter::begin: Paint device returned engine == 0, type: 2 QPainter::setRenderHint: Painter must be active to set rendering hints QPainter::translate: Painter not active QPainter::setPen: Painter not active QPainter::setBrush: Painter not active QPainter::setPen: Painter not active QPainter::setBrush: Painter not active QPainter::end: Painter not active, aborted QPainter::begin: Paint device returned engine == 0, type: 2 QPainter::setRenderHint: Painter must be active to set rendering hints QPainter::translate: Painter not active QPainter::setPen: Painter not active QPainter::setBrush: Painter not active QPainter::drawRects: Painter not active QPainter::setPen: Painter not active QPainter::setBrush: Painter not active QPainter::setBrush: Painter not active QPainter::setPen: Painter not active QPainter::setPen: Painter not active QPainter::end: Painter not active, aborted Segmentation fault
This happened after or during a resolution change, where I mapped both connected displays to the same 1024x768 area.
Attachments
Issue Links
- relates to
-
QTBUG-42985 Qt GUI application disappear or crash when no screens are available
-
- Closed
-