-
Bug
-
Resolution: Done
-
P1: Critical
-
4.7.0
-
None
-
qt-s60-public/4.7 SHA
5800 XM and 5th edition emulator
-
3a9028d7ea6f14cf6039e6aba7606c4d71371338
QApplication owned QNetworkConfigurationManager crashes with KERN-EXEC 3 on destructor when QApplication is deleted.
Attached is a test application to reproduce the crash.
Call stack from crash:
31 0x461A266( ekern.exe )() 0x0461a266 30 0x461A44B( ekern.exe )() 0x0461a44b 29 0x462D0E4( ekern.exe )() 0x0462d0e4 28 0x464488E( ekern.exe )() 0x0464488e 27 0x46446B2( ekern.exe )() 0x046446b2 26 0x46121F8( ekern.exe )() 0x046121f8 25 0x46119BC( ekern.exe )() 0x046119bc 24 0x46111F5( ekern.exe )() 0x046111f5 23 0x46127B4( ekern.exe )() 0x046127b4 22 0x4644AF2( ekern.exe )() 0x04644af2 21 0x463A4B4( ekern.exe )() 0x0463a4b4 20 0x463A480( ekern.exe )() 0x0463a480 19 0x4619A4F( ekern.exe )() 0x04619a4f 18 0x4617CC7( ekern.exe )() 0x04617cc7 17 0x4617D35( ekern.exe )() 0x04617d35 16 QMutex::lock() X:\QtS60\src\corelib\thread\qmutex.cpp:151 0x00d4a017 15 QMutexLocker::QMutexLocker() X:\QtS60\src\corelib\thread\qmutex.h:103 0x00c4cc48 14 QNetworkConfigurationManagerPrivate::disablePolling() X:\QtS60\src\network\bearer\qnetworkconfigmanager_p.cpp:517 0x04045805 13 QNetworkConfigurationManager::~QNetworkConfigurationManager() X:\QtS60\src\network\bearer\qnetworkconfigmanager.cpp:233 0x0403ff2e 12 0x404037C( QtNetworkMy.dll )() 0x0404037c 11 QObjectPrivate::deleteChildren() X:\QtS60\src\corelib\kernel\qobject.cpp:1950 0x00cffbfc 10 QObject::~QObject() X:\QtS60\src\corelib\kernel\qobject.cpp:947 0x00cfe74a 9 QCoreApplication::~QCoreApplication() X:\QtS60\src\corelib\kernel\qcoreapplication.cpp:646 0x00ce6c04 8 QApplication::~QApplication() X:\QtS60\src\gui\kernel\qapplication.cpp:1203 0x0141f2e4 7 main() X:\ConfigManager\main.cpp:10 0x00401126 6 QtMainWrapper() X:\QtS60\src\s60main\qts60main_mcrt0.cpp:86 0x00402f01 5 E32Main() X:\QtS60\src\s60main\qts60main.cpp:56 0x00402c7c 4 _E32Startup() L:\src\cedar\generic\base\e32\euser\epoc\win32\uc_exe.cpp:83 0x00402008 3 0x461947F( ekern.exe )() 0x0461947f 2 0x4617987( ekern.exe )() 0x04617987 1 0x7C80B713( KERNEL32.dll )() 0x7c80b713
The problem seems to be in:
13 QNetworkConfigurationManager::~QNetworkConfigurationManager() X:\QtS60\src\network\bearer\qnetworkconfigmanager.cpp:233 0x0403ff2e
where code is:
QNetworkConfigurationManagerPrivate *priv = connManager(); priv->disablePolling();
And the priv is NULL:
priv 0x00000000 this 0x54589060