<?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>187185</bug_id>
          
          <creation_ts>2018-06-29 10:53:23 -0700</creation_ts>
          <short_desc>[lldb-webkit] Non-empty strings may be pretty-printed as empty</short_desc>
          <delta_ts>2018-06-29 16:19:49 -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>Tools / Tests</component>
          <version>WebKit Local Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>darin</cc>
    
    <cc>lforschler</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1437829</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-06-29 10:53:23 -0700</bug_when>
    <thetext>Today, I set a breakpoint at &lt;https://trac.webkit.org/browser/trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm?rev=233316#L91&gt;. Using a debug built of WebKit, I started MiniBrowser and opened a new WK2 window. When the breakpoint was hit I ran `p m_url.string()`. LLDB emitted the following:

(lldb) p m_url.string()
(const WTF::String) $9 = { length = 0, contents = &apos;&apos; } {
  m_impl = {
    m_ptr = 0x000000011ce6fb18 { length = 0, is8bit = 0, contents = &apos;&apos; }
  }
}

But m_url.string() is not an empty string:

(lldb) p m_url.string().isEmpty()
(bool) $10 = false

I am using Xcode 10.0 (10L177m) on macOS Mojave (18A323).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437830</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-06-29 10:53:59 -0700</bug_when>
    <thetext>$ Tools/Scripts/dump-class-layout -c Debug JavaScriptCore StringImpl
Found 1 types matching &quot;StringImpl&quot; in &quot;/Volumes/.../WebKitBuild/Debug/JavaScriptCore.framework/JavaScriptCore&quot; for x86_64
  +0 { 24} StringImpl
  +0 { 24}     WTF::StringImplShape
  +0 &lt;  4&gt;         unsigned int m_refCount;
  +4 &lt;  4&gt;         unsigned int m_length;
  +8 &lt;  8&gt;         WTF::StringImplShape::(anonymous union) None;
 +16 &lt;  4&gt;         unsigned int m_hashAndFlags;
 +20 &lt;  4&gt;         &lt;PADDING&gt;
 +20 &lt;  4&gt;     &lt;PADDING&gt;
Total byte size: 24
Total pad bytes: 8
Padding percentage: 33.33 %</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437834</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-06-29 10:56:24 -0700</bug_when>
    <thetext>dump-class-layout does not have an issue resolving that WTF::StringImpl is effectively a WTF::StringImplShape. The LLDB repl seems to have an issue with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437836</commentid>
    <comment_count>3</comment_count>
      <attachid>343923</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-06-29 11:05:50 -0700</bug_when>
    <thetext>Created attachment 343923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437962</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-06-29 16:18:03 -0700</bug_when>
    <thetext>Committed r233375: &lt;https://trac.webkit.org/changeset/233375&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437964</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-29 16:19:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/41657759&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343923</attachid>
            <date>2018-06-29 11:05:50 -0700</date>
            <delta_ts>2018-06-29 16:13:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187185-20180629110549.patch</filename>
            <type>text/plain</type>
            <size>2725</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzMzE2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjQ3NmM2NTVjNjI5ODY5NTVhMzU3ODQ5MmEzZDhkYzc4
ZjFmZjI4NC4uOWJlNmIxNmYyNTkxMzhkZjFiMzU4MDEyNWM3YjhmNmRkZDEyOTE3NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE4LTA2LTI5ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbGxkYi13ZWJraXRdIE5vbi1lbXB0eSBzdHJpbmdzIG1heSBiZSBwcmV0dHktcHJpbnRl
ZCBhcyBlbXB0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg3MTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRm9yIHNvbWUgcmVhc29uIGxsZGIoMSkgc29tZXRpbWVzIGhhcyBhbiBpc3N1ZSBhY2Nlc3Np
bmcgbWVtYmVycyBvZiBXVEY6OlN0cmluZ0ltcGxTaGFwZQorICAgICAgICB2aWEgYSBXVEY6OlN0
cmluZ0ltcGwgcG9pbnRlciAod2h5PykuIEV4cGxpY2l0bHkgY2FzdGluZyBhIFdURjo6U3RyaW5n
SW1wbCogdG8gYQorICAgICAgICBXVEY6OlN0cmluZ0ltcGxTaGFwZSogYmVmb3JlIGFjY2Vzc2lu
ZyBzdWNoIG1lbWJlcnMgbWFrZXMgTExEQiBoYXBweS4KKworICAgICAgICBJIHRyaWVkIHdyaXRp
bmcgYSB0ZXN0IGZvciB0aGlzIGJvdGggZm9yIHRoZSBMTFZNIHByb2plY3QgYW5kIExMREIgdG8g
bm8gYXZhaWwuIEkgaGF2ZSBvbmx5CisgICAgICAgIGJlZW4gYWJsZSB0byByZXByb2R1Y2UgdGhp
cyBidWcgc3BvcmFkaWNhbGx5IGR1cmluZyBteSBXZWJDb3JlL1dlYktpdCBkZWJ1Z2dpbmcgc2Vz
c2lvbnMgc28KKyAgICAgICAgZmFyLgorCisgICAgICAgICogbGxkYi9sbGRiX3dlYmtpdC5weToK
KyAgICAgICAgKFdURlN0cmluZ0ltcGxQcm92aWRlci5fX2luaXRfXyk6IEV4cGxpY2l0bHkgY2Fz
dCB0aGUgV1RGOjpTdHJpbmdJbXBsKiB0byBXVEY6OlN0cmluZ0ltcGxTaGFwZSouCisgICAgICAg
IChXVEZTdHJpbmdJbXBsUHJvdmlkZXIuZ2V0X2RhdGE4KTogVXBkYXRlIGNvZGUgbm93IHRoYXQg
d2UgYXJlIGRpcmVjdGx5IGFjY2Vzc2luZyBXVEY6OlN0cmluZ0ltcGxTaGFwZSouCisgICAgICAg
IChXVEZTdHJpbmdJbXBsUHJvdmlkZXIuZ2V0X2RhdGExNik6IERpdHRvLgorCiAyMDE4LTA2LTI4
ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIGlP
UyBidWlsZCBmb2xsb3dpbmcgcjIzMzI5OQpkaWZmIC0tZ2l0IGEvVG9vbHMvbGxkYi9sbGRiX3dl
YmtpdC5weSBiL1Rvb2xzL2xsZGIvbGxkYl93ZWJraXQucHkKaW5kZXggMzRjNjRjMzQ1MzI5ZTA2
YTc1ODMwOTE2OTA3ZDMxYzdjNzRmNTM3Ni4uNTJmYjdhNDQzMmM0N2UwNTkzZDQ4ZjM2M2M3NTU5
Mjg5MGVkMzg4OSAxMDA2NDQKLS0tIGEvVG9vbHMvbGxkYi9sbGRiX3dlYmtpdC5weQorKysgYi9U
b29scy9sbGRiL2xsZGJfd2Via2l0LnB5CkBAIC0yMzEsMTYgKzIzMSwxOSBAQCBkZWYgbHN0cmlu
Z190b19zdHJpbmcodmFsb2JqLCBlcnJvciwgbGVuZ3RoPU5vbmUpOgogCiBjbGFzcyBXVEZTdHJp
bmdJbXBsUHJvdmlkZXI6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbG9iaiwgZGljdCk6Ci0g
ICAgICAgIHNlbGYudmFsb2JqID0gdmFsb2JqCisgICAgICAgICMgRklYTUU6IEZvciBzb21lIHJl
YXNvbiBsbGRiKDEpIHNvbWV0aW1lcyBoYXMgYW4gaXNzdWUgYWNjZXNzaW5nIG1lbWJlcnMgb2Yg
V1RGOjpTdHJpbmdJbXBsU2hhcGUKKyAgICAgICAgIyB2aWEgYSBXVEY6OlN0cmluZ0ltcGwgcG9p
bnRlciAod2h5PykuIEFzIGEgd29ya2Fyb3VuZCB3ZSBleHBsaWNpdGx5IGNhc3QgdG8gV1RGOjpT
dHJpbmdJbXBsU2hhcGUqLgorICAgICAgICBzdHJpbmdfaW1wbF9zaGFwZV9wdHJfdHlwZSA9IHZh
bG9iai5HZXRUYXJnZXQoKS5GaW5kRmlyc3RUeXBlKCdXVEY6OlN0cmluZ0ltcGxTaGFwZScpLkdl
dFBvaW50ZXJUeXBlKCkKKyAgICAgICAgc2VsZi52YWxvYmogPSB2YWxvYmouQ2FzdChzdHJpbmdf
aW1wbF9zaGFwZV9wdHJfdHlwZSkKIAogICAgIGRlZiBnZXRfbGVuZ3RoKHNlbGYpOgogICAgICAg
ICByZXR1cm4gc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9sZW5ndGgnKS5H
ZXRWYWx1ZUFzVW5zaWduZWQoMCkKIAogICAgIGRlZiBnZXRfZGF0YTgoc2VsZik6Ci0gICAgICAg
IHJldHVybiBzZWxmLnZhbG9iai5HZXRDaGlsZEF0SW5kZXgoMCkuR2V0Q2hpbGRBdEluZGV4KDIp
LkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fZGF0YTgnKQorICAgICAgICByZXR1cm4gc2VsZi52
YWxvYmouR2V0Q2hpbGRBdEluZGV4KDIpLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fZGF0YTgn
KQogCiAgICAgZGVmIGdldF9kYXRhMTYoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnZhbG9i
ai5HZXRDaGlsZEF0SW5kZXgoMCkuR2V0Q2hpbGRBdEluZGV4KDIpLkdldENoaWxkTWVtYmVyV2l0
aE5hbWUoJ21fZGF0YTE2JykKKyAgICAgICAgcmV0dXJuIHNlbGYudmFsb2JqLkdldENoaWxkQXRJ
bmRleCgyKS5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX2RhdGExNicpCiAKICAgICBkZWYgdG9f
c3RyaW5nKHNlbGYpOgogICAgICAgICBlcnJvciA9IGxsZGIuU0JFcnJvcigpCg==
</data>
<flag name="review"
          id="361983"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>