[Webkit-unassigned] [Bug 73896] New: REGRESSION(r101713):

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 6 02:03:52 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=73896

           Summary: REGRESSION(r101713):
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: hausmann at webkit.org
                CC: benjamin at webkit.org


http://trac.webkit.org/changeset/101713 changed the behaviour of calling
KURL::KURL(ParsedURLStringTag, const String& url) with a null string, causing

     ASSERT(url == m_string);

to fail.

Example backtrace:


Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3863fca in WebCore::KURL::KURL (this=0x7fffffffc370, url=...) at /home/shausman/src/webkit/trunk/Source/WebCore/platform/KURL.cpp:334
334         ASSERT(url == m_string);
(gdb) bt
#0  0x00007ffff3863fca in WebCore::KURL::KURL (this=0x7fffffffc370, url=...) at /home/shausman/src/webkit/trunk/Source/WebCore/platform/KURL.cpp:334
#1  0x00007ffff7988f22 in CoreIPC::ArgumentCoder<WebCore::ResourceResponse>::decode (decoder=0x7db120, resourceResponse=...) at /home/shausman/src/webkit/trunk/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp:74
#2  0x00007ffff795f18b in CoreIPC::ArgumentDecoder::decode<WebCore::ResourceResponse> (this=0x7db120, t=...) at ../../../../Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h:89
#3  0x00007ffff7b6cc12 in CoreIPC::Arguments4<unsigned long, unsigned long, WebCore::ResourceRequest, WebCore::ResourceResponse>::decode (decoder=0x7db120, result=...) at ../../../../Source/WebKit2/Platform/CoreIPC/Arguments.h:203
#4  0x00007ffff7b6bf52 in CoreIPC::ArgumentCoder<CoreIPC::Arguments4<unsigned long, unsigned long, WebCore::ResourceRequest, WebCore::ResourceResponse> >::decode (decoder=0x7db120, t=...)
    at ../../../../Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:44
#5  0x00007ffff7b69dfd in CoreIPC::ArgumentDecoder::decode<CoreIPC::Arguments4<unsigned long, unsigned long, WebCore::ResourceRequest, WebCore::ResourceResponse> > (this=0x7db120, t=...)
    at ../../../../Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h:89
#6  0x00007ffff7b66234 in CoreIPC::handleMessage<Messages::WebPageProxy::DidSendRequestForResource, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, unsigned long, WebCore::ResourceRequest const&, WebCore::ResourceResponse const&)> (argumentDecoder=0x7db120, object=0x7fff9c001760, function=


This patch in the original change


-                m_string = originalString ? *originalString : url;
+                m_string = !originalString.isNull() ? originalString : url;

now causes m_string to be assigned to url instead of originalString in this case.
url was allocated in KURL::parse(const String& string) and is non-null, causing

    KURL::m_string to be an _empty_ string (with impl pointer) and originalString remaining
the null string passed to the KURL constructor. Hence the failing assertion.

It seems that the fix is to just use

    m_string = originalString;

instead of the !originalString.isNull() ? originalString : url; snippet.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list