<?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>72455</bug_id>
          
          <creation_ts>2011-11-15 19:54:47 -0800</creation_ts>
          <short_desc>QNX StackBase doesn&apos;t take guard page into account</short_desc>
          <delta_ts>2011-11-16 04:36:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="George Staikos">staikos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dbates</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>503532</commentid>
    <comment_count>0</comment_count>
      <attachid>115305</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2011-11-15 19:54:47 -0800</bug_when>
    <thetext>Created attachment 115305
Patch to fix the crash by excluding the guard page from the stack.

There is a 4kb guard page on the stack on QNX.  The current code doesn&apos;t take this into account, causing it to crash before hitting the recursion/stack guard in WTF.  Crashes multiple layout tests including large-expressions.js and regress-96526-002.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503535</commentid>
    <comment_count>1</comment_count>
      <attachid>115305</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2011-11-15 19:57:07 -0800</bug_when>
    <thetext>Comment on attachment 115305
Patch to fix the crash by excluding the guard page from the stack.

Missing changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503557</commentid>
    <comment_count>2</comment_count>
      <attachid>115314</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2011-11-15 20:46:52 -0800</bug_when>
    <thetext>Created attachment 115314
Add patch with changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503566</commentid>
    <comment_count>3</comment_count>
      <attachid>115314</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-11-15 21:11:40 -0800</bug_when>
    <thetext>Comment on attachment 115314
Add patch with changelog

View in context: https://bugs.webkit.org/attachment.cgi?id=115314&amp;action=review

Thanks for the patch!

&gt; Source/JavaScriptCore/wtf/StackBounds.cpp:110
&gt; +    m_bound = static_cast&lt;char*&gt;(stackBase) + 0x1000; // 4kb guard page

This is OK as-is. We should look to query the OS for the page size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503593</commentid>
    <comment_count>4</comment_count>
      <attachid>115314</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 22:21:20 -0800</bug_when>
    <thetext>Comment on attachment 115314
Add patch with changelog

Clearing flags on attachment: 115314

Committed r100406: &lt;http://trac.webkit.org/changeset/100406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503594</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 22:21:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503762</commentid>
    <comment_count>6</comment_count>
    <who name="George Staikos">staikos</who>
    <bug_when>2011-11-16 04:36:40 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 115314 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=115314&amp;action=review
&gt; 
&gt; Thanks for the patch!
&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/StackBounds.cpp:110
&gt; &gt; +    m_bound = static_cast&lt;char*&gt;(stackBase) + 0x1000; // 4kb guard page
&gt; 
&gt; This is OK as-is. We should look to query the OS for the page size.

There is no way to do that yet other than read the book, as far as I know.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115305</attachid>
            <date>2011-11-15 19:54:47 -0800</date>
            <delta_ts>2011-11-15 20:13:32 -0800</delta_ts>
            <desc>Patch to fix the crash by excluding the guard page from the stack.</desc>
            <filename>0001-2011-11-15-George-Staikos-gstaikos-rim.com.patch</filename>
            <type>text/plain</type>
            <size>1022</size>
            <attacher name="George Staikos">staikos</attacher>
            
              <data encoding="base64">RnJvbSBhMzllNWJmODcwNjg0YTQzMzY1NDk0MGJmNmVlZmIxYzgyYzcyN2Y0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHZW9yZ2UgU3RhaWtvcyA8c3RhaWtvc0B3ZWJraXQub3JnPgpE
YXRlOiBUdWUsIDE1IE5vdiAyMDExIDE5OjQ1OjI0IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gMjAx
MS0xMS0xNSAgR2VvcmdlIFN0YWlrb3MgIDxzdGFpa29zQHdlYmtpdC5vcmc+CgogICAgICAgIFJl
bW92ZSB0aGUgZ3VhcmQgcGFnZSBmcm9tIHRoZSBhZGRyZXNzYWJsZSBzdGFjayByZWdpb24gb24g
UU5YLgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgKiB3dGYv
U3RhY2tCb3VuZHMuY3BwOgogICAgICAgIChXVEY6OlN0YWNrQm91bmRzOjppbml0aWFsaXplKToK
LS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0YWNrQm91bmRzLmNwcCB8ICAgIDIgKy0K
IDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RhY2tCb3VuZHMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9TdGFja0JvdW5kcy5jcHAKaW5kZXggYWEzYTliNC4uZDIzMDkw
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGFja0JvdW5kcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGFja0JvdW5kcy5jcHAKQEAgLTEwNyw3
ICsxMDcsNyBAQCB2b2lkIFN0YWNrQm91bmRzOjppbml0aWFsaXplKCkKICAgICBzdGFja1NpemUg
PSB0aHJlYWRJbmZvLnN0a3NpemU7CiAgICAgQVNTRVJUKHN0YWNrQmFzZSk7CiAKLSAgICBtX2Jv
dW5kID0gc3RhY2tCYXNlOworICAgIG1fYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4oc3RhY2tC
YXNlKSArIDB4MTAwMDsgLy8gNGtiIGd1YXJkIHBhZ2UKICAgICBtX29yaWdpbiA9IHN0YXRpY19j
YXN0PGNoYXIqPihzdGFja0Jhc2UpICsgc3RhY2tTaXplOwogfQogCi0tIAoxLjcuMC4yCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115314</attachid>
            <date>2011-11-15 20:46:52 -0800</date>
            <delta_ts>2011-11-15 22:21:18 -0800</delta_ts>
            <desc>Add patch with changelog</desc>
            <filename>72455.patch</filename>
            <type>text/plain</type>
            <size>1640</size>
            <attacher name="George Staikos">staikos</attacher>
            
              <data encoding="base64">RnJvbSBhMzllNWJmODcwNjg0YTQzMzY1NDk0MGJmNmVlZmIxYzgyYzcyN2Y0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHZW9yZ2UgU3RhaWtvcyA8c3RhaWtvc0B3ZWJraXQub3JnPgpE
YXRlOiBUdWUsIDE1IE5vdiAyMDExIDE5OjQ1OjI0IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gMjAx
MS0xMS0xNSAgR2VvcmdlIFN0YWlrb3MgIDxzdGFpa29zQHdlYmtpdC5vcmc+CgogICAgICAgIFJl
bW92ZSB0aGUgZ3VhcmQgcGFnZSBmcm9tIHRoZSBhZGRyZXNzYWJsZSBzdGFjayByZWdpb24gb24g
UU5YLgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgKiB3dGYv
U3RhY2tCb3VuZHMuY3BwOgogICAgICAgIChXVEY6OlN0YWNrQm91bmRzOjppbml0aWFsaXplKToK
LS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0YWNrQm91bmRzLmNwcCB8ICAgIDIgKy0K
IDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RhY2tCb3VuZHMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9TdGFja0JvdW5kcy5jcHAKaW5kZXggYWEzYTliNC4uZDIzMDkw
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGFja0JvdW5kcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGFja0JvdW5kcy5jcHAKQEAgLTEwNyw3
ICsxMDcsNyBAQCB2b2lkIFN0YWNrQm91bmRzOjppbml0aWFsaXplKCkKICAgICBzdGFja1NpemUg
PSB0aHJlYWRJbmZvLnN0a3NpemU7CiAgICAgQVNTRVJUKHN0YWNrQmFzZSk7CiAKLSAgICBtX2Jv
dW5kID0gc3RhY2tCYXNlOworICAgIG1fYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4oc3RhY2tC
YXNlKSArIDB4MTAwMDsgLy8gNGtiIGd1YXJkIHBhZ2UKICAgICBtX29yaWdpbiA9IHN0YXRpY19j
YXN0PGNoYXIqPihzdGFja0Jhc2UpICsgc3RhY2tTaXplOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwppbmRleCBhYTNhOWI0Li5kMjMwOTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMS0xMS0xNSAgR2VvcmdlIFN0YWlrb3MgIDxzdGFpa29zQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHRoZSBndWFyZCBwYWdlIGZyb20gdGhlIGFkZHJlc3Nh
YmxlIHN0YWNrIHJlZ2lvbiBvbiBRTlguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL1N0YWNrQm91bmRzLmNwcDoKKyAgICAgICAgKFdURjo6U3Rh
Y2tCb3VuZHM6OmluaXRpYWxpemUpOgorCiAyMDExLTA4LTAyICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgSlNDIEdDIHVzZXMgZHVtbXkgY2VsbHMgdG8gYXZvaWQg
aGF2aW5nIHRvIHJlbWVtYmVyIHdoaWNoIGNlbGxzCi0tIAoxLjcuMC4yCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>