Closed
Bug 194726
Opened 22 years ago
Closed 22 years ago
Major layout regressions in 1.3b 64-bit build
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: pkwarren, Unassigned)
Details
(Keywords: 64bit, Whiteboard: fixed1.3)
Attachments
(3 files, 1 obsolete file)
(deleted),
image/png
|
Details | |
(deleted),
patch
|
roc
:
review+
roc
:
superreview+
roc
:
approval1.3+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
Details | Diff | Splinter Review |
Between Mozilla 1.3a and Mozilla 1.3b, layout of pages in the 64-bit build has
regressed greatly, to the point that current 64-bit builds are not usable. I
will attach screenshots of both before and after layout of a common site.
Comment 1•22 years ago
|
||
Any chance of a regression date range that's not quite so big?
Reporter | ||
Comment 2•22 years ago
|
||
I'm downloading as many of the source tar images from the Mozilla FTP site as
possible to try and track down when this starting occurring.
Reporter | ||
Comment 3•22 years ago
|
||
This is present in a build from 2003-01-25. Will continue to narrow down builds
which could be causing this.
Reporter | ||
Comment 4•22 years ago
|
||
This behavior is not seen in a build from 01/15/2003 (14:00 GMT) and is seen in
a build from 01/20/2003 (16:00 GMT). I will continue to try and isolate this
down to a few fixes, but here are the Bonsai layout checkins during that time:
http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=mozilla%2Flayout&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=01%2F15%2F2003+06%3A00%3A00&maxdate=01%2F20%2F2003+08%3A00%3A00&cvsroot=%2Fcvsroot
Reporter | ||
Comment 5•22 years ago
|
||
Tracked it down even further, and found out it is happening between 01/18/2003-
01/19/2003. Here are the Bonsai checkins during this period:
http://makeashorterlink.com/?Z2FA13C93
I will continue to try and track this problem down further.
Reporter | ||
Comment 6•22 years ago
|
||
Reporter | ||
Comment 7•22 years ago
|
||
I have confirmed that this behavior began with the checkin for Bug 141818.
Before applying this patch, layout looks fine. After applying it, I get behavior
like in the screenshot attached to this bug.
Comment 8•22 years ago
|
||
What size has long in your 64-bit compiler's type model?
/be
Comment 9•22 years ago
|
||
Brendan Eich wrote:
> What size has long in your 64-bit compiler's type model?
|long| and |long long| are usually 64bit on 64bit platforms (this includes AFAIK
both SPARCv9 and AIX 64bit).
Reporter | ||
Comment 10•22 years ago
|
||
AIX 32-bit:
sizeof(long)=4
sizeof(long long)=8
AIX 64-bit:
sizeof(long)=8
sizeof(long long)=8
nsCellData.h has:
union {
nsTableCellFrame* mOrigCell;
PRUint32 mBits;
};
with the expectation that when mOrigCell is being used, the low bit of mBits
will be 0. But of course that's not necessarily so when mBits is only the first
half of mOrigCell.
changing mBits to "unsigned long" should fix this.
Comment 13•22 years ago
|
||
unsigned long is fine -- PRUword would've been cool, but that type was
deprecated in NSPR2 (the NSPR1 type was pruword, but I'm not living in the past
:-). From some bug I forget, we learned that long has to be pointer-sized in
any viable C type model.
/be
Comment 14•22 years ago
|
||
from bug 141818
>I wouldn't worry about the 64-bit machines; I'm pretty sure PRUint32 will be
fine there.
I was worried ;-).
Attachment #115713 -
Flags: superreview?(roc+moz)
Attachment #115713 -
Flags: review?(roc+moz)
Comment 15•22 years ago
|
||
this bug should block 1.3 as 64bit builds are useless with this bug
Flags: blocking1.3?
Comment 16•22 years ago
|
||
Comment on attachment 115713 [details] [diff] [review]
patch
How about a comment saying why unsigned long is the right type to overlay the
pointer arm of the union?
/be
Comment 17•22 years ago
|
||
patch including brendans comments
Attachment #115713 -
Attachment is obsolete: true
Reporter | ||
Comment 18•22 years ago
|
||
I can confirm that this patch does fix layout for 64-bit builds on AIX.
Comment on attachment 115719 [details] [diff] [review]
revised patch
The comment should say "mBits must be an unsigned long because it must match
the size of mOrigCell on both 32- and 64-bit platforms"
given that, r+sr+a=roc+moz
Attachment #115719 -
Flags: superreview+
Attachment #115719 -
Flags: review+
Attachment #115719 -
Flags: approval1.3+
Flags: blocking1.3? → blocking1.3+
Attachment #115713 -
Flags: superreview?(roc+moz)
Attachment #115713 -
Flags: review?(roc+moz)
Comment 20•22 years ago
|
||
Comment 21•22 years ago
|
||
timeless checked in a fix into branch removing the blocking sign
Flags: blocking1.3+
Comment 22•22 years ago
|
||
fix checked in into trunk
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•22 years ago
|
Whiteboard: fixed1.3
You need to log in
before you can comment on or make changes to this bug.
Description
•