Bug 157059 - [curl] ASSERTION FAILED: isLocalFile() || url == m_string in fast/dom/34176.html
Summary: [curl] ASSERTION FAILED: isLocalFile() || url == m_string in fast/dom/34176.html
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-26 21:52 PDT by Fujii Hironori
Modified: 2016-05-12 09:20 PDT (History)
10 users (show)

See Also:


Attachments
Patch (7.13 KB, patch)
2016-05-10 21:26 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2016-04-26 21:52:59 PDT
[curl] ASSERTION FAILED: isLocalFile() || url == m_string in fast/dom/34176.html

trunk@200119, WinCairo port, Debug build

> perl Tools\Scripts\build-webkit --release --wincairo --64-bit

Layout Test:

  fast/dom/34176.html

ASSERTION FAILED: isLocalFile() || url == m_string
...\Source\WebCore\platform\URL.cpp(438) : WebCore::URL::URL

The value of url is "HTTP://d:/tmp/p1.png/", but m_string is "http://d/tmp/p1.png/re".

> WTF.dll!WTFCrash() Line 322	C++
> WebKit.dll!WebCore::URL::URL(WebCore::ParsedURLStringTag __formal, const WTF::String & url) Line 438	C++
> WebKit.dll!WebCore::headerCallback(char * ptr, unsigned __int64 size, unsigned __int64 nmemb, void * data) Line 501	C++
> libcurl.dll!Curl_client_chop_write(connectdata * conn, int type, char * ptr, unsigned __int64 len) Line 456	C
> libcurl.dll!Curl_http_readwrite_headers(SessionHandle * data, connectdata * conn, __int64 * nread, bool * stop_reading) Line 3113	C
> libcurl.dll!readwrite_data(SessionHandle * data, connectdata * conn, SingleRequest * k, int * didwhat, bool * done) Line 481	C
> libcurl.dll!Curl_readwrite(connectdata * conn, SessionHandle * data, bool * done) Line 1064	C
> libcurl.dll!multi_runsingle(Curl_multi * multi, timeval now, SessionHandle * data) Line 1535	C
> libcurl.dll!curl_multi_perform(void * multi_handle, int * running_handles) Line 1811	C
> WebKit.dll!WebCore::ResourceHandleManager::downloadTimerCallback() Line 656	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]	
> DumpRenderTreeLib.dll!runTest(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & inputLine) Line 1145	C++
> DumpRenderTreeLib.dll!main(int argc, const char * * argv) Line 1486	C++
> DumpRenderTreeLib.dll!dllLauncherEntryPoint(int argc, const char * * argv) Line 1517	C++
> DumpRenderTree.exe!main(int argc, const char * * argv) Line 260	C++
> [External Code]
Comment 1 Fujii Hironori 2016-04-26 22:05:03 PDT
This issue is observed at Google Maps (Japan), too.

1) Launch MiniBroser
2) Go to http://maps.google.co.jp/maps?hl=ja&tab=wl
3) ASSERTION FAILED

url is "https://www.google.co.jp:443/maps/@?hl=ja"
m_string "https://www.google.co.jp/maps/@?hl=ja"
Comment 2 Fujii Hironori 2016-05-10 21:26:07 PDT
Created attachment 278577 [details]
Patch
Comment 3 Darin Adler 2016-05-10 21:31:43 PDT
Comment on attachment 278577 [details]
Patch

This patch is OK. It would also be OK to just replaced ParsedURLString with URL() and not make any other changes.

I normally don’t review [curl] patches, so someone else should do that, but the change looks fine to me.
Comment 4 WebKit Commit Bot 2016-05-12 09:20:17 PDT
Comment on attachment 278577 [details]
Patch

Clearing flags on attachment: 278577

Committed r200776: <http://trac.webkit.org/changeset/200776>
Comment 5 WebKit Commit Bot 2016-05-12 09:20:22 PDT
All reviewed patches have been landed.  Closing bug.