<?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>12841</bug_id>
          
          <creation_ts>2007-02-21 04:29:36 -0800</creation_ts>
          <short_desc>Crash on ARM due to mis-alignment</short_desc>
          <delta_ts>2007-02-22 08:11:01 -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>New Bugs</component>
          <version>420+</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oscar Cwajbaum">public</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kkowalczyk</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>22415</commentid>
    <comment_count>0</comment_count>
    <who name="Oscar Cwajbaum">public</who>
    <bug_when>2007-02-21 04:29:36 -0800</bug_when>
    <thetext>ARM has stricter alignment rules than many other architectures. In this case, pageheap_memory is being declared as a char array, so it is not aligned by the compiler. It is later used as TCMalloc_PageHeap*, which does require alignment.

When building under ARM, this patch tells the compiler to stricly align pageheap_memory so that pageheap_memory can be used as TCMalloc_PageHeap*. It does not affect other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22416</commentid>
    <comment_count>1</comment_count>
      <attachid>13292</attachid>
    <who name="Oscar Cwajbaum">public</who>
    <bug_when>2007-02-21 04:30:54 -0800</bug_when>
    <thetext>Created attachment 13292
Fix ARM crash due to mis-alignment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22331</commentid>
    <comment_count>2</comment_count>
      <attachid>13292</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-02-21 17:21:09 -0800</bug_when>
    <thetext>Comment on attachment 13292
Fix ARM crash due to mis-alignment

I think there&apos;s a more-portable way to solve this problem. We could make pageheap_memory be an array of pointers instead of an array of char. That would ive us the alignment we need to store pointers in it.

static void* pageheap_memory[(sizeof(TCMalloc_PageHeap) + sizeof(void*) - 1) / sizeof(void*)];

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22315</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-02-22 00:15:30 -0800</bug_when>
    <thetext>I agree with Darin. I think it is better to enforce the alignment in a portable way, by making the array be a pointer array or the like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22318</commentid>
    <comment_count>4</comment_count>
      <attachid>13312</attachid>
    <who name="Oscar Cwajbaum">public</who>
    <bug_when>2007-02-22 00:48:00 -0800</bug_when>
    <thetext>Created attachment 13312
Fix ARM crash due to mis-alignment - rev2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22319</commentid>
    <comment_count>5</comment_count>
    <who name="Oscar Cwajbaum">public</who>
    <bug_when>2007-02-22 00:50:34 -0800</bug_when>
    <thetext>Sounds good to me. I&apos;ve attached a modified patch with Darin&apos;s suggestion.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22289</commentid>
    <comment_count>6</comment_count>
      <attachid>13312</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-02-22 02:26:04 -0800</bug_when>
    <thetext>Comment on attachment 13312
Fix ARM crash due to mis-alignment - rev2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22272</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-02-22 08:11:01 -0800</bug_when>
    <thetext>Landed in r19791.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13292</attachid>
            <date>2007-02-21 04:30:54 -0800</date>
            <delta_ts>2007-02-22 00:45:39 -0800</delta_ts>
            <desc>Fix ARM crash due to mis-alignment</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1510</size>
            <attacher name="Oscar Cwajbaum">public</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzY5KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDctMDItMjEgIE9zY2FyIEN3
YWpiYXVtICA8cHVibGljQG9zY2FyYy5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
CisKKyAgICAgICAgRml4IEFSTS1zcGVjaWZpYyBhbGlnbm1lbnQgcHJvYmxlbSBpbiBGYXN0TWFs
bG9jCisKKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6CisgICAgICAgIGNvbXBpbGVyIGRp
cmVjdGl2ZSB0byBmb3JjZSBhbGlnbm1lbnQgd2hlbiBidWlsZGluZyBmb3IgQVJNCisKIDIwMDct
MDItMjAgIFphY2sgUnVzaW4gIDx6cnVzaW5AdHJvbGx0ZWNoLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBMYXJzCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxvYy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RNYWxsb2MuY3BwCShyZXZpc2lvbiAx
OTc2OSkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTU1LDYgKzE1NSwxMiBAQCBuYW1lc3BhY2UgV1RGIHsKICNkZWZpbmUgTExVICAgImxs
dSIgICAgICAgICAgICAgIC8vIGhvcGUgZm9yIHRoZSBiZXN0CiAjZW5kaWYKIAorI2lmIENPTVBJ
TEVSKEdDQykgJiYgUExBVEZPUk0oQVJNKQorI2RlZmluZSBBTElHTl9BUlJBWSAgX19hdHRyaWJ1
dGVfXyAoKGFsaWduZWQoNCkpKQorI2Vsc2UKKyNkZWZpbmUgQUxJR05fQVJSQVkKKyNlbmRpZgor
CiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIC8vIENvbmZpZ3VyYXRpb24KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTExMyw3
ICsxMTE5LDcgQEAgc3RhdGljIFRDTWFsbG9jX0NlbnRyYWxfRnJlZUxpc3RQYWRkZWQgYwogCiAv
LyBQYWdlLWxldmVsIGFsbG9jYXRvcgogc3RhdGljIFNwaW5Mb2NrIHBhZ2VoZWFwX2xvY2sgPSBT
UElOTE9DS19JTklUSUFMSVpFUjsKLXN0YXRpYyBjaGFyIHBhZ2VoZWFwX21lbW9yeVtzaXplb2Yo
VENNYWxsb2NfUGFnZUhlYXApXTsKK3N0YXRpYyBjaGFyIHBhZ2VoZWFwX21lbW9yeVtzaXplb2Yo
VENNYWxsb2NfUGFnZUhlYXApXSBBTElHTl9BUlJBWSA7CiBzdGF0aWMgYm9vbCBwaGluaXRlZCA9
IGZhbHNlOwogCiAvLyBBdm9pZCBleHRyYSBsZXZlbCBvZiBpbmRpcmVjdGlvbiBieSBtYWtpbmcg
InBhZ2VoZWFwIiBiZSBqdXN0IGFuIGFsaWFzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13312</attachid>
            <date>2007-02-22 00:48:00 -0800</date>
            <delta_ts>2007-02-22 02:26:04 -0800</delta_ts>
            <desc>Fix ARM crash due to mis-alignment - rev2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1193</size>
            <attacher name="Oscar Cwajbaum">public</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Nzg4KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDctMDItMjIgIE9zY2FyIEN3
YWpiYXVtICA8cHVibGljQG9zY2FyYy5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
CisKKyAgICAgICAgRml4IEFSTS1zcGVjaWZpYyBhbGlnbm1lbnQgcHJvYmxlbSBpbiBGYXN0TWFs
bG9jCisKKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6CisgICAgICAgIE1vZGlmeSBob3cg
cGFnZWhlYXBfbWVtb3J5IGlzIGRlY2xhcmVkIHRvIGVuc3VyZSBwcm9wZXIgYWxpZ25tZW50Cisg
ICAgICAgIG9uIGFyY2hpdGVjdHVyZXMgc3VjaCBhcyBBUk0KKwogMjAwNy0wMi0yMCAgWmFjayBS
dXNpbiAgPHpydXNpbkB0cm9sbHRlY2guY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IExhcnMK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
YXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxvYy5jcHAJKHJldmlzaW9uIDE5Nzg4KQorKysgSmF2
YVNjcmlwdENvcmUvd3RmL0Zhc3RNYWxsb2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEzLDcg
KzExMTMsNyBAQCBzdGF0aWMgVENNYWxsb2NfQ2VudHJhbF9GcmVlTGlzdFBhZGRlZCBjCiAKIC8v
IFBhZ2UtbGV2ZWwgYWxsb2NhdG9yCiBzdGF0aWMgU3BpbkxvY2sgcGFnZWhlYXBfbG9jayA9IFNQ
SU5MT0NLX0lOSVRJQUxJWkVSOwotc3RhdGljIGNoYXIgcGFnZWhlYXBfbWVtb3J5W3NpemVvZihU
Q01hbGxvY19QYWdlSGVhcCldOworc3RhdGljIHZvaWQqIHBhZ2VoZWFwX21lbW9yeVsoc2l6ZW9m
KFRDTWFsbG9jX1BhZ2VIZWFwKSArIHNpemVvZih2b2lkKikgLSAxKSAvIHNpemVvZih2b2lkKild
Owogc3RhdGljIGJvb2wgcGhpbml0ZWQgPSBmYWxzZTsKIAogLy8gQXZvaWQgZXh0cmEgbGV2ZWwg
b2YgaW5kaXJlY3Rpb24gYnkgbWFraW5nICJwYWdlaGVhcCIgYmUganVzdCBhbiBhbGlhcwo=
</data>
<flag name="review"
          id="5210"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>