Details
-
Bug
-
Resolution: Invalid
-
P2: Important
-
4.7.3
-
The device is Nokia N8 022.012 RND. QT version is preinstalled one (4.7.3).
Description
Our application has QML UI and C++ library that takes care of network interaction. When network caching is enabled using command
CustomNetworkCache *diskCache = new CustomNetworkCache(parent);
diskCache->setCacheDirectory(kCacheDirName);
nam->setCache(diskCache);
where QNetworkAccessManager *nam is our custom cache manager, we are seeing the following intermittent crash:
2e97599c 7d0234f7 .4.} 0007 qmalloc.o(.text) qMalloc(unsigned)
2e9759a4 7d068c53 S..} 0023 qlist.o(.text) QListData::detach_grow(int*, int)
PC 7d0a4268 hB.} 0004 qfile.o(t.ZNK6QFlagsIN9QIODevice12OpenModeFlagEEanES1) QFlags<QIODevice::OpenModeFlag>::operator &(QIODevice::OpenModeFlag) const
LR 7d02a3c9 ...} 0019 qiodevice.o(.text) QIODevice::write(const char*, long long)
2e9759a8 7ef4c438 8..~
2e9759d4 7c71877b {.q| 0065 qnetworkreplyimpl.o(.text) QNetworkReplyImplPrivate::appendDownstreamData(QByteDataBuffer&)
2e9759fc 7c7103ab ..q| 0017 qnetworkaccessbackend.o(.text) QNetworkAccessBackend::networkInterface() const
2e975a04 7c7138b5 .8q| 000f qnetworkaccesshttpbackend.o(.text) QNetworkAccessHttpBackend::downstreamReadyWrite()
2e975a34 7c7142e3 .Bq| 0017 qnetworkaccesshttpbackend.o(.text) QNetworkAccessHttpBackend::replyHeaderChanged()
2e975a3c 7c737ae9 .zs| 0017 moc_qnetworkaccesshttpbackend_p.o(.text) QNetworkAccessHttpBackend::qt_metacall(QMetaObject::Call, int, void**)
2e975a54 7d04947b
2e975abc 7c737817 .xs| 0007 moc_qhttpnetworkreply_p.o(.text) QHttpNetworkReply::finished()
2e975ac4 7c70d361 a.p| 01ed qhttpnetworkconnectionchannel.o(.text) QHttpNetworkConnectionChannel::_q_receiveReply()
2e975ad4 7d000000 ...} uc_dll_.o(.emb_text) _E32Dll
2e975ae4 7d08b32b +..} 0007 qmutex.o(i._ZN15QBasicAtomicInt17testAndSetAcquireEii) QBasicAtomicInt::testAndSetAcquire(int, int)
2e975afc 7c70d5a1 ..p| 005b qhttpnetworkconnectionchannel.o(.text) QHttpNetworkConnectionChannel::qt_metacall(QMetaObject::Call, int, void**)
2e975b14 7d04947b {..}
0191 qobject.o(.text) QMetaObject::activate(QObject*, const QMetaObject*, int, void**)
2e975b60 7d0cf284 ...} moc_qiodevice.o(.constdata) QIODevice::staticMetaObject
2e975b7c 7d05b2db ...} 000d moc_qiodevice.o(.text) QIODevice::readyRead()
2e975b84 7c729c37 7.r| 0129 qabstractsocket.o(.text) QAbstractSocketPrivate::canReadNotification()
2e975ba4 7c7416ef ..t| 0009 qudpsocket.o(i.ZThn144_N17QUdpSocketPrivateD0Ev) thunk{-144} to QUdpSocketPrivate::~QUdpSocketPrivate_deallocating()
2e975bac 7c723bdd .;r| 000f qnativesocketengine.o(.text) QWriteNotifier::event(QEvent*)
2e975bb4 7c2ad96f o.| 007f qapplication.o(.text) QApplicationPrivate::notify_helper(QObject, QEvent*)
2e975bcc 7c2adc33 3.| 0241 qapplication.o(.text) QApplication::notify(QObject, QEvent*)
2e975bd0 7d01ac88 ...} heap_hybrid.o(.text) RHybridHeap::ReAlloc(void*, int, int)
2e975cd4 7d097ea9 .~.} 000d qcoreapplication.o(t._ZN5QListI10QPostEventE5beginEv) QList<QPostEvent>::begin()
2e975d04 7d0434cb .4.} 0041 qcoreapplication.o(.text) QCoreApplication::notifyInternal(QObject*, QEvent*)
2e975d34 7d08b68b ...} 0023 qcoreapplication.o(i._ZN16QCoreApplication9sendEventEP7QObjectP6QEvent) QCoreApplication::sendEvent(QObject*, QEvent*)
2e975d3c 7d050215 ...} 00a3 qeventdispatcher_symbian.o(.text) QEventDispatcherSymbian::socketFired(QSocketActiveObject*)
2e975d40 7d122f4c L/.} 0008 qcoreevent.o(.constdata__ZTV6QEvent) vtable for QEvent
2e975d64 7d05025f _..} 0017 qeventdispatcher_symbian.o(.text) QSocketActiveObject::RunL()
2e975d9c 7d050a5f _..} 0101 qeventdispatcher_symbian.o(.text) QEventDispatcherSymbian::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
2e975ddc 7d042603 .&.} 0037 qeventloop.o(.text) QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
2e975df4 7d0426ff .&.} 008d qeventloop.o(.text) QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
2e975e14 7bf089ac ...
0049 qthread.o(.text) QThread::exec()
2e975e24 7d121478 x..} 0008 moc_qeventloop.o(.constdata__ZTV10QEventLoop) vtable for QEventLoop
2e975e3c 7bf089ac ...{ qdeclarativepixmapcache.o(.constdata) QDeclarativePixmapReaderThreadObject::staticMetaObject
2e975e44 7be828d7 .(.{ 0071 qdeclarativepixmapcache.o(.text) QDeclarativePixmapReader::run()
2e975e48 7be82867 g(.{ 0001 qdeclarativepixmapcache.o(.text) QDeclarativePixmapReader::run()
2e975e4c 7bf0899c ...
0001 qthread_unix.o(.text) QThreadPrivate::start(void*)
2e975e64 7d05a695 ...} 004b qthread_unix.o(.text) QThreadPrivate::start(void*)
2e975e70 7d05a64b K..} 0001 qthread_unix.o(.text) QThreadPrivate::start(void*)
2e975ec4 7d01ac88 ...} heap_hybrid.o(.text) RHybridHeap::ReAlloc(void*, int, int)
2e975ed4 7d01aca0 ...} 0018 heap_hybrid.o(.text) RHybridHeap::ReAlloc(void*, int, int)
2e975ef8 7d01ac88 ...} heap_hybrid.o(.text) RHybridHeap::ReAlloc(void*, int, int)
This problem seems different than http://bugreports.qt.nokia.com/browse/QTBUG-18770, since crash occurs during writing to cache. Same code works fine on Meego and Simulator. Problem is difficult to reproduce with Wi-Fi, however quite easy with GPRS when connection is going on and off (like when signal is poor). Attached is a fully decoded crash stack.
Also, surprisingly, we are seeing that cache is working only in the debug version of application; in the release, cache (and crash) are not present.
Anything that could be done to fix the problem? Also, is there a way to install a debug SIS for QT on Symbian?
Thanks a lot for looking into this.