Open Bug 53501 Opened 25 years ago Updated 3 years ago

nsPresShell:EndLoad() called on wrong presShell loading a document

Categories

(Core :: Layout, defect, P3)

PowerPC
All
defect

Tracking

()

Future

People

(Reporter: mikepinkerton, Unassigned)

References

Details

(Whiteboard: [nsbeta3-])

- go to a long page, say your buglist - click a link on there nsScrollBoxFrame::SaveState() is called to save the scroll position. Note the presShell that is on the stack. then nsScrollBoxFrame::RestoreState() is mysteriously called from nsDocument::EndLoad PresShell::EndLoad FrameMananager::RestoreFrameStateFor and the PresShell on which the EndLoad is called is _the same_ as for the document you just left. Now that really can't be good. It appears EndLoad is being called for the wrong document/presShell Who knows what bad things are caused because of this. It's mac-only, BTW.
attn pdt: this should be a stop-ship. It's bad bad bad.
Keywords: correctness, nsbeta3
this could also mean that we're leaking presShells/documents on mac. have you seen this beard?
clayton shouldn't have this, i give it to.....nisheeth!
Assignee: clayton → nisheeth
But why would this be mac-only? Does it happen in Modern skin too?
Nominating for rtm, marking nsbeta3+ and rtm+. I doubt if this will get a PDT nsbeta3++ marker, but it should hopefully qualify for a rtm++ marker.
Status: NEW → ASSIGNED
Keywords: rtm
Priority: P3 → P1
Whiteboard: [nsbeta3+][rtm+]
marking nsbeta3- as we won't be holding pr3 for this.
Whiteboard: [nsbeta3+][rtm+] → [nsbeta3-][rtm+]
Marking "needinfo". This seems like a bad thing, but we need a patch, review and super review to clear for checkin.
Whiteboard: [nsbeta3-][rtm+] → [nsbeta3-][rtm+ needinfo]
Vidur checked in a fix to bugscape bug 2533 that fixed the timing of when end load handlers are called. Mike, please check if this is still happening in the latest Mac rtm branch build. If it is, please re-assign it to me and I'll take a look. Thanks.
Assignee: nisheeth → pinkerton
Status: ASSIGNED → NEW
nope, it still calls endLoad on the presShell of the page you just came from with a branch build from 10/2.
Assignee: pinkerton → nisheeth
Whiteboard: [nsbeta3-][rtm+ needinfo] → [nsbeta3-][rtm+ need info]
since i seem to see this with bugzilla bug pages, and they have some strange multi-part mime troubles, perhaps this is just a dupe of those bugs...
yes, nisheeth and I verified this is only a problem with Bugzilla query pages (probably because of the weird "multipart/x-mixed-replace", see bug #47350). We also verified that the EndLoad is called on the correct presContext, in additon to the wrong one, so nothing breaks, per se. Since it's not as bad as we first thought, removing rtm nomination and downgrading priority. We can ship with this.
Severity: critical → normal
Depends on: 47350
Keywords: rtm
Whiteboard: [nsbeta3-][rtm+ need info] → [nsbeta3-]
Futuring.
Priority: P1 → P3
Target Milestone: --- → Future
Can we ship Mozilla0.9 with this?
OS: All
Based on the analysis that pink and I did and our current bug lists, I think this bug will need to stay futured. In what context are you seeing this bug, Steve? If you have data that this bug is higher impact, we should re-evaluate.
Is this still a problem?
I haven't looked this on a Mac for a long time. Also, not sure if we've ever seen whether this behavior happens on OSX. I think pink was running OS 9 when we tested for this bug back in early 2001. I'll try to reproduce this on a recent OSX build and report back...
Peter, can you reproduce this on OSX?
QA Contact: chrispetersen → layout
Assignee: nisheeth_mozilla → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.