Closed Bug 110329 Opened 23 years ago Closed 8 years ago

endless loop in nsBlockFrame.cpp

Categories

(Core :: Layout, defect)

x86
Windows NT
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE
mozilla1.1alpha

People

(Reporter: shanjian, Unassigned)

Details

(Keywords: hang)

While I was testing using top 100 
international sites found in "http://komodo.mozilla.org/buster/", my browser 
hangs in one of the website. In my debugger, the hang happens in 
nsBlockFrame.cpp, function "nsBlockFrame::DoRemoveFrame"
around line 4874, the loop start :
4872   // Remove frame and all of its continuations
4873   while (nsnull != aDeletedFrame) {
4874     while ((line != line_end) && (nsnull != aDeletedFrame)) {
...
4987     if (flow && aDeletedFrame) {
...

Inside the loop, somehow flow is set to nsnull, and that leads to endless loop. 
We probably need to add a else to the if block to prevent such thing from 
happenning. 
4991       if(flow) {
4992         lines = flow->mLines;
4993         line = lines.begin();
4994         line_end = lines.end();
4995         prevSibling = nsnull;
4996       }
Keywords: hang
Target Milestone: --- → mozilla1.1
->Misc Code
Assignee: attinasi → misc
Component: Layout → Layout: Misc Code
QA Contact: petersen → nobody
is this bug about the loop on www.razorfish.com ? in that case when multiple
tabs are open the loop ends if i chage the current tab to any other
Assignee: layout.misc-code → nobody
QA Contact: nobody → layout.misc-code
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
Product: Core → Core Graveyard
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.