Closed Bug 5490 Opened 25 years ago Closed 25 years ago

multiple BROWSER windows garbled, cause eventual crash

Categories

(Core Graveyard :: Tracking, defect, P1)

All
Windows NT

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: cpratt, Assigned: hyatt)

References

Details

(Whiteboard: QA BLOCKER)

build id: 1999042608
bug occurs on windows nt 4 sp 4, mac os 8.5.1
not tested on linux (yet)

to reproduce this:
launch apprunner. open a local file. open a second local file.
result: crash before the app finished rendering the second opened page.
expected result: no crash.

talkback tracking ID: DZK45LUQ

this happens regardless of whether or not the second file | open selection took
place in the first or subsequent window opened by apprunner.
Assignee: don → law
Priority: P3 → P1
Target Milestone: M5
Assigned to law.
Status: NEW → ASSIGNED
I think this is yet another "shared XUL document" problem.  I'll debug it
further tomorrow and decide what to do with it.
Assignee: law → trudelle
Status: ASSIGNED → NEW
Target Milestone: M5
Re-assigned to trudelle.

Peter, Bill says this looks to be caused by the "shared XUL document" problem
that Hyatt and Waterson are working on fixing.
Assignee: trudelle → hyatt
Target Milestone: M6
reassigning to hyatt as p1 for m6, cc waterson
*** Bug 5535 has been marked as a duplicate of this bug. ***
I don't see how this could be related to the shared XUL document problem.  The
crash happens even if two files are opened in the same apprunner window. (Two
HTML documents, but both loaded inside the same XUL document.)  Am I missing
something?
I'm not sure but the stack trace might be in this talkback report.

http://cyclone/reports/incidenttemplate.CFM?reportID=124&style=0&tc=26&cp=3&ck1=
SUser+email+address&cd1=%25cpratt%40netscape%2Ecom%25&co1=like&bbid=6729450


  raptorwidget.dll + 0x6f40 (0x01836f40)
  raptorwidget.dll + 0x5a7e (0x01835a7e)
  raptorwidget.dll + 0xa98c (0x0183a98c)
  USER32.dll + 0x131f (0x77e
  USER32.dll + 0x1519d (0x77e8519d)
  ntdll.dll + 0x1637b (0x77f7637b)
  raptorwidget.dll + 0xa32f (0x0183a32f)
  nsappshell.dll + 0x1593 (0x013a1593)
  apprunner.exe + 0x1bff (0x00401bff)
  KERNEL32.dll + 0x1ba3c (0x77f1ba3c)
Status: NEW → ASSIGNED
Target Milestone: M6 → M5
Here's the crash.  It's in nsViewManager.cpp.

nsViewManager::RenderViews(nsIView * 0x051f8500, nsIRenderingContext & {...},
const nsRect & {...}, int & 0) line 1199 + 30 bytes
nsViewManager::Refresh(nsIView * 0x051f8500, nsIRenderingContext * 0x052ab610,
const nsRect * 0x0084f540, unsigned int 1) line 521
nsViewManager::DispatchEvent(nsViewManager * const 0x051f8ec0, nsGUIEvent *
0x0084f5c8, nsEventStatus & nsEventStatus_eIgnore) line 1643
HandleEvent(nsGUIEvent * 0x0084f5c8) line 67
nsWindow::DispatchEvent(nsWindow * const 0x051f85d4, nsGUIEvent * 0x0084f5c8,
nsEventStatus & nsEventStatus_eIgnore) line 414 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0084f5c8) line 435
nsWindow::OnPaint() line 2811 + 24 bytes
nsWindow::ProcessMessage(unsigned int 15, unsigned int 0, long 0, long *
0x0084f798) line 2181 + 17 bytes
nsWindow::WindowProc(void * 0x000007a0, unsigned int 15, unsigned int 0, long 0)
line 478 + 27 bytes
KERNEL32! bff7363b()
KERNEL32! bff942e7()

Kipp, are you the current view expert now that michaelp is gone?

The code in nsViewManager.cpp looks dangerous to me.  I can see why it's
crashing.  On line 1141, the following test is made...

if ((localrect.width > gBlendWidth) || (localrect.height > gBlendHeight))

If that condition isn't met, then the mOffscreenCX isn't initialized, so that
might be a way to end up with a null context.

Anyway, this window problem (with garbling in the additional windows) began
showing up recently.
This also only occurs with the browser window.... messenger and composer
work with multiple windows just fine... which I find very strange.
Summary: crash - at second open of local files, app crashes → multiple windows garbled, cause eventual crash
*** Bug 5499 has been marked as a duplicate of this bug. ***
Summary: multiple windows garbled, cause eventual crash → multiple BROWSER windows garbled, cause eventual crash
I have a fix for this bug in hand. We are adding the RDF local store to each
RDF composite datasource, which causes assertions to be shared across _all_
windows. I want to remove this so that each window's content model will be
private.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Fix checked in, a=chofmann
Whiteboard: QA BLOCKER
Putting on QA Blocker radar in case fix not in across all platforms.
QA Contact: 3853 → 4137
Status: RESOLVED → VERIFIED
not crashing using the 1999042908 build on nt or linux.
there are problems on the mac os, but they are (apparently) not related to this
issue.
marking this as verified fixed, opening new bugs for the mac problem and for not
drawing anything in the content are of new windows.
Moving all Apprunner bugs past and present to Other component temporarily whilst
don and I set correct component.  Apprunner component will be deleted/retired
shortly.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.