<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>136451</bug_id>
          
          <creation_ts>2014-09-02 06:56:47 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: url == m_string in WebCore::URL::URL when parsing &quot;file:c&quot;</short_desc>
          <delta_ts>2021-08-02 10:33:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">rhodovan.u-szeged</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>3bcg4zh9</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>ih11sssm</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1032609</commentid>
    <comment_count>0</comment_count>
      <attachid>237485</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2014-09-02 06:56:47 -0700</bug_when>
    <thetext>Created attachment 237485
Test case

Load the following test via http to reproduce the issue:

&lt;script&gt;
    window.location.href=&quot;file:c&quot;;
&lt;/script&gt;

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&lt;WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&amp;), std::tuple&lt;unsigned long, WebKit::WebPageCreationParameters&gt;, 0ul, 1ul&gt;(WebKit::WebProcess*, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&amp;), std::tuple&lt;unsigned long, WebKit::WebPageCreationParameters&gt;&amp;&amp;, std::index_sequence&lt;0ul, 1ul&gt;) (
    object=0x6beea0, function=
    (void (WebKit::WebProcess::*)(WebKit::WebProcess * const, unsigned long, const WebKit::WebPageCreationParameters &amp;)) 0x7ffff1e88cbc &lt;WebKit::WebProcess::createWebPage(unsigned long, WebKit::WebPageCreationParameters const&amp;)&gt;, 
    args=&lt;unknown type in /home/reni/data/REPOS/webkit/WebKitBuild/Debug/lib/libewebkit2.so.1, CU 0x6c5fce8, DIE 0x6d05b78&gt;)
    at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:16
#8  0x00007ffff20ca83c in IPC::callMemberFunction&lt;WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&amp;), std::tuple&lt;unsigned long, WebKit::WebPageCreationParameters&gt;, std::make_index_sequence&lt;2ul&gt; &gt;(std::tuple&lt;unsigned long, WebKit::WebPageCreationParameters&gt;&amp;&amp;, WebKit::WebProcess*, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&amp;)) (
    args=&lt;unknown type in /home/reni/data/REPOS/webkit/WebKitBuild/Debug/lib/libewebkit2.so.1, CU 0x6c5fce8, DIE 0x6d05b78&gt;, object=0x6beea0, 
    function=
    (void (WebKit::WebProcess::*)(WebKit::WebProcess * const, unsigned long, const WebKit::WebPageCreationParameters &amp;)) 0x7ffff1e88cbc &lt;WebKit::WebProcess::createWebPage(unsigned long, WebKit::WebPageCreationParameters const&amp;)&gt;)
    at /home/reni/data/REPOS/webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:22
#9  0x00007ffff20c88b1 in IPC::handleMessage&lt;Messages::WebProcess::CreateWebPage, WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long, WebKit::WebPageCreationParameters const&amp;)&gt; (decoder=..., object=0x6beea0, function=
    (void (WebKit::WebProcess::*)(WebKit::WebProcess * const, unsigned long, const WebKit::WebPageCreationParameters &amp;)) 0x7ffff1e88cbc &lt;WebKit::WebProcess::createWebPage(unsigned long, WebKit::WebPageCreationParameters const&amp;)&gt;)
    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&lt;void (IPC::Connection::*)()&gt;::operator() (this=0x7fff90001710, c=0x6c0a90)
    at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Functional.h:218
#16 0x00007ffff1cbaf56 in WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (IPC::Connection::*)()&gt;, void (IPC::Connection*)&gt;::operator()() (
    this=0x7fff90001700) at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Functional.h:496
#17 0x00007ffff1cb3e6d in WTF::Function&lt;void ()&gt;::operator()() const (this=0x7fff90001730)
    at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Functional.h:704
#18 0x00007ffff1cb0305 in std::_Function_handler&lt;void (), WTF::Function&lt;void ()&gt; &gt;::_M_invoke(std::_Any_data const&amp;) (__functor=...)
    at /usr/include/c++/4.8/functional:2071
#19 0x00007ffff1cc3ff8 in std::function&lt;void ()&gt;::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 &quot;W0l&quot;, len=&lt;optimized out&gt;) at lib/ecore/ecore_pipe.c:599
#23 0x00007fffec68a84a in _ecore_pipe_read (data=0x6578a0, fd_handler=&lt;optimized out&gt;) at lib/ecore/ecore_pipe.c:725
#24 0x00007fffec689851 in _ecore_call_fd_cb (fd_handler=0x6550b0, data=&lt;optimized out&gt;, func=&lt;optimized out&gt;) 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&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032752</commentid>
    <comment_count>1</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-02 15:06:22 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033144</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-03 23:29:46 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; It is crazy how often the URL constructors are misused :(
&gt; 
&gt; 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217278</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-03 17:02:40 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>237485</attachid>
            <date>2014-09-02 06:56:47 -0700</date>
            <delta_ts>2014-09-02 06:56:47 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>crash.html</filename>
            <type>text/html</type>
            <size>53</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmPSJmaWxlOmMiOwo8L3NjcmlwdD4=
</data>

          </attachment>
      

    </bug>

</bugzilla>