Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
4.7.4
-
Symbian^3, MCL and latest branch
-
f5e7b6c64caa67bf11fa9754114d686da73b22d6
Description
There is a reccurring mobile crash :
http://147.243.255.208/mobilecrash/index.php/defect/direct/id/364708
Analysis shows ...
QEventDispatcherSymbian::closingDown() deletes the CQtActiveScheduler which in turn deletes the CActiveScheduler.
This calls Cancel on all the active objects.
As QNetworkSessionPrivateImpl is an active object and it ownes ConnectionProgressNotifier which is also an active object then when they are cancelled
QNetworkSessionPrivateImpl() Closes the RConnection (iConnection) But the ConnectionProgressNotifier then tries to use this in it's DoCancel method and this results in a KERN-EXEC 0 panic.
One work around to this would be to check the handle is still valid in the ConnectionProgressNotifier ...
/sf/mw/qt/src/plugins/bearer/symbian/qnetworksession_impl.cpp
void ConnectionProgressNotifier::DoCancel() 1577 { new if (iConnection.SubSessionHandle()==KNullHandle) 1578 iConnection.CancelProgressNotification(); 1579 }