Qt application sporadically crashes On Mavericks OS, when applications is closed in Wifi setup page.
From top level view it looks like file in the file: qtbase\src\plugins\bearer\corewlanqcorewlanengine.mm QScanThread:run() thread, function QScanThread::isKnownSsid() is trying to traverse through the HashMap elements. At this time if user closes the application, the objects contents(along with HashMap) of the class QScanThread will get released, so at this state QScanThread trying to traverse through this HashMap, is crashing.
May be below change is needed in this file -corewlanqcorewlanengine.mm
// When user closes application, in this distructor call quit function will suspend the thread immediately
Attached is the crash log.
|For Gerrit Dashboard: QTBUG-36000|
|84903,1||CoreWLan: wait for scan thread to finish||release||qt/qtbase||Status: ABANDONED||-1||0|
|84975,2||CoreWLan: wait for scan thread to finish||stable||qt/qtbase||Status: MERGED||+2||0|
|92548,2||CoreWLan: terminate scan thread in QCoreWlanEngine destructor||5.4||qt/qtbase||Status: ABANDONED||+1||0|
|93013,2||CoreWLan: terminate scan thread in QCoreWlanEngine destructor||5.3||qt/qtbase||Status: MERGED||+2||0|
|96145,5||CoreWLan: avoid crash without terminating scan thread||5.4||qt/qtbase||Status: ABANDONED||0||0|
|96207,1||CoreWLan: avoid crash without terminating scan thread||5.4||qt/qtbase||Status: ABANDONED||0||0|
|98077,2||CoreWLan: properly wait for scan thread to finish||5.4||qt/qtbase||Status: MERGED||+2||0|