locked
wwahost.exe crash with AV at 0x0000004 with unstable internet connection

    Question

  • I occationally get a crash in wwahost.exe when the internet connection is unstable.


    Unhandled exception at 0x779F49C8 (ntdll.dll) in WWAHost.exe: 0xC0000005: Access violation writing location 0x00000004.

    This is the stack dump, the dmp file is at http://1drv.ms/1xDUIwO

    > ntdll.dll!RtlAcquireSRWLockExclusive() Unknown
    wininet.dll!CBlockFsmSync::TakeFsm() Unknown
    wininet.dll!CBlockFsmSync::UnblockFsm() Unknown
    wininet.dll!CServerInfo::WakeUpWaiter() Unknown
    wininet.dll!CServerInfo::WakeUpBlockedWaiters() Unknown
    wininet.dll!CServerInfo::ReleaseConnectionInternal() Unknown
    wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::ReleaseConnection() Unknown
    wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::CloseConnection() Unknown
    wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::ReadDataSocket_Fsm() Unknown
    wininet.dll!CFsm_ReadDataSocket::RunSM() Unknown
    wininet.dll!CFsm::Run() Unknown
    wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::HttpReadData_Fsm() Unknown
    wininet.dll!CFsm_HttpReadData::RunSM() Unknown
    wininet.dll!CFsm::Run() Unknown
    wininet.dll!DoFsm() Unknown
    wininet.dll!ReadFileEx_Fsm() Unknown
    wininet.dll!CFsm::Run() Unknown
    wininet.dll!InternalInternetReadFile() Unknown
    wininet.dll!InternetReadFile() Unknown
    Windows.Web.Http.dll!HttpResponseStream::ReadAsync(struct Windows::Storage::Streams::IBuffer *,unsigned int,enum Windows::Storage::Streams::InputStreamOptions,struct Windows::Foundation::IAsyncOperationWithProgress<struct Windows::Storage::Streams::IBuffer *,unsigned int> * *) Unknown
    WinTypes.dll!Windows::Storage::Streams::DataReader::LoadAsync::__l41::<lambda>(Windows::Internal::Promise<unsigned int,Microsoft::WRL::Details::Nil> promise) Line 1334 C++
    WinTypes.dll!Windows::Internal::_AsyncOperationImpl<Windows::Internal::AsyncBaseFTM<Windows::Foundation::IAsyncOperationCompletedHandler<unsigned int>,1,Microsoft::WRL::AsyncOptions<-1,0,GUID_CAUSALITY_WINDOWS_PLATFORM_ID,2> >,Windows::Foundation::IAsyncOperation<unsigned int>,Windows::Foundation::IAsyncOperationCompletedHandler<unsigned int>,unsigned int,Microsoft::WRL::Details::Nil,HRESULT <lambda>(Windows::Internal::Promise<unsigned int,Microsoft::WRL::Details::Nil>),Windows::Internal::CancelClosePassthrough<Windows::Internal::Promise<unsigned int,Microsoft::WRL::Details::Nil> > >::OnStart() Line 766 C++
    WinTypes.dll!Microsoft::WRL::AsyncBase<Windows::Foundation::IAsyncOperationCompletedHandler<unsigned int>,Microsoft::WRL::Details::Nil,1,Microsoft::WRL::AsyncOptions<-1,0,GUID_CAUSALITY_WINDOWS_PLATFORM_ID,2> >::Start() Line 627 C++
    WinTypes.dll!Windows::Internal::MakeAsync<Windows::Foundation::IAsyncOperation<unsigned int>,HRESULT <lambda>(Windows::Internal::Promise<unsigned int,Microsoft::WRL::Details::Nil>),Windows::Internal::CancelClosePassthrough<Windows::Internal::Promise<unsigned int,Microsoft::WRL::Details::Nil> > >(Windows::Storage::Streams::DataReader::LoadAsync::__l41::HRESULT <lambda>(Windows::Internal::Promise<unsigned int,Microsoft::WRL::Details::Nil>) onStart, Windows::Internal::CancelClosePassthrough<Windows::Internal::Promise<unsigned int,Microsoft::WRL::Details::Nil> > onCancelOrClose, Windows::Foundation::IAsyncOperation<unsigned int> * * ppAsyncOp) Line 361 C++
    WinTypes.dll!Windows::Storage::Streams::DataReader::LoadAsync(unsigned int count, Windows::Foundation::IAsyncOperation<unsigned int> * * asyncInfo) Line 1354 C++
    Windows.Web.Http.dll!StreamHelper::BufferStreamOperation::StartLoadOperation(void) Unknown
    Windows.Web.Http.dll!StreamHelper::BufferStreamOperation::StartLoadOperationWorker(void *) Unknown
    ntdll.dll!TppSimplepExecuteCallback() Unknown
    ntdll.dll!TppWorkerThread() Unknown
    kernel32.dll!@BaseThreadInitThunk@12() Unknown
    ntdll.dll!__RtlUserThreadStart() Unknown
    ntdll.dll!__RtlUserThreadStart@8() Unknown

                                   
    Wednesday, November 19, 2014 8:54 PM

All replies

  • It seems to originate from massive parallel download requests (98 items in the serialNumbers array) using this code:

    preloadInspections = function(serialNumbers, expert) {
      assert(expert);
      return;
      if (!Array.isArray(serialNumbers)) {
        serialNumbers = [serialNumbers];
      }
      return serialNumbers.forEach(function(serialNumber) {
        return Server.getXmlAsync(serialNumber, expert).then(function(xml) {
          return Config.getXmlCacheFolderAsync(serialNumber).then(function(folder) {
            return folder.createFileAsync("" + serialNumber + ".preloaded.xml", Windows.Storage.CreationCollisionOption.openIfExists);
          }).then(function(file) {
            return xml.saveToFileAsync(file);
          });
        }).then(null, function(error) {
          return logger.error("Could not create preloaded xml" + serialNumber, error);
        });
      });
    };

    It fetches some files and then throws the exception in wwahost.


    • Edited by pkursawe Wednesday, November 19, 2014 10:20 PM
    Wednesday, November 19, 2014 10:19 PM