Closed
Bug 82556
Opened 24 years ago
Closed 24 years ago
hang in nsTextFrame::GetPosition in BIDI code
Categories
(Core :: Layout, defect, P1)
Tracking
()
VERIFIED
FIXED
mozilla0.9.1
People
(Reporter: blizzard, Assigned: kinmoz)
References
()
Details
(Keywords: hang, Whiteboard: critical for mozilla 0.9.1)
Attachments
(3 files)
|
737 bytes,
patch
|
Details | Diff | Splinter Review | |
|
1.17 KB,
patch
|
Details | Diff | Splinter Review | |
|
1.16 KB,
patch
|
Details | Diff | Splinter Review |
I'm getting an occasional hang in this bit of code in nsTextFrame.cpp:
#ifdef IBMBIDI
if (aContentOffset >= mContentOffset) {
PRInt32 stopOffset = mContentOffset + mContentLength;
while (aContentOffset < stopOffset &&
IS_BIDI_DIACRITIC(text[ip[aContentOffset - mContentOffset]]) )
{
aContentOffset++;
}
}
#endif // IBMBIDI
Unfortunately, my debugger is giving me trouble so I'm having problems catching
the values.
(gdb) print ip
$14 = (PRInt32 *) 0xbfffe878
(gdb) print text
$15 = (PRUnichar *) 0xbfffea18
(gdb) print *ip
$16 = 7542
(gdb) print *text
$17 = 43
(gdb) print aContentOffset
$18 = (PRInt32 &) @0xbfffedf8: 7591
(gdb) print mContentOffset
$19 = 7542
(gdb) print stopOffset
$9 = 7592
| Reporter | ||
Updated•24 years ago
|
Whiteboard: critical for mozilla 0.9.1
Cc the BIDI and selection crew. This is probably related to the UMR in bug
81078.
Steps to repro from blizzard:
<blizzard> http://bugzilla.mozilla.org/showattachment.cgi?attach_id=35891
<blizzard> load that doc
<blizzard> start selecting from the top
<blizzard> and start going down
<blizzard> just after the first page ends it hangs every time
Updated•24 years ago
|
Severity: normal → critical
Comment 2•24 years ago
|
||
I can't recreate this on Windows.
Has anyone seen it on anything but Linux?
Ooops, the last attatchment was made by me (kin@netscape.com), I forgot to reset
the login in my browser.
In any case this was my bonehead regression caused by my patch in bug 81078
which mkaply@us.ibm.com checked in for me.
This lastest patch subtracts off mContentOffset to remap the index in the ip[]
array back to the range in the text[] array.
Whiteboard: critical for mozilla 0.9.1 → critical for mozilla 0.9.1, FIX IN HAND NEEDS sr=, r=, and a=
Comment 5•24 years ago
|
||
sr=sfraser
Comment 6•24 years ago
|
||
r=mkaply
Comment 8•24 years ago
|
||
a=beppe, and kin is pinging forces of power for checkin nod
| Reporter | ||
Comment 9•24 years ago
|
||
a=blizzard for 0.9.1
Please make my pain go away.
| Assignee | ||
Comment 10•24 years ago
|
||
Looks like I'm set for checkin when the tree opens.
Whiteboard: critical for mozilla 0.9.1, FIX IN HAND NEEDS sr=, r=, and a= → critical for mozilla 0.9.1, FIX IN HAND Ready for checkin
| Assignee | ||
Comment 11•24 years ago
|
||
| Assignee | ||
Comment 12•24 years ago
|
||
Sorry to do this again ... I figured out the cause of the last UMR in bug 81078,
and it has to do with the same piece of code we are touching to fix this bug, so
I thought I'd kill 2 birds with one checkin.
Can I get an sr= from sfraser, r= from anyone, and an a= blizzard again?
Comment 13•24 years ago
|
||
The logic here could be improved slightly:
+ if (aContentOffset < bidiStopOffset)
+ curindx = ip[aContentOffset - mContentOffset] - mContentOffset;
+ else
+ break;
to
if (aContentOffset == bidiStopOffset)
break;
curindx = ip[aContentOffset - mContentOffset] - mContentOffset;
Either way, sr=sfraser
Comment 14•24 years ago
|
||
r=mjudge with a change simon and kin will do. >= not ==
| Assignee | ||
Comment 15•24 years ago
|
||
| Reporter | ||
Comment 16•24 years ago
|
||
a=blizzard for 0.9.1 again
| Assignee | ||
Comment 17•24 years ago
|
||
Fix checked in to Trunk:
mozilla/layout/html/base/src/nsTextFrame.cpp revision 1.305
Fix should appear in 05/24/01 QA bits built after 8am.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Whiteboard: critical for mozilla 0.9.1, FIX IN HAND Ready for checkin → critical for mozilla 0.9.1
You need to log in
before you can comment on or make changes to this bug.
Description
•