<?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>72694</bug_id>
          
          <creation_ts>2011-11-18 00:26:33 -0800</creation_ts>
          <short_desc>[Qt] fast/canvas/canvas-lineWidth.html timeouts intermittently on 64 bit</short_desc>
          <delta_ts>2012-05-22 10:27:29 -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>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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>79668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Rafael Brandao">rafael.lobo</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
    
    <cc>rafael.lobo</cc>
    
    <cc>reed</cc>
    
    <cc>webkit-sed</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>505566</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-18 00:26:33 -0800</bug_when>
    <thetext>$ Tools/Scripts/old-run-webkit-tests fast/canvas/canvas-lineWidth.html --iterations 100 --singly
54 test cases (54%) succeeded
46 test cases (46%) timed out

But it works fine on 32 bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508326</commentid>
    <comment_count>1</comment_count>
      <attachid>116405</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-11-23 13:15:25 -0800</bug_when>
    <thetext>Created attachment 116405
test modified to debug why length has such a big value (or negative)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508327</commentid>
    <comment_count>2</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-11-23 13:16:38 -0800</bug_when>
    <thetext>I&apos;ve spent a bit of time on this, so I&apos;ll share my findings - but I didn&apos;t find a solution yet.

Timeouts on this test happens because the length of an image data is returning a very large number (random)... when it returns a negative value (I suppose it is because of some overflow), then the for inside compareRows that will check every pixel at the image will just not run.

Now trying to understand why this length is getting this strange value, I&apos;ve decided to stop this for inside the function and not execute it at all. Then I&apos;ve printed out the length in both calls of compareRows and they&apos;re being printed correctly. Then instead of doing that for, I&apos;ve decided to put a for that does nothing, just iterate N times. And for my surprise, the length get corrupted in the second call when N &gt;= 985. Even more weird, if I print the length before using compareRows in the second time then it&apos;ll show the correct length... it just happens when it goes inside the function.

I&apos;ve also attached the modified version of this test that I was using to debug. My output for this debug:

typeof(ctx) = object
# comparing data... size1=240000
# comparing data... size2=240000
comparing data... size0=240000
comparing data... size1=240000
## typeof(ctx) = object
## comparing data... size1=240000
## comparing data... size2=240000
# comparing data... size1=623014176
# comparing data... size2=623014176
comparing data... size0=623014176
comparing data... size1=623014176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514110</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-02 14:01:20 -0800</bug_when>
    <thetext>This appears to time out on all platforms.  The test should be skipped/disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514836</commentid>
    <comment_count>4</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-12-04 19:20:01 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; This appears to time out on all platforms.  The test should be skipped/disabled.

I&apos;ve imagined that... the issue would just disappear depending on what context (inside a function or not) the data comparison is done, this bothers me.

It could be slightly modified to pass... instead of creating a function to avoid code repetition and compare the image data, we could avoid creating that function. This approach would probably solve it but would also hide this issue that is potentially something big... I&apos;m sorry I couldn&apos;t investigate more about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628441</commentid>
    <comment_count>5</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-19 10:09:03 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; $ Tools/Scripts/old-run-webkit-tests fast/canvas/canvas-lineWidth.html --iterations 100 --singly

For the record: this doesn&apos;t timeout for me neither in Qt on Mac Lion (64 bits) and Apple port on Mac Lion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628924</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-21 03:14:28 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #0)
&gt; &gt; $ Tools/Scripts/old-run-webkit-tests fast/canvas/canvas-lineWidth.html --iterations 100 --singly
&gt; 
&gt; For the record: this doesn&apos;t timeout for me neither in Qt on Mac Lion (64 bits) and Apple port on Mac Lion.

It passes on Qt Linux now ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630517</commentid>
    <comment_count>7</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-05-22 10:27:29 -0700</bug_when>
    <thetext>It looks like someone has unskipped it already, then I will close this bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>116405</attachid>
            <date>2011-11-23 13:15:25 -0800</date>
            <delta_ts>2011-11-23 13:15:25 -0800</delta_ts>
            <desc>test modified to debug why length has such a big value (or negative)</desc>
            <filename>canvas-lineWidth.js</filename>
            <type>application/javascript</type>
            <size>1648</size>
            <attacher name="Rafael Brandao">rafael.lobo</attacher>
            
              <data encoding="base64">Ly8gQ29tcGFyZSBzZWN0aW9ucyBvZiBhIDxjYW52YXM+IHRvIGFzc2VydCB0aGV5IGFyZSBpZGVu
dGljYWwuCmZ1bmN0aW9uIGNvbXBhcmVSb3dzKGN0eCwgeTAsIHkxLCB3aWR0aCwgaGVpZ2h0KSB7
CiAgICBkZWJ1ZygnIyBjb21wYXJpbmcgZGF0YS4uLiBzaXplMT0nICsgY3R4LmdldEltYWdlRGF0
YSgwLCB5MCwgd2lkdGgsIGhlaWdodCkuZGF0YS5sZW5ndGgpOwogICAgZGVidWcoJyMgY29tcGFy
aW5nIGRhdGEuLi4gc2l6ZTI9JyArIGN0eC5nZXRJbWFnZURhdGEoMCwgeTEsIHdpZHRoLCBoZWln
aHQpLmRhdGEubGVuZ3RoKTsKCiAgICB2YXIgZGF0YTAgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIHkw
LCB3aWR0aCwgaGVpZ2h0KS5kYXRhOwogICAgdmFyIGRhdGExID0gY3R4LmdldEltYWdlRGF0YSgw
LCB5MSwgd2lkdGgsIGhlaWdodCkuZGF0YTsKCiAgICBkZWJ1ZygnY29tcGFyaW5nIGRhdGEuLi4g
c2l6ZTA9JyArIGRhdGEwLmxlbmd0aCk7CiAgICBkZWJ1ZygnY29tcGFyaW5nIGRhdGEuLi4gc2l6
ZTE9JyArIGRhdGExLmxlbmd0aCk7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDk4NTsgKytpKTsK
ICAgIHJldHVybjsKfQoKZGVzY3JpcHRpb24oIlRlc3QgdGhlIGRlZmF1bHQgbGluZVdpZHRoIGlz
IGNvbnNpc3RlbnQuIik7CgpjdHggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIiku
Z2V0Q29udGV4dCgiMmQiKTsKY3R4LnN0cm9rZVN0eWxlID0gJ2JsdWUnOwoKZm9yICh2YXIgaiA9
IDA7IGogPCAzOyArK2opIHsKICAgIGN0eC5iZWdpblBhdGgoKTsKICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgNjA7ICsraSkgewogICAgICAgIHZhciB4ID0gaSAqIDEwOwogICAgICAgIHZhciB5ID0g
aiAqIDEwMCArIDMwICsgKGkgJSAxNSk7CiAgICAgICAgaWYgKGkgPT0gMCkgewogICAgICAgICAg
ICBjdHgubW92ZVRvKHgsIHkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGN0eC5saW5l
VG8oeCwgeSk7CiAgICAgICAgfQogICAgfQogICAgY3R4LnN0cm9rZSgpOwoKICAgIGlmIChqID09
IDApIHsKICAgICAgICBzaG91bGRCZSgiY3R4LmxpbmVXaWR0aCIsICIxIik7CiAgICAgICAgY3R4
LmxpbmVXaWR0aCA9IGN0eC5saW5lV2lkdGg7CiAgICAgICAgc2hvdWxkQmUoImN0eC5saW5lV2lk
dGgiLCAiMSIpOwogICAgfSBlbHNlIHsKICAgICAgICBzaG91bGRCZSgiY3R4LmxpbmVXaWR0aCIs
ICIxIik7CiAgICAgICAgY3R4LmxpbmVXaWR0aCA9IDE7CiAgICAgICAgc2hvdWxkQmUoImN0eC5s
aW5lV2lkdGgiLCAiMSIpOwogICAgfQp9CgovLyBNYWtlIHN1cmUgdGhhdCBhbGwgcm93cyBhcmUg
aWRlbnRpY2FsLgpkZWJ1ZygndHlwZW9mKGN0eCkgPSAnICsgdHlwZW9mKGN0eCkpOwpjb21wYXJl
Um93cyhjdHgsIDAsIDEwMCwgNjAwLCAxMDApOwpkZWJ1ZygnIyMgdHlwZW9mKGN0eCkgPSAnICsg
dHlwZW9mKGN0eCkpOwpkZWJ1ZygnIyMgY29tcGFyaW5nIGRhdGEuLi4gc2l6ZTE9JyArIGN0eC5n
ZXRJbWFnZURhdGEoMCwgMCwgNjAwLCAxMDApLmRhdGEubGVuZ3RoKTsKZGVidWcoJyMjIGNvbXBh
cmluZyBkYXRhLi4uIHNpemUyPScgKyBjdHguZ2V0SW1hZ2VEYXRhKDAsIDIwMCwgNjAwLCAxMDAp
LmRhdGEubGVuZ3RoKTsKY29tcGFyZVJvd3MoY3R4LCAwLCAyMDAsIDYwMCwgMTAwKTsKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>