WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
157028
[curl] Requests interrupted when using https via proxy
https://bugs.webkit.org/show_bug.cgi?id=157028
Summary
[curl] Requests interrupted when using https via proxy
Fujii Hironori
Reported
2016-04-26 01:02:00 PDT
[curl] Requests interrupted when using https via proxy trunk@200070 WinCairo port perl Tools\Scripts\build-webkit --debug --wincairo --64-bit 1) Set environment variables http_proxy and https_proxy 2) Set a environment variable WEBKIT_IGNORE_SSL_ERRORS=1 3) Launch MiniBrowser 4) Go to
https://webkit.org
5) A message box "Frame load interrupted" shown call stack:
> [External Code] > MiniBrowserLib.dll!MiniBrowserWebHost::didFailProvisionalLoadWithError(IWebView * __formal, IWebError * error, IWebFrame * __formal) Line 113 C++ > WebKit.dll!WebFrameLoaderClient::dispatchDidFailProvisionalLoad(const WebCore::ResourceError & error) Line 453 C++ > WebKit.dll!WebCore::FrameLoader::checkLoadCompleteForThisFrame() Line 2246 C++ > WebKit.dll!WebCore::FrameLoader::checkLoadComplete() Line 2465 C++ > WebKit.dll!WebCore::FrameLoader::receivedMainResourceError(const WebCore::ResourceError & error) Line 2784 C++ > WebKit.dll!WebCore::DocumentLoader::mainReceivedError(const WebCore::ResourceError & error) Line 270 C++ > WebKit.dll!WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource * resource) Line 393 C++ > WebKit.dll!WebCore::CachedResource::checkNotify() Line 299 C++ > WebKit.dll!WebCore::CachedResource::cancelLoad() Line 336 C++ > WebKit.dll!WebCore::SubresourceLoader::didCancel(const WebCore::ResourceError & __formal) Line 498 C++ > WebKit.dll!WebCore::ResourceLoader::cancel(const WebCore::ResourceError & error) Line 589 C++ > WebKit.dll!WebCore::DocumentLoader::cancelMainResourceLoad(const WebCore::ResourceError & resourceError) Line 1570 C++ > WebKit.dll!WebCore::DocumentLoader::stopLoadingForPolicyChange() Line 846 C++ > WebKit.dll!WebCore::DocumentLoader::continueAfterContentPolicy(WebCore::PolicyAction policy) Line 790 C++ > WebKit.dll!WebCore::DocumentLoader::responseReceived::__l2::<lambda>(WebCore::PolicyAction policy) Line 725 C++ > [External Code] > WebKit.dll!WebCore::PolicyCallback::call(WebCore::PolicyAction action) Line 107 C++ > WebKit.dll!WebCore::PolicyChecker::continueAfterContentPolicy(WebCore::PolicyAction policy) Line 244 C++ > WebKit.dll!WebCore::PolicyChecker::checkContentPolicy::__l2::<lambda>(WebCore::PolicyAction action) Line 157 C++ > [External Code] > WebKit.dll!WebFrameLoaderClient::receivedPolicyDecision(WebCore::PolicyAction action) Line 1352 C++ > WebKit.dll!WebFramePolicyListener::receivedPolicyDecision(WebCore::PolicyAction action) Line 126 C++ > WebKit.dll!WebFramePolicyListener::ignore() Line 109 C++ > WebKit.dll!DefaultPolicyDelegate::decidePolicyForMIMEType(IWebView * webView, wchar_t * type, IWebURLRequest * request, IWebFrame * __formal, IWebPolicyDecisionListener * listener) Line 168 C++ > WebKit.dll!WebFrameLoaderClient::dispatchDecidePolicyForResponse(const WebCore::ResourceResponse & response, const WebCore::ResourceRequest & request, std::function<void __cdecl(enum WebCore::PolicyAction)> function) Line 541 C++ > WebKit.dll!WebCore::PolicyChecker::checkContentPolicy(const WebCore::ResourceResponse & response, std::function<void __cdecl(enum WebCore::PolicyAction)> function) Line 158 C++ > WebKit.dll!WebCore::DocumentLoader::responseReceived(WebCore::CachedResource * resource, const WebCore::ResourceResponse & response) Line 726 C++ > WebKit.dll!WebCore::CachedRawResource::responseReceived(const WebCore::ResourceResponse & response) Line 186 C++ > WebKit.dll!WebCore::SubresourceLoader::didReceiveResponse(const WebCore::ResourceResponse & response) Line 262 C++ > WebKit.dll!WebCore::ResourceLoader::didReceiveResponse(WebCore::ResourceHandle * __formal, const WebCore::ResourceResponse & response) Line 628 C++ > WebKit.dll!WebCore::headerCallback(char * ptr, unsigned __int64 size, unsigned __int64 nmemb, void * data) Line 548 C++ > libcurl.dll!Curl_client_chop_write(connectdata * conn, int type, char * ptr, unsigned __int64 len) Line 456 C > libcurl.dll!Curl_proxyCONNECT(connectdata * conn, int sockindex, const char * hostname, int remote_port, bool blocking) Line 369 C > libcurl.dll!Curl_proxy_connect(connectdata * conn) Line 72 C > libcurl.dll!Curl_http_connect(connectdata * conn, bool * done) Line 1349 C > libcurl.dll!multi_runsingle(Curl_multi * multi, timeval now, SessionHandle * data) Line 1216 C > libcurl.dll!curl_multi_perform(void * multi_handle, int * running_handles) Line 1811 C > WebKit.dll!WebCore::ResourceHandleManager::downloadTimerCallback() Line 652 C++ > [External Code] > WebKit.dll!WebCore::Timer::fired() Line 142 C++ > WebKit.dll!WebCore::ThreadTimers::sharedTimerFiredInternal() Line 124 C++ > WebKit.dll!WebCore::ThreadTimers::setSharedTimer::__l8::<lambda>() Line 73 C++ > [External Code] > WebKit.dll!WebCore::MainThreadSharedTimer::fired() Line 53 C++ > WebKit.dll!WebCore::TimerWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 91 C++ > [External Code] > WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 97 C++ > MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 185 C++ > MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 857 C++ > MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 262 C++ > [External Code]
Attachments
Patch
(1.85 KB, patch)
2016-04-26 01:44 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(1.85 KB, patch)
2016-04-26 01:53 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Fujii Hironori
Comment 1
2016-04-26 01:12:22 PDT
Client sends "CONNECT", then a proxy responds "200 Connection Established". libcurl calls WebCore::headerCallback. In WebFrameLoaderClient::dispatchDecidePolicyForResponse(), response.mimeType() is null. WebView::canShowMIMEType() returns false. Then, the request is canceled. A following bug might be same problem.
Bug 20481
– [Curl] Cannot log on google with proxy
Fujii Hironori
Comment 2
2016-04-26 01:44:01 PDT
Created
attachment 277350
[details]
Patch
Fujii Hironori
Comment 3
2016-04-26 01:53:29 PDT
Created
attachment 277351
[details]
Patch
Fujii Hironori
Comment 4
2016-04-26 01:59:33 PDT
AFAIK, curl port is used only by WinCairo port. CC-ed the experts.
Alex Christensen
Comment 5
2016-04-26 10:36:22 PDT
(In reply to
comment #4
)
> AFAIK, curl port is used only by WinCairo port. CC-ed the experts.
That is correct.
WebKit Commit Bot
Comment 6
2016-04-26 11:26:42 PDT
Comment on
attachment 277351
[details]
Patch Clearing flags on attachment: 277351 Committed
r200100
: <
http://trac.webkit.org/changeset/200100
>
WebKit Commit Bot
Comment 7
2016-04-26 11:26:47 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug