Closed Bug 6934 Opened 25 years ago Closed 25 years ago

Frequent (~20% ) start-up crashes in raptorgfxwin.dll

Categories

(Core Graveyard :: Tracking, defect, P3)

x86
Windows 95
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: paulmac, Assigned: kmcclusk)

References

()

Details

(Whiteboard: QA investigating - contact cpratt)

This is an offshoot of bug#6177, which got a bit diluted with different reports
of start-up crashes. This bug is specifically for start-up crashes in
raptorgfxwin.dll. It appears to happen only on slower (~P133Mhz) win95 machines.
Personally, the crash appears more than half the time on my machine.

Talkback Incident ID# is 8874953 (link above). Here is the stack trace, which
is from a 5/20 build.


 Call Stack:    (Signature = nsRenderingContextWin::DrawImage 547effcc)

   nsRenderingContextWin::DrawImage

[d:\builds\seamonkey\mozilla\gfx\src\windows\nsRenderingContextWin.cpp, line
1659]

   nsTitledButtonFrame::DisplayAltFeedback

[d:\builds\seamonkey\mozilla\layout\xul\base\src\nsTitledButtonFrame.cpp, line
754]

   nsTitledButtonFrame::PaintImage

[d:\builds\seamonkey\mozilla\layout\xul\base\src\nsTitledButtonFrame.cpp, line
638]

   nsTitledButtonFrame::Paint

[d:\builds\seamonkey\mozilla\layout\xul\base\src\nsTitledButtonFrame.cpp, line
344]

   nsContainerFrame::PaintChild

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
297]

   nsContainerFrame::PaintChildren

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
236]

   nsHTMLContainerFrame::Paint

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLContainerFrame.cpp, line
79]

   nsToolbarFrame::Paint

[d:\builds\seamonkey\mozilla\layout\xul\base\src\nsToolbarFrame.cpp, line 123]

   nsContainerFrame::PaintChild

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
297]

   nsContainerFrame::PaintChildren

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
236]

   nsHTMLContainerFrame::Paint

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLContainerFrame.cpp, line
79]

   nsToolboxFrame::Paint

[d:\builds\seamonkey\mozilla\layout\xul\base\src\nsToolboxFrame.cpp, line 206]

   nsContainerFrame::PaintChild

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
297]

   nsContainerFrame::PaintChildren

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
236]

   nsHTMLContainerFrame::Paint

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLContainerFrame.cpp, line
79]

   nsContainerFrame::PaintChild

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
297]

   nsBlockFrame::PaintChildren

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 4975]

   nsBlockFrame::Paint

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 4911]

   nsContainerFrame::PaintChild

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
297]

   nsContainerFrame::PaintChildren

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
236]

   nsHTMLContainerFrame::Paint

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLContainerFrame.cpp, line
79]

   nsContainerFrame::PaintChild

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
297]

   nsContainerFrame::PaintChildren

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line
236]

   nsTableColGroupFrame::Paint

[d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableColGroupFrame.cpp,
line 146]

   PresShell::Paint

[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 1946]

   nsView::Paint

[d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 286]

   nsViewManager::RenderView

[d:\builds\seamonkey\mozilla\view\src\nsViewManager.cpp, line 1285]

   nsViewManager::RenderViews

[d:\builds\seamonkey\mozilla\view\src\nsViewManager.cpp, line 812]

   nsViewManager::Refresh

[d:\builds\seamonkey\mozilla\view\src\nsViewManager.cpp, line 521]

   nsViewManager::DispatchEvent

[d:\builds\seamonkey\mozilla\view\src\nsViewManager.cpp, line 1651]

   HandleEvent

[d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 67]

   nsWindow::DispatchEvent

[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 414]

   nsWindow::DispatchWindowEvent

[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 431]

   nsWindow::OnPaint

[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 2803]

   nsWindow::ProcessMessage

[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 2166]

   nsWindow::WindowProc

[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 475]

   KERNEL32.DLL + 0x3663 (0xbff73663)


   KERNEL32.DLL + 0x22894 (0xbff92894)


   0x00788c40
QA Contact: 3853 → 3819
Target Milestone: M6
Marking M6 since 6177 is marked M6. BTW, this happens on Apprunner.
*** Bug 6177 has been marked as a duplicate of this bug. ***
I'm seeing this crash about 20% of the time on a faster (233 MHz) Win95 machine.
Summary: Frequent start-up crashes in raptorgfxwin.dll → Frequent (~20% ) start-up crashes in raptorgfxwin.dll
*** Bug 6407 has been marked as a duplicate of this bug. ***
Assignee: rickg → kmcclusk
Status: NEW → ASSIGNED
I found a machine that was failing nearly 100% of the time. It was a pentium
100Mhz running WIN95. I installed VisualC++ Ver5.0 to debug the problem. After
installing VisualC++ apprunner ran reliably 10 out of 10 times. VisualC++
installs a large number of dll's. I suspect it upgraded some of the OS dll's
that "Gecko" uses. The following is a list of all of the dll's that were
touched. We need to determine which dll's in the list are required to stop the
apprunner crashes.

MULTCAST DLL        40,960  05-24-99  8:41p MULTCAST.DLL
CLIPASST DLL        71,056  05-24-99  8:41p CLIPASST.DLL
CAWUTIL  DLL        68,800  05-24-99  8:41p CAWUTIL.DLL
ATLOBJ   DLL       267,808  05-24-99  8:41p ATLOBJ.DLL
POPUP    DLL        40,432  05-24-99  8:41p POPUP.DLL
PALETTE  DLL        44,624  05-24-99  8:41p PALETTE.DLL
OWNDRAW  DLL        56,288  05-24-99  8:41p OWNDRAW.DLL
OCC      DLL        38,912  05-24-99  8:41p OCC.DLL
MEDIA    DLL        35,168  05-24-99  8:41p MEDIA.DLL
MAPICOMP DLL        44,688  05-24-99  8:41p MAPICOMP.DLL
IDLE     DLL        42,688  05-24-99  8:41p IDLE.DLL
GUIDGEN  DLL        40,032  05-24-99  8:41p GUIDGEN.DLL
DOCREG   DLL        48,752  05-24-99  8:41p DOCREG.DLL
DLGBAR   DLL        52,560  05-24-99  8:41p DLGBAR.DLL
CTIP     DLL        90,192  05-24-99  8:41p CTIP.DLL
TOOLTIPS DLL        41,600  05-24-99  8:41p TOOLTIPS.DLL
SYSINFO  DLL        40,448  05-24-99  8:41p SYSINFO.DLL
STATBAR  DLL       104,336  05-24-99  8:41p STATBAR.DLL
SPLITTER DLL        42,112  05-24-99  8:41p SPLITTER.DLL
SPLASH   DLL       144,800  05-24-99  8:41p SPLASH.DLL
SOCKETS  DLL        41,536  05-24-99  8:41p SOCKETS.DLL
PROPSHT  DLL        93,024  05-24-99  8:41p PROPSHT.DLL
PROGDLG  DLL        75,872  05-24-99  8:41p PROGDLG.DLL
MFCAPWZ  DLL       950,544  05-24-99  8:41p MFCAPWZ.DLL
DEVXPGL  DLL        64,496  05-24-99  8:41p DEVXPGL.DLL
MSPDB50  DLL       167,424  05-24-99  8:41p MSPDB50.DLL
MSDIS100 DLL       117,520  05-24-99  8:41p MSDIS100.DLL
EECXX    DLL       166,160  05-24-99  8:41p EECXX.DLL
DM       DLL        93,552  05-24-99  8:41p DM.DLL
DEVSHL   DLL     1,327,376  05-24-99  8:41p DEVSHL.DLL
TLN0T    DLL        21,872  05-24-99  8:41p TLN0T.DLL
TLLOC    DLL         6,928  05-24-99  8:41p TLLOC.DLL
SHCV     DLL        54,032  05-24-99  8:41p SHCV.DLL
EM       DLL        69,904  05-24-99  8:41p EM.DLL
RCXDTI   DLL        22,384  05-24-99  8:41p RCXDTI.DLL
AUTOLAYT DLL        18,496  05-24-99  8:41p AUTOLAYT.DLL
MVJK20N  DLL        47,000  05-24-99  8:41p MVJK20N.DLL
MFCCLWZ  DLL       736,528  05-24-99  8:41p MFCCLWZ.DLL
IVTMON   DLL       158,992  05-24-99  8:41p IVTMON.DLL
IVAUTO   DLL       100,848  05-24-99  8:41p IVAUTO.DLL
RCDLL    DLL       108,304  05-24-99  8:41p RCDLL.DLL
C1XX     DLL     1,047,312  05-24-99  8:41p C1XX.DLL
C1       DLL       563,984  05-24-99  8:41p C1.DLL
HWDLL    DLL        55,680  05-24-99  8:41p HWDLL.DLL
SPYHK50  DLL        28,672  05-24-99  8:41p SPYHK50.DLL
PROFILE  DLL       107,520  05-24-99  8:41p PROFILE.DLL
GUTILS   DLL        67,984  05-24-99  8:41p GUTILS.DLL
IVIEWERS DLL       159,504  05-24-99  8:41p IVIEWERS.DLL
SG3250   DLL        20,480  05-24-99  7:06p sg3250.dll
NSLOCALE DLL        42,192  05-24-99  7:06p nslocale.dll
NSJPG3~1 DLL        21,248  05-24-99  7:06p nsjpg3250.dll
NSGIF3~1 DLL        25,312  05-24-99  7:06p nsgif3250.dll
MSGNEWS  DLL        87,248  05-24-99  7:06p msgnews.dll
MSGLOCAL DLL        95,184  05-24-99  7:06p msglocal.dll
MSGIMAP  DLL       161,152  05-24-99  7:06p msgimap.dll
MSGDB    DLL       142,672  05-24-99  7:06p msgdb.dll
MSGCOM~1 DLL        91,680  05-24-99  7:06p msgcompose.dll
MOZXFER  DLL        25,632  05-24-99  7:06p mozxfer.dll
MOZUCTH  DLL        21,488  05-24-99  7:06p mozucth.dll
MOZFIND  DLL        25,872  05-24-99  7:06p mozfind.dll
MIME     DLL        98,928  05-24-99  7:06p mime.dll
MAILNEWS DLL        69,968  05-24-99  7:06p mailnews.dll
LWBRK    DLL        25,344  05-24-99  7:06p lwbrk.dll
HTMLEM~1 DLL        21,280  05-24-99  7:06p htmlemitter.dll
HISTORY  DLL        25,376  05-24-99  7:06p history.dll
ENDER    DLL       113,408  05-24-99  7:06p ender.dll
EDITGU~1 DLL        20,784  05-24-99  7:06p editguimgr.dll
CHROME   DLL        21,264  05-24-99  7:06p chrome.dll
CHARDET  DLL        21,040  05-24-99  7:06p chardet.dll
BRPROF   DLL        21,056  05-24-99  7:06p brprof.dll
ADDRBOOK DLL        39,232  05-24-99  7:06p addrbook.dll
RAPTOR~1 DLL     1,116,000  05-24-99  7:06p raptorhtml.dll
PICS     DLL        39,792  05-24-99  7:06p pics.dll
NSPNG3~1 DLL        54,960  05-24-99  7:06p nspng3250.dll
SILENTDL DLL        38,944  05-24-99  7:06p silentdl.dll
RDF      DLL       231,056  05-24-99  7:06p rdf.dll
RAWEMI~1 DLL        21,312  05-24-99  7:06p rawemitter.dll
WALLET~1 DLL        75,376  05-24-99  7:06p walletlib.dll
VCARD    DLL        51,040  05-24-99  7:06p vcard.dll
UNICHA~1 DLL        21,328  05-24-99  7:06p unicharutil.dll
UCVLATIN DLL        58,336  05-24-99  7:06p ucvlatin.dll
UCVJA2   DLL       124,112  05-24-99  7:06p ucvja2.dll
UCVJA    DLL        70,656  05-24-99  7:06p ucvja.dll
UCVCN    DLL       255,360  05-24-99  7:06p ucvcn.dll
UCONV    DLL        35,104  05-24-99  7:06p uconv.dll
TXTSVC   DLL        38,080  05-24-99  7:06p txtsvc.dll
TXMGR    DLL        25,632  05-24-99  7:06p txmgr.dll
STRRES   DLL        21,120  05-24-99  7:06p strres.dll
XPPROF~1 DLL        25,200  05-24-99  7:07p xpprofile32.dll
XPINST~1 DLL        98,928  05-24-99  7:07p xpinstall.dll
XPCTEST  DLL        21,104  05-24-99  7:07p xpctest.dll
XPC3250  DLL        66,080  05-24-99  7:07p xpc3250.dll
XMLEMI~1 DLL        21,296  05-24-99  7:07p xmlemitter.dll
CAPS     DLL        57,408  05-24-99  7:06p caps.dll
APPCORES DLL       101,488  05-24-99  7:06p appcores.dll
MSGCOR~1 DLL        71,936  05-24-99  7:07p msgcoreutil.dll
LIBXPT32 DLL        25,504  05-24-99  7:07p libxpt32.dll
LIBREG32 DLL        33,760  05-24-99  7:07p libreg32.dll
LIBPROXY DLL        38,208  05-24-99  7:07p libproxy.dll
JSJ3250  DLL        63,488  05-24-99  7:07p jsj3250.dll
JSDOM    DLL       255,744  05-24-99  7:07p jsdom.dll
JS3250   DLL       273,968  05-24-99  7:07p js3250.dll
JPEG3250 DLL        88,656  05-24-99  7:07p jpeg3250.dll
JAR50    DLL        21,104  05-24-99  7:07p jar50.dll
IMG3250  DLL        43,120  05-24-99  7:07p img3250.dll
FULLSOFT DLL       160,928  05-24-99  7:07p fullsoft.dll
DEBUGR~1 DLL        21,616  05-24-99  7:07p DebugRobot.dll
NSREG    DLL        68,160  05-24-99  7:07p nsreg.dll
NSPR3    DLL       137,888  05-24-99  7:07p nspr3.dll
NSBROW~1 DLL        21,360  05-24-99  7:07p nsbrowser.dll
NSAPPS~1 DLL        57,344  05-24-99  7:07p nsappshell.dll
NPMOZCTL DLL       128,384  05-24-99  7:07p npmozctl.dll
NETLIB   DLL       492,592  05-24-99  7:07p netlib.dll
MYSERV~1 DLL        21,056  05-24-99  7:07p MyService.dll
RAPTOR~2 DLL       126,160  05-24-99  7:07p raptorwidget.dll
RAPTOR~3 DLL        52,768  05-24-99  7:07p raptorweb.dll
RAPTOR~4 DLL        47,376  05-24-99  7:07p raptorview.dll
RAPTOR~5 DLL        44,304  05-24-99  7:07p raptorplugin.dll
RAPTOR~6 DLL       209,104  05-24-99  7:07p raptorhtmlpars.dll
RAPTOR~7 DLL       104,944  05-24-99  7:07p raptorgfxwin.dll
RAPTOR~8 DLL       151,952  05-24-99  7:07p raptorbase.dll
PRSTRMS3 DLL        34,240  05-24-99  7:07p prstrms3.dll
PLDS3    DLL        29,952  05-24-99  7:07p plds3.dll
PLC3     DLL        29,776  05-24-99  7:07p plc3.dll
OJI      DLL        35,216  05-24-99  7:07p oji.dll
SP3250   DLL       331,776  05-24-99  7:07p sp3250.dll
ZLIB     DLL        41,952  05-24-99  7:07p zlib.dll
XPTINF~1 DLL        21,296  05-24-99  7:07p xptinfo32.dll
XPTCAL~1 DLL        29,168  05-24-99  7:07p xptcall32.dll
XPPREF32 DLL        43,600  05-24-99  7:07p xppref32.dll
XPCOM32  DLL        63,584  05-24-99  7:07p xpcom32.dll
TESTDY~1 DLL        20,976  05-24-99  7:07p TestDynamic.dll
RAPTOR~9 DLL       195,584  05-24-99  2:51p raptorgfxwin_new.dll
_WUTL95  DLL        27,648  05-24-99  8:39p _WUTL95.DLL
MFC42    DLL       940,304  05-24-99  8:41p mfc42.dll
The only ones that look vaguely familiar are _WUTL95.DLL and mfc42.dll
Can you stick these two files somewhere and I'll try them out?
I shared my drive. Machine name is Kmcclusk-vl. Directory is dll. I put all of
the dll's in the list in there. The dll's include all of the dll's that
"Seamonkey" installs as well as the dll's that VisualC++ installs.
mfc42.dll and _wutl95.dll are the only non-seamonkey dll's that I had on my
system. I replaced them with your files, and I'm still able to crash on
start-up. Hmmmm.
This happens on my Compaq Deskpro 5133 more than 50% of the time too.  Most
recent build 1999052408.
Whiteboard: QA investigating - contact cpratt
I've been asked to investigate this further with a stock Windows 95 machine
(Compaq P90). I expect to have some preliminary results by the end of 26-May-99.
The talkback reports indicate that nsTitledButtonFrame::DisplayAltFeedback is
passing a null pointer to aRenderingContext.DrawImage. This is why it is
crashing. I will put a check for a null image pointer after the call to
LoadIconImage which should stop the crash. The question remains as to why
LoadIconImage sometimes comes back with a null pointer.

void
nsTitledButtonFrame::DisplayAltFeedback(nsIPresContext&      aPresContext,
                                 nsIRenderingContext& aRenderingContext,
                                 PRInt32              aIconId)
...

#ifdef _WIN32
  // Display the icon
  nsIDeviceContext* dc;
  aRenderingContext.GetDeviceContext(dc);
  nsIImage*         icon;

  if (NS_SUCCEEDED(dc->LoadIconImage(aIconId, icon))) {
    if (nsnull != icon) {  // New check to stop bug #6934 Frequent (~20%)
crashes in raptorgfxwin.dll
      aRenderingContext.DrawImage(icon, inner.x, inner.y);

      // Reduce the inner rect by the width of the icon, and leave an
      // additional six pixels padding
      PRInt32 iconWidth = NSIntPixelsToTwips(icon->GetWidth() + 6, p2t);
      inner.x += iconWidth;
      inner.width -= iconWidth;

      NS_RELEASE(icon);
    }
  }

  NS_RELEASE(dc);
#endif

...
Does LoadIconImage load the images for the toolbar?  I often notice that one (I
don't think I've ever seen more than one) of the buttons in the toolbar shows up
with a broken image icon - usually forward or back, maybe print or some others.
Could this be related?  The missing icons have happened before the crash
started, though.
I checked in the patch to check for the null image. I need someone to try
pulling and testing on a platform that was failing to confirm that it fixes the
apprunner crashes. I don't have access to a platform that is failing.
I will check this when we get builds, supposedly this evening, unless you can
point me to the particular file you updated. I don't have my win95 machine set
up to build.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
marking fixed so this gets some testing...
kmcclusk still has some investigation to do on why
DrawImage is being
passed a null image in nsTitledButtonFrame::DisplayAltFeedback

(we should open another bug for that...)

but the patch should reduce the start up crash noise
(86 crashes in the past few days) and help us to
find the next round of problems
elsewhere in the startup sequence
*** Bug 7021 has been marked as a duplicate of this bug. ***
Status: RESOLVED → VERIFIED
Okay, I've now started up 40 times without crashing. Marking verified fixed.

I also see that kevin filed the bug to himself about the null pointer showing up
in the first case.
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.