<?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>87887</bug_id>
          
          <creation_ts>2012-05-30 12:51:49 -0700</creation_ts>
          <short_desc>ScriptDebugServer wants sourceIDs that are non-zero because that&apos;s what HashMaps want, so JSC should placate it</short_desc>
          <delta_ts>2012-05-30 16:13:53 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>637564</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 12:51:49 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637572</commentid>
    <comment_count>1</comment_count>
      <attachid>144900</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 12:54:03 -0700</bug_when>
    <thetext>Created attachment 144900
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637574</commentid>
    <comment_count>2</comment_count>
      <attachid>144900</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-05-30 12:56:06 -0700</bug_when>
    <thetext>Comment on attachment 144900
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637578</commentid>
    <comment_count>3</comment_count>
      <attachid>144900</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-30 13:01:22 -0700</bug_when>
    <thetext>Comment on attachment 144900
the patch

Do we actually call SourceProvider::asID on a null pointer? Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637592</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 13:17:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 144900 [details])
&gt; Do we actually call SourceProvider::asID on a null pointer? Why?

Null SourceProvider means something like &quot;I have an unnamed source provider&quot;.  There are a few places in the code where we explicitly check for null SourceProviders, but the asID() method is called without such checks, and generally works OK except when it returns zero and that zero ends up in some HashMap in the bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637606</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-05-30 13:24:33 -0700</bug_when>
    <thetext>On second thought, how do we ever end up with a NULL source provider? I would expect some operations, like toString, which don&apos;t check for NULL, to crash in that case. It seems like NULL might be a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637638</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 13:36:36 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/118960</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637646</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 13:43:39 -0700</bug_when>
    <thetext>Reopening because it would be better to check for null SourceProvider at the call site, rather than inside the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637669</commentid>
    <comment_count>8</comment_count>
      <attachid>144918</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 13:59:13 -0700</bug_when>
    <thetext>Created attachment 144918
a better patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637675</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 14:04:54 -0700</bug_when>
    <thetext>Better fix landed in http://trac.webkit.org/changeset/118966</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637796</commentid>
    <comment_count>10</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-30 16:13:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/11561506&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144900</attachid>
            <date>2012-05-30 12:54:03 -0700</date>
            <delta_ts>2012-05-30 13:01:22 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>placatesds_patch_1.diff</filename>
            <type>text/plain</type>
            <size>1432</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4OTU3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA1LTMwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U2NyaXB0RGVidWdTZXJ2ZXIgd2FudHMgc291cmNlSURzIHRoYXQgYXJlIG5vbi16ZXJvIGJlY2F1
c2UgdGhhdCdzIHdoYXQgSGFzaE1hcHMgd2FudCwgc28gSlNDIHNob3VsZCBwbGFjYXRlIGl0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzg4NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFyc2VyL1Nv
dXJjZVByb3ZpZGVyLmg6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyOjphc0lEKToKKwog
MjAxMi0wNS0zMCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIERG
RyBkb2VzIG5vdCBjb3JyZWN0bHkgaGFuZGxlIGV4Y2VwdGlvbnMgY2F1Z2h0IGluIHRoZSBMTElu
dApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXIu
aAkocmV2aXNpb24gMTE4ODYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VQcm92aWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSwxMiBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgCiAgICAgICAgIGNvbnN0IFVTdHJpbmcmIHVybCgpIHsgcmV0dXJuIG1f
dXJsOyB9CiAgICAgICAgIFRleHRQb3NpdGlvbiBzdGFydFBvc2l0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9zdGFydFBvc2l0aW9uOyB9Ci0gICAgICAgIGludHB0cl90IGFzSUQoKSB7IHJldHVybiBy
ZWludGVycHJldF9jYXN0PGludHB0cl90Pih0aGlzKTsgfQorICAgICAgICBpbnRwdHJfdCBhc0lE
KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCF0aGlzKQorICAgICAgICAgICAgICAgIHJl
dHVybiAxOworICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRo
aXMpOworICAgICAgICB9CiAKICAgICAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4g
bV92YWxpZGF0ZWQ7IH0KICAgICAgICAgdm9pZCBzZXRWYWxpZCgpIHsgbV92YWxpZGF0ZWQgPSB0
cnVlOyB9Cg==
</data>
<flag name="review"
          id="151891"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144918</attachid>
            <date>2012-05-30 13:59:13 -0700</date>
            <delta_ts>2012-05-30 14:01:59 -0700</delta_ts>
            <desc>a better patch</desc>
            <filename>placatesds_patch_2.diff</filename>
            <type>text/plain</type>
            <size>4174</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4OTY0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDEyLTA1LTMwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U2NyaXB0RGVidWdTZXJ2ZXIgd2FudHMgc291cmNlSURzIHRoYXQgYXJlIG5vbi16ZXJvIGJlY2F1
c2UgdGhhdCdzIHdoYXQgSGFzaE1hcHMgd2FudCwgc28gSlNDIHNob3VsZCBwbGFjYXRlIGl0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzg4NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQmV0
dGVyIGZpeCAtIHdlIG5vdyBuZXZlciBjYWxsIFNvdXJjZVByb3ZpZGVyOjphc0lEKCkgaWYgU291
cmNlUHJvdmlkZXIqIGlzIDAuCisKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAg
KEpTQzo6U2NvcGVOb2RlOjpzb3VyY2VJRCk6CisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUu
aDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6cHJvdmlkZXJJRCk6CisgICAgICAgIChTb3Vy
Y2VDb2RlKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXIuaDoKKyAgICAgICAgKFNv
dXJjZVByb3ZpZGVyKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXI6OmFzSUQpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAoSlNDOjpTY3JpcHRFeGVjdXRh
YmxlOjpzb3VyY2VJRCk6CisKIDIwMTItMDUtMzAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KIAogICAgICAgICBTY3JpcHREZWJ1Z1NlcnZlciB3YW50cyBzb3VyY2VJRHMgdGhhdCBh
cmUgbm9uLXplcm8gYmVjYXVzZSB0aGF0J3Mgd2hhdCBIYXNoTWFwcyB3YW50LCBzbyBKU0Mgc2hv
dWxkIHBsYWNhdGUgaXQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgJKHJl
dmlzaW9uIDExODg2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMTM5OSw3ICsxMzk5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICAgICAgY29uc3QgU291cmNlQ29kZSYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2U7
IH0KICAgICAgICAgY29uc3QgVVN0cmluZyYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9z
b3VyY2UucHJvdmlkZXIoKS0+dXJsKCk7IH0KLSAgICAgICAgaW50cHRyX3Qgc291cmNlSUQoKSBj
b25zdCB7IHJldHVybiBtX3NvdXJjZS5wcm92aWRlcigpLT5hc0lEKCk7IH0KKyAgICAgICAgaW50
cHRyX3Qgc291cmNlSUQoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZS5wcm92aWRlcklEKCk7IH0K
IAogICAgICAgICB2b2lkIHNldEZlYXR1cmVzKENvZGVGZWF0dXJlcyBmZWF0dXJlcykgeyBtX2Zl
YXR1cmVzID0gZmVhdHVyZXM7IH0KICAgICAgICAgQ29kZUZlYXR1cmVzIGZlYXR1cmVzKCkgeyBy
ZXR1cm4gbV9mZWF0dXJlczsgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VDb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VDb2RlLmgJKHJldmlzaW9uIDExODg2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlQ29kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2NywxMyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBtX3Byb3ZpZGVyLT5nZXRSYW5nZShtX3N0
YXJ0Q2hhciwgbV9lbmRDaGFyKTsKICAgICAgICAgfQogICAgICAgICAKKyAgICAgICAgaW50cHRy
X3QgcHJvdmlkZXJJRCgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9wcm92
aWRlcikKKyAgICAgICAgICAgICAgICByZXR1cm4gU291cmNlUHJvdmlkZXI6Om51bGxJRDsKKyAg
ICAgICAgICAgIHJldHVybiBtX3Byb3ZpZGVyLT5hc0lEKCk7CisgICAgICAgIH0KKyAgICAgICAg
CiAgICAgICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gIW1fcHJvdmlkZXI7IH0KICAg
ICAgICAgU291cmNlUHJvdmlkZXIqIHByb3ZpZGVyKCkgY29uc3QgeyByZXR1cm4gbV9wcm92aWRl
ci5nZXQoKTsgfQogICAgICAgICBpbnQgZmlyc3RMaW5lKCkgY29uc3QgeyByZXR1cm4gbV9maXJz
dExpbmU7IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlk
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVBy
b3ZpZGVyLmgJKHJldmlzaW9uIDExODk2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8U291cmNlUHJvdmlkZXI+IHsKICAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBjb25zdCBp
bnRwdHJfdCBudWxsSUQgPSAxOworICAgICAgICAKICAgICAgICAgU291cmNlUHJvdmlkZXIoY29u
c3QgVVN0cmluZyYgdXJsLCBjb25zdCBUZXh0UG9zaXRpb24mIHN0YXJ0UG9zaXRpb24sIFNvdXJj
ZVByb3ZpZGVyQ2FjaGUqIGNhY2hlID0gMCkKICAgICAgICAgICAgIDogbV91cmwodXJsKQogICAg
ICAgICAgICAgLCBtX3N0YXJ0UG9zaXRpb24oc3RhcnRQb3NpdGlvbikKQEAgLTYzLDggKzY1LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFRleHRQb3NpdGlvbiBzdGFydFBvc2l0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9zdGFydFBvc2l0aW9uOyB9CiAgICAgICAgIGludHB0cl90IGFzSUQo
KQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIXRoaXMpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIDE7CisgICAgICAgICAgICBBU1NFUlQodGhpcyk7CisgICAgICAgICAgICBpZiAoIXRoaXMp
IC8vIEJlIGRlZmVuc2l2ZSBpbiByZWxlYXNlIG1vZGUuCisgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxJRDsKICAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGludHB0cl90Pih0
aGlzKTsKICAgICAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXhlY3V0YWJsZS5oCShyZXZpc2lvbiAxMTg4NjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FeGVjdXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4NSw3ICsyODUsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICNlbmRpZgogCiAgICAgICAgIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJj
ZSgpIHsgcmV0dXJuIG1fc291cmNlOyB9Ci0gICAgICAgIGludHB0cl90IHNvdXJjZUlEKCkgY29u
c3QgeyByZXR1cm4gbV9zb3VyY2UucHJvdmlkZXIoKS0+YXNJRCgpOyB9CisgICAgICAgIGludHB0
cl90IHNvdXJjZUlEKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UucHJvdmlkZXJJRCgpOyB9CiAg
ICAgICAgIGNvbnN0IFVTdHJpbmcmIHNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNl
LnByb3ZpZGVyKCktPnVybCgpOyB9CiAgICAgICAgIGludCBsaW5lTm8oKSBjb25zdCB7IHJldHVy
biBtX2ZpcnN0TGluZTsgfQogICAgICAgICBpbnQgbGFzdExpbmUoKSBjb25zdCB7IHJldHVybiBt
X2xhc3RMaW5lOyB9Cg==
</data>
<flag name="review"
          id="151918"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>