Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.9.1
-
Windows
Description
After reconnecting a few times it is possible for a modbus client to assert due to an unexpected state. Unfortunately I don't have an example, but the following is the stack for the assert:
1 QMessageLogger::fatal qlogging.cpp 788 0x18af282 2 qt_assert_x qglobal.cpp 3052 0x18aaa7b 3 QModbusRtuSerialMasterPrivate::processQueue qmodbusrtuserialmaster_p.h 362 0x1ffb353e 4 QModbusRtuSerialMasterPrivate::setupSerialPort()::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const qmodbusrtuserialmaster_p.h 160 0x1ffc3e37 5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, QModbusRtuSerialMasterPrivate::setupSerialPort()::{lambda()#3}::operator()() const::{lambda()#1}>::call({lambda()#3}&, void * *) qobjectdefs_impl.h 130 0x1ffc3e37 6 QtPrivate::Functor<QModbusRtuSerialMasterPrivate::setupSerialPort()::{lambda()#3}::operator()() const::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#3}&, void *, QtPrivate::List<> *) qobjectdefs_impl.h 242 0x1ffc3e37 7 QtPrivate::QFunctorSlotObject<QModbusRtuSerialMasterPrivate::setupSerialPort()::{lambda()#3}::operator()() const::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobject_impl.h 168 0x1ffc3e37 8 QtPrivate::QSlotObjectBase::call qobject_impl.h 101 0x1a4b1d3 9 QSingleShotTimer::timerEvent qtimer.cpp 318 0x1a4b1d3 10 QObject::event qobject.cpp 1227 0x1a430ec 11 QApplicationPrivate::notify_helper qapplication.cpp 3717 0x159685a6 12 QApplication::notify qapplication.cpp 3089 0x1596fb9c 13 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1018 0x1a1c189 14 QCoreApplication::sendEvent qcoreapplication.h 233 0x1a6a86b 15 QEventDispatcherWin32Private::sendTimerEvent qeventdispatcher_win.cpp 444 0x1a6a86b 16 QEventDispatcherWin32::event qeventdispatcher_win.cpp 1054 0x1a6b066 17 QApplicationPrivate::notify_helper qapplication.cpp 3717 0x159685a6 18 QApplication::notify qapplication.cpp 3089 0x1596fb9c 19 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1018 0x1a1c189 20 QCoreApplication::sendEvent qcoreapplication.h 233 0x1a20a12 21 QCoreApplicationPrivate::sendPostedEvents qcoreapplication.cpp 1678 0x1a20a12 22 QEventDispatcherWin32::sendPostedEvents qeventdispatcher_win.cpp 1062 0x1a67cd7 23 QWindowsGuiEventDispatcher::sendPostedEvents qwindowsguieventdispatcher.cpp 81 0x62aa7150 24 qt_internal_proc(HWND__ *, unsigned int, unsigned int, long) *16 qeventdispatcher_win.cpp 234 0x1a6ae72 25 gapfnScSendMessage 0x768562fa 26 ?? 0xb0864 27 ?? 0x401 28 ??
The output from the logging is attached.