Процесс зависает на WinHttpReceiveResponse () - PullRequest
0 голосов
/ 15 октября 2018

Мой процесс зависает с помощью стека вызовов ниже в WinHttpRecieveResponse ().Такое поведение противоречиво, иногда оно работает для тех же данных и того же варианта использования.Но большую часть времени он зависает, как показано ниже.

Я проверил с помощью WireShark, что ответ получен на компьютере.Я могу найти ответ в Wireshark.Но WinHttpRecieveResponse () не может получить эти данные.

Пожалуйста, помогите мне найти проблему.

ntdll.dll!ZwWaitForSingleObject()   Unknown
KernelBase.dll!WaitForSingleObjectEx()  Unknown
winhttp.dll!HTTP_USER_REQUEST::_HandleSyncPending(class PENDING_API_CALL *,unsigned long *) Unknown
winhttp.dll!HTTP_USER_REQUEST::RecvResponse(int,void (*)(void *,unsigned __int64,unsigned long,void *,unsigned long),unsigned long,unsigned __int64)    Unknown
winhttp.dll!WinHttpReceiveResponse()    Unknown
atimport.dll!winHTTPStream::DoWaitForResponse(btkTimeval waitTime) Line 525 C++
atimport.dll!btkHTTPStreamBase::IsResponse(btkTimeval Timeout) Line 301 C++
atimport.dll!btkHTTPStreamBase::CompleteOutput(bool Blocking) Line 608  C++
atimport.dll!UwgmServerCache_i::executeHttpRequest(btkHTTPStreamBase * connection, xstring & responseStr, xstring reqBody) Line 11207   C++
atimport.dll!UwgmUploadAction_i::getChapteredUploadDescriptorsFromServer() Line 4480    C++
atimport.dll!UwgmUploadAction_i::prepareForUpload() Line 4557   C++
atimport.dll!UwgmUploadAction_i::onWorkspaceActionStart() Line 6401 C++
atimport.dll!UwgmWorkspaceModificationAction_i::onWorkspaceModificationActionStart() Line 6965  C++
atimport.dll!UwgmWorkspaceAction_i::onStart() Line 3689 C++
atimport.dll!UwgmAction_i::run() Line 636   C++
atimport.dll!UwgmAction_i::start(xstring msg) Line 580  C++
atimport.dll!UwgmAction_i::execute(xstring msg) Line 494    C++
atimport.dll!UwgmAction_i::execute() Line 489   C++
atimport.dll!atwncintBaseUtils_uwgmcc::executeAction(xrchandle<UwgmClientConnectorAction> ccAction, xstring logStr) Line 533    C++
atimport.dll!atwncintWorkspace_uwgmcc::upload(xrchandle<UwgmUploadAction> uploader) Line 1166   C++
atimport.dll!atwncintWorkspace_uwgmcc::upload(xrchandle<xstringsequence> docCadNames, atwncintGhostResolutionOption ghostResolutionOption) Line 1231    C++
atimport.dll!atwncintWorkspace_uwgmcc::checkin(xrchandle<xstringsequence> docCadNames, xrchandle<xstringsequence> targetFolderPaths, const char * comment, xrchandle<atwncintPostCheckinOptionDict> postCheckinOpts, xrchandle<atwncintBaselineInfo> baseline, xrchandle<xstringsequence> addToBaselineNames, atwncintGhostResolutionOption ghostResolutionOption) Line 1324    C++
atimport.dll!Java_com_ptc_prowt_Implementation_atwncint_1k03_00024Workspace_checkin(JNIEnv_ * _env, _jobject * _self, _jobject * docNames, _jobject * targetFolderPaths, _jstring * comment, _jobject * postCheckinOptions, _jobject * baseline, _jobject * addToBaselineNames, _jobject * ghostResolutionOption) Line 8657 C++
000000000a681df0()  Unknown
000000000513d9f8()  Unknown
0000000000533468()  Unknown
000000002b64d490()  Unknown
000000002b7fde38()  Unknown

1 Ответ

0 голосов
/ 22 октября 2018

Нашел решение этой проблемы.На самом деле до этого вызова был переполнение буфера, которое повредило мою кучу.Исправление переполнения буфера решило мою проблему.

...