How to reproduce
Compile Qt with -sanitize address and under module qtvirtualkeyboard run tst_inputpanel::tst_plugin::test_fullScreenModeWordReselection in a loop:
export ASAN_OPTIONS=detect_leaks=0 # ignore memory leaks while ./tst_inputpanel tst_plugin::test_fullScreenModeWordReselection; do : ; done
Problem
It will crash spuriously (around 1 out of 10 times) with either a heap-use-after-free or a stack-buffer-overflow.
Logs
See attached files.
If you need to debug it, I have setup a VM where the problem manifests. Get in touch with me to get access.
NOTE
This is the last issue remaining to enable blocking ASAN testruns in all modules of Qt.
- blocks
-
QTQAINFRA-5375 Enable ASAN build for Qt modules
-
- Closed
-
- resulted from
-
QTBUG-117060 ERROR: AddressSanitizer: heap-use-after-free in tst_inputpanel
-
- Closed
-
For Gerrit Dashboard: QTBUG-118163 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
512184,2 | SignalSpy: manually disconnect from target signal when we're destroyed | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516032,8 | Rewrite QuickTests's qWaitForSignal | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516465,2 | Rewrite QuickTests's qWaitForSignal | 6.6 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516478,2 | Rewrite QuickTests's qWaitForSignal | tqtc/lts-6.5 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |
517416,2 | SignalSpy: manually disconnect from target signal when we're destroyed | 6.6 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
517663,2 | SignalSpy: manually disconnect from target signal when we're destroyed | tqtc/lts-6.5 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |
517671,2 | SignalSpy: manually disconnect from target signal when we're destroyed | tqtc/lts-6.2 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |
518337,9 | SignalSpy: fix potential issues on disconnecting a signal | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
521788,2 | SignalSpy: fix potential issues on disconnecting a signal | 6.6 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
521917,2 | SignalSpy: fix potential issues on disconnecting a signal | tqtc/lts-6.5 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |
522046,1 | SignalSpy: fix potential issues on disconnecting a signal | tqtc/lts-6.2 | qt/tqtc-qtdeclarative | Status: ABANDONED | +2 | 0 |