WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WORKSFORME
136451
ASSERTION FAILED: url == m_string in WebCore::URL::URL when parsing "file:c"
https://bugs.webkit.org/show_bug.cgi?id=136451
Summary
ASSERTION FAILED: url == m_string in WebCore::URL::URL when parsing "file:c"
Renata Hodovan
Reported
2014-09-02 06:56:47 PDT
Created
attachment 237485
[details]
Test case Load the following test via http to reproduce the issue: <script> window.location.href="file:c"; </script> Backtrace: Breakpoint 1, WebCore::URL::URL (this=0x7fffffffcba0, url=...) at /home/reni/data/REPOS/webkit/Source/WebCore/platform/URL.cpp:331 331 ASSERT(url == m_string); (gdb) bt #0 WebCore::URL::URL (this=0x7fffffffcba0, url=...) at /home/reni/data/REPOS/webkit/Source/WebCore/platform/URL.cpp:331 #1 0x00007ffff2bc31dd in WebCore::FrameLoader::init (this=0x6d2718) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/FrameLoader.cpp:268 #2 0x00007ffff1f8f8dc in WebCore::Frame::init (this=0x6d2680) at /home/reni/data/REPOS/webkit/Source/WebCore/page/Frame.h:322 #3 0x00007ffff1f8ced2 in WebKit::WebFrame::createWithCoreMainFrame (page=0x6c8530, coreFrame=0x6d2680) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp:116 #4 0x00007ffff1f96286 in WebKit::WebPage::WebPage (this=0x6c8530, pageID=1, parameters=...) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/WebPage/WebPage.cpp:375 #5 0x00007ffff1f956d9 in WebKit::WebPage::create (pageID=1, parameters=...) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/WebPage/WebPage.cpp:234 #6 0x00007ffff1e88d5e in WebKit::WebProcess::createWebPage (this=0x6beea0, pageID=1, parameters=...) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/WebProcess.cpp:539 #7 0x00007ffff20cb21b in IPC::callMemberFunctionImpl<WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&), std::tuple<unsigned long, WebKit::WebPageCreationParameters>, 0ul, 1ul>(WebKit::WebProcess*, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&), std::tuple<unsigned long, WebKit::WebPageCreationParameters>&&, std::index_sequence<0ul, 1ul>) ( object=0x6beea0, function= (void (WebKit::WebProcess::*)(WebKit::WebProcess * const, unsigned long, const WebKit::WebPageCreationParameters &)) 0x7ffff1e88cbc <WebKit::WebProcess::createWebPage(unsigned long, WebKit::WebPageCreationParameters const&)>, args=<unknown type in /home/reni/data/REPOS/webkit/WebKitBuild/Debug/lib/libewebkit2.so.1, CU 0x6c5fce8, DIE 0x6d05b78>) at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:16 #8 0x00007ffff20ca83c in IPC::callMemberFunction<WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&), std::tuple<unsigned long, WebKit::WebPageCreationParameters>, std::make_index_sequence<2ul> >(std::tuple<unsigned long, WebKit::WebPageCreationParameters>&&, WebKit::WebProcess*, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&)) ( args=<unknown type in /home/reni/data/REPOS/webkit/WebKitBuild/Debug/lib/libewebkit2.so.1, CU 0x6c5fce8, DIE 0x6d05b78>, object=0x6beea0, function= (void (WebKit::WebProcess::*)(WebKit::WebProcess * const, unsigned long, const WebKit::WebPageCreationParameters &)) 0x7ffff1e88cbc <WebKit::WebProcess::createWebPage(unsigned long, WebKit::WebPageCreationParameters const&)>) at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:22 #9 0x00007ffff20c88b1 in IPC::handleMessage<Messages::WebProcess::CreateWebPage, WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&)> (decoder=..., object=0x6beea0, function= (void (WebKit::WebProcess::*)(WebKit::WebProcess * const, unsigned long, const WebKit::WebPageCreationParameters &)) 0x7ffff1e88cbc <WebKit::WebProcess::createWebPage(unsigned long, WebKit::WebPageCreationParameters const&)>) at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:120 #10 0x00007ffff20c754e in WebKit::WebProcess::didReceiveWebProcessMessage (this=0x6beea0, decoder=...) at /home/reni/data/REPOS/webkit/WebKitBuild/Debug/DerivedSources/WebKit2/WebProcessMessageReceiver.cpp:58 #11 0x00007ffff1e89163 in WebKit::WebProcess::didReceiveMessage (this=0x6beea0, connection=0x6c0a90, decoder=...) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/WebProcess.cpp:600 #12 0x00007ffff1caaeee in IPC::Connection::dispatchMessage (this=0x6c0a90, decoder=...) at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/Connection.cpp:809 #13 0x00007ffff1caafba in IPC::Connection::dispatchMessage (this=0x6c0a90, message=...) at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/Connection.cpp:828 #14 0x00007ffff1cab17b in IPC::Connection::dispatchOneMessage (this=0x6c0a90) at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/Connection.cpp:856 #15 0x00007ffff1cbb1e3 in WTF::FunctionWrapper<void (IPC::Connection::*)()>::operator() (this=0x7fff90001710, c=0x6c0a90) at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Functional.h:218 #16 0x00007ffff1cbaf56 in WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (IPC::Connection::*)()>, void (IPC::Connection*)>::operator()() ( this=0x7fff90001700) at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Functional.h:496 #17 0x00007ffff1cb3e6d in WTF::Function<void ()>::operator()() const (this=0x7fff90001730) at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Functional.h:704 #18 0x00007ffff1cb0305 in std::_Function_handler<void (), WTF::Function<void ()> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/4.8/functional:2071 #19 0x00007ffff1cc3ff8 in std::function<void ()>::operator()() const (this=0x7fffffffd740) at /usr/include/c++/4.8/functional:2464 #20 0x00007ffff3f0961b in WTF::RunLoop::performWork (this=0x6bedb0) at /home/reni/data/REPOS/webkit/Source/WTF/wtf/RunLoop.cpp:119 #21 0x00007ffff3f3a7ce in WTF::RunLoop::wakeUpEvent (data=0x6bedb0) at /home/reni/data/REPOS/webkit/Source/WTF/wtf/efl/RunLoopEfl.cpp:68 #22 0x00007fffec68a0bf in _ecore_pipe_handler_call (p=p@entry=0x6578a0, buf=0x663460 "W0l", len=<optimized out>) at lib/ecore/ecore_pipe.c:599 #23 0x00007fffec68a84a in _ecore_pipe_read (data=0x6578a0, fd_handler=<optimized out>) at lib/ecore/ecore_pipe.c:725 #24 0x00007fffec689851 in _ecore_call_fd_cb (fd_handler=0x6550b0, data=<optimized out>, func=<optimized out>) at lib/ecore/ecore_private.h:383 #25 _ecore_main_fd_handlers_call () at lib/ecore/ecore_main.c:1781 #26 _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2032 #27 0x00007fffec689a57 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1042 #28 0x00007ffff3f3a75f in WTF::RunLoop::run () at /home/reni/data/REPOS/webkit/Source/WTF/wtf/efl/RunLoopEfl.cpp:51 #29 0x00007ffff2070fe6 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffda68) at /home/reni/data/REPOS/webkit/Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #30 0x00007ffff2070dc4 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffda68) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:124 #31 0x000000000040084d in main (argc=2, argv=0x7fffffffda68) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:32
Attachments
Test case
(53 bytes, text/html)
2014-09-02 06:56 PDT
,
Renata Hodovan
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Benjamin Poulain
Comment 1
2014-09-02 15:06:22 PDT
It is crazy how often the URL constructors are misused :( There is a comment explaining when to use that constructor, and it is ignored all the time.
Darin Adler
Comment 2
2014-09-03 23:29:46 PDT
(In reply to
comment #1
)
> It is crazy how often the URL constructors are misused :( > > There is a comment explaining when to use that constructor, and it is ignored all the time.
We need to make it easier to use it correctly. Maybe a different type for parsed URL strings other than just String, like AtomicString.
Brent Fulgham
Comment 3
2016-08-03 17:02:40 PDT
This problem does not reproduce under GuardMalloc or ASAN under
r204037
. If you believe there is still a problem, please reopen this bug and provide an updated test case.
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