<?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>68990</bug_id>
          
          <creation_ts>2011-09-28 03:16:21 -0700</creation_ts>
          <short_desc>[Qt]REGRESSION(r95912): It made sputnik tests flakey</short_desc>
          <delta_ts>2022-02-27 23:23:24 -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>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>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>69102</dependson>
          <blocked>68764</blocked>
    
    <blocked>68860</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Zoltan Herczeg">zherczeg</assigned_to>
          <cc>ggaren</cc>
    
    <cc>loki</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>474634</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 03:16:21 -0700</bug_when>
    <thetext>r95912, r95914(buildfix), r95917(buildfix) and r96068(regression fix)
made sputnik tests flakey on Qt platform.

I think it isn&apos;t a QtWebKit bug, but a hidden JSC bug revealed by QtWebKit bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474636</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 03:23:27 -0700</bug_when>
    <thetext>r96068 fixed zillion crash, but there are timeout sputnik tests:

On Qt ARM bot: http://build.webkit.sed.hu/results/ARMv5%20Linux%20Qt%20Release%20%28Test%29/r96068%20%283791%29/results.html

On Qt 4.8 bot:
http://build.webkit.sed.hu/results/x86-32%20Linux%20Qt-4.8.x%20Release/r96068%20%2824137%29/results.html

On Qt 32-bit debug bot:
http://build.webkit.sed.hu/results/x86-32%20Linux%20Qt%20Debug/r96068%20%2818568%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474637</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 03:29:30 -0700</bug_when>
    <thetext>You can reproduce timeouts with Qt 4.7.4 in release mode 32-bit (Same as our official bot on build.webkit.org) with ORWT if you run all tests. (Unfortunately NRWT runs tests in different order and the bug doesn&apos;t occur with it on the official bot.)

I tried revert r95912, r95914, r95917 and r96068 locally and then all tests pass for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474645</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 03:38:27 -0700</bug_when>
    <thetext>One more thing: This bug only appears on 32 bit x86 platfom and on ARM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474668</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 04:56:10 -0700</bug_when>
    <thetext>I managed to reproduce it in a small example: 

$ Tools/Scripts/old-run-webkit-tests LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI --exit-after-n-failures 1 --verbose

running sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A1.1_T1.html -&gt; succeeded
running sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A1.2_T1.html -&gt; succeeded
running sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A1.2_T2.html -&gt; succeeded
running sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A1.3_T1.html -&gt; timed out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475341</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-29 03:02:28 -0700</bug_when>
    <thetext>Any GC expert volunteer for this bug? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475556</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-29 11:48:04 -0700</bug_when>
    <thetext>Is there a way to reproduce this on a non-Qt system?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475560</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-29 11:50:34 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Is there a way to reproduce this on a non-Qt system?

I don&apos;t know. But Zoltan started to fix it, he confirmed that it is a GC related bug. I think he will provide the fix tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475562</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-09-29 11:52:35 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Is there a way to reproduce this on a non-Qt system?
&gt; 
&gt; I don&apos;t know. But Zoltan started to fix it, he confirmed that it is a GC related bug. I think he will provide the fix tomorrow.

We might be able to fix it if we had any information about what is going wrong -- currently we can&apos;t repro, but zoltan has found the bug and hasn&apos;t commented on what that bug is so we can&apos;t help in any way :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475702</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-29 15:00:33 -0700</bug_when>
    <thetext>It seems http://trac.webkit.org/changeset/96354 fixed the bug. But let&apos;s wait for Zoltan&apos;s confirmation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475951</commentid>
    <comment_count>10</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-09-30 00:08:08 -0700</bug_when>
    <thetext>&gt; We might be able to fix it if we had any information about what is going wrong -- currently we can&apos;t repro, but zoltan has found the bug and hasn&apos;t commented on what that bug is so we can&apos;t help in any way :-/

I will check the fix Ossy mentioned. Probably I still need to debug it to see that the fix hides the issue or really fix it. But it is a good lead at least.

ClassInfo.h:66:
 for (const ClassInfo* ci = this; ci; ci = ci-&gt;parentClass)

 in this case ci == ci-&gt;parentClass, so it is an infinite loop.

This happens after the calling of GC. The &apos;this&apos; pointer contains JSDOMWindow, namely the JSDOMWindow of S15.1.3.1_A1.2_T1.html. The GC call and infinite loop happens during the run of S15.1.3.1_A1.2_T2.html. And the mentioned parentClass is the 3rd parent.

p structure()-&gt;classInfo()-&gt;parentClass-&gt;parentClass == 0xf12d3fb0
p structure()-&gt;classInfo()-&gt;parentClass-&gt;parentClass-&gt;parentClass == 0xf12d3fb0

and this repeats forever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476046</commentid>
    <comment_count>11</comment_count>
      <attachid>109288</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-09-30 05:51:24 -0700</bug_when>
    <thetext>Created attachment 109288
minor change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476048</commentid>
    <comment_count>12</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-09-30 05:57:35 -0700</bug_when>
    <thetext>I did the debugging. The Structure was freed, but still have references from a &quot;should be freed&quot; object (unused JSDOMWindow). The cell is allocated again and the new memory data cause the infinite loop (it could be a crash of course). After the signed chars changed to int both of them are correctly collected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476050</commentid>
    <comment_count>13</comment_count>
      <attachid>109288</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-30 05:59:50 -0700</bug_when>
    <thetext>Comment on attachment 109288
minor change

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

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        Changint signed char to int in r96354 solved the

typo: Changint -&gt; Changing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476239</commentid>
    <comment_count>14</comment_count>
      <attachid>109288</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-30 12:16:55 -0700</bug_when>
    <thetext>Comment on attachment 109288
minor change

r=me with typo fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476831</commentid>
    <comment_count>15</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-03 00:34:44 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/96483</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109288</attachid>
            <date>2011-09-30 05:51:24 -0700</date>
            <delta_ts>2022-02-27 23:23:24 -0800</delta_ts>
            <desc>minor change</desc>
            <filename>0001-minor-fix.patch</filename>
            <type>text/plain</type>
            <size>1771</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSA5MjBjY2Y4YTg4MTc3NDAxOGUyOWE5YzNiMmY4OGEyMmFmNjZlOWE2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAd2Via2l0Lm9yZz4K
RGF0ZTogRnJpLCAzMCBTZXAgMjAxMSAwNTo0Mzo0NiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIG1p
bm9yLWZpeAoKLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICB8
ICAgMTQgKysrKysrKysrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oIHwgICAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI5Mjc5OTcuLjNlZGY4OTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTA5LTMwICBa
b2x0YW4gSGVyY3plZyAgPHpoZXJjemVnQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1F0XVJFR1JF
U1NJT04ocjk1OTEyKTogSXQgbWFkZSBzcHV0bmlrIHRlc3RzIGZsYWtleQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5OTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2ludCBzaWduZWQgY2hhciB0
byBpbnQgaW4gcjk2MzU0IHNvbHZlZCB0aGUKKyAgICAgICAgcHJvYmxlbS4gSG93ZXZlciB0cmFu
c2l0aW9uQ291bnQgc3RpbGwgcmV0dXJucworICAgICAgICB3aXRoIGEgc2lnbmVkIGNoYXIgYW5k
IHNob3VsZCBiZSBjaGFuZ2VkIHRvIGludC4KKworICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJl
Lmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6dHJhbnNpdGlvbkNvdW50KToKKwogMjAxMS0w
OS0yOSAgWXVxaWFuZyBYaWFuICA8eXVxaWFuZy54aWFuQGludGVsLmNvbT4KIAogICAgICAgICBB
ZGQgb3BfY2FsbC9vcF9jb25zdHJ1Y3RvciBzdXBwb3J0IHRvIEpTVkFMVUUzMl82NCBERkcgSklU
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCmluZGV4IGU4MzIzNDYu
LmNkMTkxZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCkBA
IC0yMjksNyArMjI5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAgICAgbWF0ZXJp
YWxpemVQcm9wZXJ0eU1hcChnbG9iYWxEYXRhKTsKICAgICAgICAgfQogCi0gICAgICAgIHNpZ25l
ZCBjaGFyIHRyYW5zaXRpb25Db3VudCgpIGNvbnN0CisgICAgICAgIGludCB0cmFuc2l0aW9uQ291
bnQoKSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICAvLyBTaW5jZSB0aGUgbnVtYmVyIG9m
IHRyYW5zaXRpb25zIGlzIGFsd2F5cyB0aGUgc2FtZSBhcyBtX29mZnNldCwgd2Uga2VlcCB0aGUg
c2l6ZSBvZiBTdHJ1Y3R1cmUgZG93biBieSBub3Qgc3RvcmluZyBib3RoLgogICAgICAgICAgICAg
cmV0dXJuIG1fb2Zmc2V0ID09IG5vT2Zmc2V0ID8gMCA6IG1fb2Zmc2V0ICsgMTsKLS0gCjEuNy4y
LjUKCg==
</data>
<flag name="review"
          id="106502"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>