RESOLVED INVALID 81509
[Qt] fast/table/max-width-integer-overflow.html differs on 32- and 64-bit systems
https://bugs.webkit.org/show_bug.cgi?id=81509
Summary [Qt] fast/table/max-width-integer-overflow.html differs on 32- and 64-bit sys...
János Badics
Reported 2012-03-19 07:32:59 PDT
From revision #111156 32-bit and 64-bit QtWebKit versions give different results on fast/table/max-width-integer-overflow-expected.html Thist test should be put on the skipped list since there is no solution for both the 32-bit and 64-bit versions to give the same results.
Attachments
proposed patch (1.07 KB, patch)
2012-03-19 08:08 PDT, János Badics
no flags
János Badics
Comment 1 2012-03-19 08:02:10 PDT
The expected.txt in r111156 works fine on 32-bit systems. But on 64-bit systems some modifications should be made to work well: diff --git a/LayoutTests/platform/qt/fast/table/max-width-integer-overflow-expected.txt b/LayoutTests/platform/qt/fast/table/max-width-integer-overflow-expected.txt index 9171655..392ec4c 100644 --- a/LayoutTests/platform/qt/fast/table/max-width-integer-overflow-expected.txt +++ b/LayoutTests/platform/qt/fast/table/max-width-integer-overflow-expected.txt @@ -6,16 +6,16 @@ layer at (0,0) size 800x600 RenderTable {TABLE} at (0,0) size 780x24 [bgcolor=#FF0000] RenderTableSection {TBODY} at (0,0) size 780x24 RenderTableRow {TR} at (0,0) size 780x24 - RenderTableCell {TD} at (0,0) size 770x24 [r=0 c=0 rs=1 cs=1] - RenderTable {TABLE} at (0,0) size 770x24 - RenderTableSection {TBODY} at (0,0) size 770x24 - RenderTableRow {TR} at (0,0) size 770x24 - RenderTableCell {TD} at (0,0) size 770x24 [r=0 c=0 rs=1 cs=1] - RenderBlock {DIV} at (0,0) size 770x24 - RenderTable {TABLE} at (0,0) size 770x24 [bgcolor=#008000] - RenderTableSection {TBODY} at (0,0) size 770x24 - RenderTableRow {TR} at (0,2) size 770x20 - RenderTableCell {TD} at (2,11) size 762x2 [r=0 c=0 rs=1 cs=1] - RenderTableCell {TD} at (766,11) size 2x2 [r=0 c=1 rs=1 cs=1] - RenderTableCell {TD} at (770,0) size 10x24 [r=0 c=1 rs=1 cs=1] + RenderTableCell {TD} at (0,0) size 780x24 [r=0 c=0 rs=1 cs=1] + RenderTable {TABLE} at (0,0) size 780x24 + RenderTableSection {TBODY} at (0,0) size 780x24 + RenderTableRow {TR} at (0,0) size 780x24 + RenderTableCell {TD} at (0,0) size 780x24 [r=0 c=0 rs=1 cs=1] + RenderBlock {DIV} at (0,0) size 780x24 + RenderTable {TABLE} at (0,0) size 780x24 [bgcolor=#008000] + RenderTableSection {TBODY} at (0,0) size 780x24 + RenderTableRow {TR} at (0,2) size 780x20 + RenderTableCell {TD} at (2,11) size 772x2 [r=0 c=0 rs=1 cs=1] + RenderTableCell {TD} at (776,11) size 2x2 [r=0 c=1 rs=1 cs=1] + RenderTableCell {TD} at (780,0) size 10x24 [r=0 c=1 rs=1 cs=1] RenderBlock {DIV} at (0,0) size 10x24 [bgcolor=#008000]
János Badics
Comment 2 2012-03-19 08:08:37 PDT
Created attachment 132585 [details] proposed patch
WebKit Review Bot
Comment 3 2012-03-19 08:10:11 PDT
Attachment 132585 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/plat..." exit_code: 1 LayoutTests/ChangeLog:1: ChangeLog entry has no bug number [changelog/bugnumber] [5] Total errors found: 1 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Csaba Osztrogonác
Comment 4 2012-03-19 23:36:04 PDT
Csaba Osztrogonác
Comment 5 2012-03-19 23:42:12 PDT
(In reply to comment #1) > The expected.txt in r111156 works fine on 32-bit systems. > But on 64-bit systems some modifications should be made to work well: Before r111156, it passed on 32 bit and 64 bit too. After r111156, it passes on 32 bit, but fails on 64 bit. If we do the same change on Qt as you did on Mac by r111156, it will make the test pass on 64 bit, and fail on 32 bit. > diff --git a/LayoutTests/platform/qt/fast/table/max-width-integer-overflow-expected.txt b/LayoutTests/platform/qt/fast/table/max-width-integer-overflow-expected.txt --- : correct expected result on 32 bit always, and on 64 bit before r111156 +++ : correct expected result on 64 bit after r111156
Csaba Osztrogonác
Comment 6 2012-03-19 23:43:28 PDT
Any idea? Maybe you can reproduce it on other 32/64 bit platforms too.
Luke Macpherson
Comment 7 2012-03-20 00:02:42 PDT
Just to make sure we understand what's going on, we used to clamp Lengths to 2^28 bits. Lengths themselves have supported the full range of int (and also float) lengths for a while, but we were artificially clamping some values to 2^28 anyway. https://bugs.webkit.org/show_bug.cgi?id=67976 removed that clamping, so the full range of values supported by Length can be used. If you're seeing different values on 32 and 64 bit systems, that must mean that sizeof(int) is different on those systems - which is surprising to me, since a lot of webkit code seems to assume that sizeof(int)==4 (or at least ==sizeof(float)) for data structure packing. In any case, I don't think it's a bug, at least insofar as the range of lengths is not defined by the CSS spec.
Jocelyn Turcotte
Comment 8 2014-02-03 03:20:26 PST
=== Bulk closing of Qt bugs === If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary. If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.
Note You need to log in before you can comment on or make changes to this bug.