[Interest] Crash in Qt OpenSSL thread

Mårten Nordheim marten.nordheim at qt.io
Tue Mar 23 10:49:46 CET 2021


Hello!

Given the issue (heap corruption) and lack of symbols for openssl it's somewhat hard to determine.
With heap corruption it could be a buffer overflow somewhere else in the application which is then caught during the malloc call.

Mårten

________________________________________
From: Interest <interest-bounces at qt-project.org> on behalf of Alexander Dyagilev <alervdvcw at gmail.com>
Sent: Sunday, March 21, 2021 20:32
To: Interests Qt
Subject: [Interest] Crash in Qt OpenSSL thread

Hello,

One of our users reported the following crash:

Unhandled exception at 0x00007FF82C50EF89 (ntdll.dll) in
fdm.exe.3964.dmp: 0xC0000374: A heap has been corrupted (parameters:
0x00007FF82C5777F0).

With the following stack trace:

ntdll.dll!RtlReportFatalFailure
()    Unknown
ntdll.dll!RtlReportCriticalFailure
()    Unknown
ntdll.dll!RtlpHeapHandleError
()    Unknown
ntdll.dll!RtlpHpHeapHandleError
()    Unknown
ntdll.dll!RtlpLogHeapFailure
()    Unknown
ntdll.dll!RtlpLowFragHeapAllocFromContext()    Unknown
ntdll.dll!RtlpAllocateHeapInternal
()    Unknown
ucrtbase.dll!_malloc_base()    Unknown
libcrypto-1_1-x64.dll!00007fffc4a6f16e()    Unknown
libcrypto-1_1-x64.dll!00007fffc4a719b9()    Unknown
libssl-1_1-x64.dll!00007ff813f6e166()    Unknown
libssl-1_1-x64.dll!00007ff813f85f3f()    Unknown
libssl-1_1-x64.dll!00007ff813f66d0c()    Unknown
Qt5Network.dll!QSslSocketBackendPrivate::startHandshake() Line 1011    C++
Qt5Network.dll!QSslSocketBackendPrivate::startServerEncryption() Line
695    C++
Qt5Network.dll!QSslSocket::startClientEncryption() Line 1855 C++
Qt5Network.dll!QSslSocket::qt_static_metacall(QObject * _o,
QMetaObject::Call _c, int _id, void * * _a) Line 180    C++
Qt5Core.dll!QMetaObject::activate(QObject * sender, int signalOffset,
int local_signal_index, void * * argv) Line 3807 C++
Qt5Network.dll!QAbstractSocketPrivate::_q_testConnection() Line 1181    C++
Qt5Network.dll!QWriteNotifier::event(QEvent * e) Line 1310    C++
Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver,
QEvent * e) Line 3652    C++
Qt5Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line
3604    C++
Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent
* event) Line 1088    C++
Qt5Core.dll!qt_internal_proc(HWND__ * hwnd, unsigned int message,
unsigned __int64 wp, __int64 lp) Line 204    C++
user32.dll!UserCallWinProcCheckWow()    Unknown
user32.dll!DispatchMessageWorker()    Unknown
Qt5Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum
QEventLoop::ProcessEventsFlag> flags) Line 650    C++
Qt5Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag>
flags) Line 225    C++
Qt5Core.dll!QThread::exec() Line 531    C++
Qt5Core.dll!QThreadPrivate::start(void * arg) Line 405    C++
kernel32.dll!BaseThreadInitThunk
()    Unknown
ntdll.dll!RtlUserThreadStart
()    Unknown

We use Qt 5.12.10. It seems it's a rare crash. Any thoughts what can be
the cause of it and can it be fixed somehow?

_______________________________________________
Interest mailing list
Interest at qt-project.org
https://lists.qt-project.org/listinfo/interest


More information about the Interest mailing list