Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.13.2
-
None
Description
During the destruction of the QEglfsPlatform, it's possible to receive events from the touch device. Which causes a crash on exit because the `Screen` has been destroyed.
This is the thread #4
0x0000007f9f5f0378 in QScreen::geometry() const () at ../../include/QtCore/../../../git/src/corelib/tools/qsize.h:119 119 ../../include/QtCore/../../../git/src/corelib/tools/qsize.h: No such file or directory. (gdb) bt #0 0x0000007f9f5f0378 in QScreen::geometry() const () at ../../include/QtCore/../../../git/src/corelib/tools/qsize.h:119 #1 0x0000007f9c5955f8 in QEvdevTouchScreenData::screenGeometry() const () at ../../../include/QtCore/../../../git/src/corelib/tools/qrefcount.h:60 #2 0x0000007f9c5988ac in QEvdevTouchScreenData::reportPoints() () at ../../../include/QtCore/../../../git/src/corelib/tools/qrefcount.h:60 #3 0x0000007f9c599034 in QEvdevTouchScreenData::processInputEvent(input_event*) () at ../../../include/QtCore/../../../git/src/corelib/tools/qrefcount.h:60 #4 0x0000007f9c59a6f0 in QEvdevTouchScreenHandler::readData() () at ../../../include/QtCore/../../../git/src/corelib/tools/qrefcount.h:60 #5 0x0000007f9f1a686c in QMetaObject::activate(QObject*, int, int, void**) () at ../../../recipe-sysroot/usr/include/bits/string_fortified.h:34 #6 0x0000007f9f1b3c54 in QSocketNotifier::activated (this=this@entry=0x7f94000e50, _t1=<optimized out>, _t2=_t2@entry=...) at .moc/moc_qsocketnotifier.cpp:141 #7 0x0000007f9f1b40b8 in QSocketNotifier::event (this=0x7f94000e50, e=<optimized out>) at ../../../git/src/corelib/kernel/qsocketnotifier.cpp:266 #8 0x0000007f9f178488 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../../recipe-sysroot/usr/include/bits/string_fortified.h:34 #9 0x0000007f9f1d1e94 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() () at ../../include/QtCore/../../../git/src/corelib/tools/qlist.h:513 #10 0x0000007f9f1d22f8 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../../git/src/corelib/tools/qlist.h:513 #11 0x0000007f9f176bbc in QEventLoop::exec (this=0x7f9b205828, flags=...) at ../../include/QtCore/../../../git/src/corelib/global/qflags.h:140 #12 0x0000007f9ef99428 in QThread::exec() () at ../../include/QtCore/../../../git/src/corelib/tools/qarraydata.h:236 #13 0x0000007f9c596aec in QEvdevTouchScreenHandlerThread::run() () at ../../../include/QtCore/../../../git/src/corelib/tools/qrefcount.h:60 #14 0x0000007f9ef9aa78 in QThreadPrivate::start(void*) () at ../../include/QtCore/../../../git/src/corelib/tools/qarraydata.h:236 #15 0x0000007f9ea2c850 in start_thread (arg=0x7fe6c9e6e6) at pthread_create.c:479 #16 0x0000007fa0bd2f4c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
This is thread #1
#0 0x0000007fa0bc64c0 in __libc_open64 (file=file@entry=0x7f9c5a9c38 "/dev/tty0", oflag=oflag@entry=524290) at ../sysdeps/unix/sysv/linux/open64.c:48 #1 0x0000007f9c588308 in open64 (__oflag=524290, __path=0x7f9c5a9c38 "/dev/tty0") at ../../../../recipe-sysroot/usr/include/bits/fcntl2.h:85 #2 qt_safe_open (flags=<optimized out>, mode=<optimized out>, pathname=<optimized out>) at ../../../include/QtCore/5.13.2/QtCore/private/../../../../../../git/src/corelib/kernel/qcore_unix_p.h:195 #3 setTTYCursor (enable=enable@entry=true) at ../../../../git/src/platformsupport/fbconvenience/qfbvthandler.cpp:80 #4 0x0000007f9c588558 in QFbVtHandler::~QFbVtHandler (this=0x5586c681b0, __in_chrg=<optimized out>) at ../../../../git/src/platformsupport/fbconvenience/qfbvthandler.cpp:140 #5 0x0000007f9c588594 in QFbVtHandler::~QFbVtHandler (this=0x5586c681b0, __in_chrg=<optimized out>) at ../../../../git/src/platformsupport/fbconvenience/qfbvthandler.cpp:136 #6 0x0000007f9c53bc90 in QScopedPointerDeleter<QFbVtHandler>::cleanup (pointer=<optimized out>) at ../../../../include/QtCore/../../../git/src/corelib/tools/qscopedpointer.h:104 #7 QScopedPointer<QFbVtHandler, QScopedPointerDeleter<QFbVtHandler> >::~QScopedPointer (this=0x5586c70be8, __in_chrg=<optimized out>) at ../../../../include/QtCore/../../../git/src/corelib/tools/qscopedpointer.h:107 #8 QEglFSIntegration::~QEglFSIntegration (this=0x5586c70bb0, __in_chrg=<optimized out>) at ../../../../../git/src/plugins/platforms/eglfs/api/qeglfsintegration_p.h:67 #9 QEglFSIntegration::~QEglFSIntegration (this=0x5586c70bb0, __in_chrg=<optimized out>) at ../../../../../git/src/plugins/platforms/eglfs/api/qeglfsintegration_p.h:67 #10 0x0000007f9f5bd9a0 in QGuiApplicationPrivate::~QGuiApplicationPrivate() () at ../../include/QtCore/../../../git/src/corelib/tools/qlist.h:515 #11 0x0000007f9fbffb6c in QApplicationPrivate::~QApplicationPrivate (this=0x5586c66d20, __in_chrg=<optimized out>) at ../../../git/src/widgets/kernel/qapplication.cpp:177 #12 0x0000007f9f1aea60 in QObject::~QObject() () at ../../../recipe-sysroot/usr/include/bits/string_fortified.h:34 #13 0x0000007f9f17a96c in QCoreApplication::~QCoreApplication() () at ../../../recipe-sysroot/usr/include/bits/string_fortified.h:34 #14 0x0000007f9fc01ce0 in QApplication::~QApplication (this=0x7fe6c9ec28, __in_chrg=<optimized out>) at ../../../git/src/widgets/kernel/qapplication.cpp:841 #15 0x0000005555e3076c in ?? () #16 0x0000005555e30510 in ?? ()