Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-28412

QtCore or QtNetwork crashes frequently

XMLWordPrintable

      My program embeds a QWebView, I use my own QNetworkAccessManager subclass to replace the default one, but it gets crash frequently at the following code:

      QNetworkReply* NetworkServiceManager::createRequest ( Operation op, const QNetworkRequest & req, QIODevice * outgoingData /*= 0*/ )
      {
      #ifndef QT_NO_OPENSSL
          if (req.url().scheme() == "https") {
              QNetworkRequest request = req; // copy so we can modify
      
      #ifdef Q_WS_WIN
              request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
      #else
              request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/12.0.703.0 Safari/534.24");
      #endif
              request.setSslConfiguration(SslConfig(req.url()));
      
              return QNetworkAccessManager::createRequest(op, request, outgoingData);
          } else
      #endif
          {
              return QNetworkAccessManager::createRequest(op, req, outgoingData);
          }
      }
      

      From the call stack, I know it crashes at the last QNetworkAccessManager::createRequest call. The call stack is shown below:

      0:000:x86> kn
       # ChildEBP RetAddr  
      WARNING: Stack unwind information not available. Following frames may be wrong.
      00 002eb6a8 62dacf82 ntdll32!ZwRaiseException+0x12
      01 002eb6e8 595678ac MSVCR100D!CxxThrowException+0x52
      02 002eb704 595c63e3 Qt5Cored!qBadAlloc+0x1c [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\global\qglobal.cpp @ 1932]
      03 002eb718 6098ec92 Qt5Cored!QListData::detach+0x33 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\tools\qlist.cpp @ 129]
      04 002eb730 609dcf51 Qt5Networkd!QList<QPair<QByteArray,QByteArray> >::detach_helper+0x22 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\tools\qlist.h @ 694]
      05 002eb740 609dce87 Qt5Networkd!QList<QPair<QByteArray,QByteArray> >::reserve+0x31 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\tools\qlist.h @ 486]
      06 002eb75c 609dc1a0 Qt5Networkd!operator>><QPair<QByteArray,QByteArray> >+0x27 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\io\qdatastream.h @ 234]
      07 002eb76c 609dc100 Qt5Networkd!QNetworkCacheMetaDataPrivate::load+0x90 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qabstractnetworkcache.cpp @ 405]
      08 002eb77c 609df7d7 Qt5Networkd!operator>>+0x10 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qabstractnetworkcache.cpp @ 367]
      09 002eb7d8 609de5b2 Qt5Networkd!QCacheItem::read+0x87 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkdiskcache.cpp @ 710]
      0a 002eb800 609de534 Qt5Networkd!QNetworkDiskCache::fileMetaData+0x62 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkdiskcache.cpp @ 390]
      0b 002eb824 609cf11d Qt5Networkd!QNetworkDiskCache::metaData+0x74 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkdiskcache.cpp @ 373]
      0c 002eb98c 609d0a08 Qt5Networkd!QNetworkReplyHttpImplPrivate::loadFromCacheIfAllowed+0x22d [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkreplyhttpimpl.cpp @ 488]
      0d 002ebd70 609d3e69 Qt5Networkd!QNetworkReplyHttpImplPrivate::postRequest+0xd68 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkreplyhttpimpl.cpp @ 679]
      0e 002ebdb8 609d438a Qt5Networkd!QNetworkReplyHttpImplPrivate::start+0x39 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkreplyhttpimpl.cpp @ 1522]
      0f 002ebfa0 609ce566 Qt5Networkd!QNetworkReplyHttpImplPrivate::_q_startOperation+0x39a [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkreplyhttpimpl.cpp @ 1572]
      10 002ec18c 609aa07b Qt5Networkd!QNetworkReplyHttpImpl::QNetworkReplyHttpImpl+0x756 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkreplyhttpimpl.cpp @ 242]
      11 002ec300 65fb2391 Qt5Networkd!QNetworkAccessManager::createRequest+0x68b [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkaccessmanager.cpp @ 1060]
      12 002ec360 609a93ac CoreLib1!NetworkServiceManager::createRequest+0x181 [d:\shareware\sansasori\src\corelib\network\networkservicemanager.cpp @ 112]
      13 002ec378 103c3300 Qt5Networkd!QNetworkAccessManager::get+0x1c [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkaccessmanager.cpp @ 659]
      14 002ec400 103c3575 Qt5WebKitd!WebCore::QNetworkReplyHandler::sendNetworkRequest+0x140 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 732]
      15 002ec444 103c0fa4 Qt5WebKitd!WebCore::QNetworkReplyHandler::start+0x65 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 771]
      16 002ec450 103c0dde Qt5WebKitd!WebCore::QNetworkReplyHandlerCallQueue::flush+0x54 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 249]
      17 002ec45c 103c1af8 Qt5WebKitd!WebCore::QNetworkReplyHandlerCallQueue::push+0x1e [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 216]
      18 002ec478 1077f6c0 Qt5WebKitd!WebCore::QNetworkReplyHandler::QNetworkReplyHandler+0x1b8 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 452]
      19 002ec4cc 10774fbc Qt5WebKitd!WebCore::ResourceHandle::start+0x120 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\resourcehandleqt.cpp @ 111]
      1a 002ec520 1046c05f Qt5WebKitd!WebCore::ResourceHandle::create+0x15c [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\resourcehandle.cpp @ 81]
      1b 002ec548 1043b98e Qt5WebKitd!WebCore::ResourceLoader::start+0x1df [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\resourceloader.cpp @ 170]
      1c 002ec574 1043b4f8 Qt5WebKitd!WebCore::ResourceLoadScheduler::servePendingRequests+0x16e [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\resourceloadscheduler.cpp @ 248]
      1d 002ec594 1043b2e8 Qt5WebKitd!WebCore::ResourceLoadScheduler::scheduleLoad+0x158 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\resourceloadscheduler.cpp @ 163]
      1e 002ec5b0 103139f8 Qt5WebKitd!WebCore::ResourceLoadScheduler::scheduleSubresourceLoad+0x58 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\resourceloadscheduler.cpp @ 124]
      1f 002ec608 1051494a Qt5WebKitd!WebCore::CachedResource::load+0x358 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\cache\cachedresource.cpp @ 297]
      20 002ec708 10515e3d Qt5WebKitd!WebCore::CachedResourceLoader::requestResource+0x42a [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\cache\cachedresourceloader.cpp @ 468]
      21 002ec834 10515c2b Qt5WebKitd!WebCore::CachedResourceLoader::requestPreload+0x11d [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\cache\cachedresourceloader.cpp @ 817]
      22 002ec914 10ad924b Qt5WebKitd!WebCore::CachedResourceLoader::preload+0x10b [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\cache\cachedresourceloader.cpp @ 792]
      23 002ecaf4 10ad8b92 Qt5WebKitd!WebCore::PreloadTask::preload+0x10b [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\html\parser\htmlpreloadscanner.cpp @ 136]
      24 002ecb5c 10ad89b5 Qt5WebKitd!WebCore::HTMLPreloadScanner::processToken+0x1b2 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\html\parser\htmlpreloadscanner.cpp @ 218]
      25 002ecb68 104be8ed Qt5WebKitd!WebCore::HTMLPreloadScanner::scan+0x55 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\html\parser\htmlpreloadscanner.cpp @ 187]
      26 002ecba8 104be2b3 Qt5WebKitd!WebCore::HTMLDocumentParser::pumpTokenizer+0x3fd [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\html\parser\htmldocumentparser.cpp @ 292]
      27 002ecbb8 104bebad Qt5WebKitd!WebCore::HTMLDocumentParser::pumpTokenizerIfPossible+0x83 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\html\parser\htmldocumentparser.cpp @ 174]
      28 002ecbcc 10abb7aa Qt5WebKitd!WebCore::HTMLDocumentParser::append+0xed [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\html\parser\htmldocumentparser.cpp @ 363]
      29 002ecc24 103279b8 Qt5WebKitd!WebCore::DecodedDataDocumentParser::appendBytes+0x6a [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\dom\decodeddatadocumentparser.cpp @ 50]
      2a 002ecc40 101f1cc5 Qt5WebKitd!WebCore::DocumentWriter::addData+0xb8 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\documentwriter.cpp @ 222]
      2b 002ecc90 0fc27b55 Qt5WebKitd!WebCore::DocumentLoader::commitData+0x1b5 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\documentloader.cpp @ 363]
      2c 002eccbc 101f1af7 Qt5WebKitd!WebCore::FrameLoaderClientQt::committedLoad+0x25 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webkit\qt\webcoresupport\frameloaderclientqt.cpp @ 877]
      2d 002ecce4 101f1e86 Qt5WebKitd!WebCore::DocumentLoader::commitLoad+0xa7 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\documentloader.cpp @ 325]
      2e 002eccf8 1078a943 Qt5WebKitd!WebCore::DocumentLoader::receivedData+0x26 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\documentloader.cpp @ 394]
      2f 002ecd0c 1046c51f Qt5WebKitd!WebCore::MainResourceLoader::addData+0x33 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\mainresourceloader.cpp @ 190]
      30 002ecd28 1078b948 Qt5WebKitd!WebCore::ResourceLoader::didReceiveData+0x2f [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\resourceloader.cpp @ 293]
      31 002ecd4c 1046cc2b Qt5WebKitd!WebCore::MainResourceLoader::didReceiveData+0x168 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\mainresourceloader.cpp @ 488]
      32 002ecd74 103c3048 Qt5WebKitd!WebCore::ResourceLoader::didReceiveData+0x4b [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\loader\resourceloader.cpp @ 448]
      33 002ecd9c 103c0fa4 Qt5WebKitd!WebCore::QNetworkReplyHandler::forwardData+0x128 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 674]
      34 002ecda8 103c0e39 Qt5WebKitd!WebCore::QNetworkReplyHandlerCallQueue::flush+0x54 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 249]
      35 002ecdb4 103c3f51 Qt5WebKitd!WebCore::QNetworkReplyHandlerCallQueue::unlock+0x29 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 230]
      36 002ecdc0 103c1798 Qt5WebKitd!WebCore::QueueLocker::~QueueLocker+0x11 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 257]
      37 002ecde0 103c15f9 Qt5WebKitd!WebCore::QNetworkReplyWrapper::emitMetaDataChanged+0x118 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 390]
      38 002ecdf4 103c150a Qt5WebKitd!WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType+0x89 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 360]
      39 002ece64 103c3a00 Qt5WebKitd!WebCore::QNetworkReplyWrapper::receiveMetaData+0x25a [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\platform\network\qt\qnetworkreplyhandler.cpp @ 346]
      3a 002ece74 59814c50 Qt5WebKitd!WebCore::QNetworkReplyWrapper::qt_static_metacall+0x30 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtwebkit\source\webcore\tmp\moc\debug_shared\moc_qnetworkreplyhandler.cpp @ 172]
      3b 002ecf4c 59814681 Qt5Cored!QMetaObject::activate+0x5c0 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qobject.cpp @ 3441]
      3c 002ecf64 598c9579 Qt5Cored!QMetaObject::activate+0x21 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qobject.cpp @ 3316]
      3d 002ecf80 609d2a3a Qt5Cored!QIODevice::readyRead+0x19 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\tmp\moc\debug_shared\moc_qiodevice.cpp @ 154]
      3e 002ecfac 60a73ae1 Qt5Networkd!QNetworkReplyHttpImplPrivate::replyDownloadProgressSlot+0x12a [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\access\qnetworkreplyhttpimpl.cpp @ 1191]
      3f 002ed008 5980e78d Qt5Networkd!QNetworkReplyHttpImpl::qt_static_metacall+0x251 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\network\tmp\moc\debug_shared\moc_qnetworkreplyhttpimpl_p.cpp @ 215]
      40 002ed028 5980f59a Qt5Cored!QMetaCallEvent::placeMetaCall+0x6d [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qobject.cpp @ 479]
      41 002ed0e0 57d826ce Qt5Cored!QObject::event+0xfa [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qobject.cpp @ 1071]
      42 002ed100 57d801e3 Qt5Widgetsd!QApplicationPrivate::notify_helper+0xfe [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\widgets\kernel\qapplication.cpp @ 3352]
      43 002ed6f4 597c5f34 Qt5Widgetsd!QApplication::notify+0x233 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\widgets\kernel\qapplication.cpp @ 2783]
      44 002ed738 597cb2b9 Qt5Cored!QCoreApplication::notifyInternal+0x94 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qcoreapplication.cpp @ 767]
      45 002ed74c 597c6db5 Qt5Cored!QCoreApplication::sendEvent+0x39 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qcoreapplication.h @ 203]
      46 002ed7d4 597c6a6d Qt5Cored!QCoreApplicationPrivate::sendPostedEvents+0x335 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qcoreapplication.cpp @ 1368]
      47 002ed7ec 5851899d Qt5Cored!QCoreApplication::sendPostedEvents+0x1d [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qcoreapplication.cpp @ 1228]
      48 002ed7fc 5f25ab04 Qt5Guid!QWindowSystemInterface::sendWindowSystemEvents+0xd [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\gui\kernel\qwindowsysteminterface.cpp @ 515]
      49 002ed80c 5984e517 windowsd!QWindowsGuiEventDispatcher::sendPostedEvents+0x14 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\plugins\platforms\windows\qwindowsguieventdispatcher.cpp @ 86]
      4a 002ed8ac 758262fa Qt5Cored!qt_internal_proc+0x2f7 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qeventdispatcher_win.cpp @ 423]
      4b 002ed8d8 75826d3a USER32!gapfnScSendMessage+0x332
      4c 002ed950 758277c4 USER32!GetThreadDesktop+0xd7
      4d 002ed9b0 7582788a USER32!CharPrevW+0x138
      4e 002ed9c0 5984f603 USER32!DispatchMessageW+0xf
      4f 002ef7c8 5f25aa6e Qt5Cored!QEventDispatcherWin32::processEvents+0x593 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qeventdispatcher_win.cpp @ 744]
      50 002ef814 597c2b31 windowsd!QWindowsGuiEventDispatcher::processEvents+0x8e [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\plugins\platforms\windows\qwindowsguieventdispatcher.cpp @ 78]
      51 002ef828 597c2c8e Qt5Cored!QEventLoop::processEvents+0x41 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qeventloop.cpp @ 137]
      52 002ef88c 597c646d Qt5Cored!QEventLoop::exec+0x14e [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qeventloop.cpp @ 212]
      53 002ef8ec 5852f8e9 Qt5Cored!QCoreApplication::exec+0x12d [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\corelib\kernel\qcoreapplication.cpp @ 1020]
      54 002ef8f4 57d7ff09 Qt5Guid!QGuiApplication::exec+0x9 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\gui\kernel\qguiapplication.cpp @ 1187]
      55 002ef8fc 010423a1 Qt5Widgetsd!QApplication::exec+0x19 [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\widgets\kernel\qapplication.cpp @ 2660]
      56 002efb8c 0104507a SANSASORI!main+0x1111 [d:\shareware\sansasori\src\sansasori\main.cpp @ 109]
      57 002efbb4 01044860 SANSASORI!WinMain+0x7a [d:\qt-everywhere-opensource-src-5.0.0-rc1\qtbase\src\winmain\qtmain_win.cpp @ 131]
      58 002efc5c 010445ef SANSASORI!__tmainCRTStartup+0x260 [f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 547]
      59 002efc64 76ef339a SANSASORI!WinMainCRTStartup+0xf [f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 371]
      5a 002efc70 778e9ef2 kernel32!BaseThreadInitThunk+0x12
      5b 002efcb0 778e9ec5 ntdll32!RtlInitializeExceptionChain+0x63
      5c 002efcc8 00000000 ntdll32!RtlInitializeExceptionChain+0x36
      

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            shkearns Shane Kearns
            missdeer Yang Fan
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes