Closed Bug 285808 Opened 20 years ago Closed 20 years ago

tiny, content-less window opens when I load a message with fonts I don't have

Categories

(Thunderbird :: Mail Window Front End, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: sspitzer, Assigned: mscott)

Details

Attachments

(4 files)

tiny, content-less window opens when I load a message with fonts I don't have

let me attach the message, a screen shot, and the assertion I get with a debug
build.
here's an assertion on my console from a (slightly old) debug tbird
AVIARY_1_0_20040515_BRANCH build.

WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file c:/mozilla/trees/mozilla/
xpfe/components/intl/nsFontPackageHandler.cpp, line 90
###!!! ASSERTION: cannot notify missing font package : 'NS_SUCCEEDED(res)', file
 c:/mozilla/trees/mozilla/gfx/src/windows/nsFontMetricsWin.cpp, line 408
Break: at file c:/mozilla/trees/mozilla/gfx/src/windows/nsFontMetricsWin.cpp, li
ne 408

but I have seen this problem on recent trunk builds.
call stack:

 	ntdll.dll!7c901230() 	
 	xpcom.dll!nsDebugImpl::Break(const char * aFile=0x014b2b80, int aLine=408) 
Line 356	C++
 	xpcom.dll!nsDebugImpl::Assertion(const char * aStr=0x014b2bd4, const char *
aExpr=0x014b2bc0, const char * aFile=0x014b2b80, int aLine=408)  Line 272	C++
 	xpcom.dll!nsDebug::Assertion(const char * aStr=0x014b2bd4, const char *
aExpr=0x014b2bc0, const char * aFile=0x014b2b80, int aLine=408)  Line 109	C++
>	gkgfxwin.dll!CheckFontLangGroup(nsIAtom * lang1=0x00b8a188, nsIAtom *
lang2=0x00b8a188, const char * lang3=0x014b2f2c)  Line 408 + 0x25	C++
 	gkgfxwin.dll!nsFontMetricsWin::Init(const nsFont & aFont={...}, nsIAtom *
aLangGroup=0x00b8a188, nsIDeviceContext * aContext=0x02fdc900)  Line 479 + 0x1c	C++
 	gkgfx.dll!nsFontCache::GetMetricsFor(const nsFont & aFont={...}, nsIAtom *
aLangGroup=0x00b8a188, nsIFontMetrics * & aMetrics=0x00000000)  Line 630 + 0x1b	C++
 	gkgfx.dll!DeviceContextImpl::GetMetricsFor(const nsFont & aFont={...}, nsIAtom
* aLangGroup=0x00b8a188, nsIFontMetrics * & aMetrics=0x00000000)  Line 306	C++
 	gklayout.dll!ComputeLineHeight(nsIPresContext * aPresContext=0x03f6ad88,
nsIRenderingContext * aRenderingContext=0x03f52970, nsStyleContext *
aStyleContext=0x0407c6e8)  Line 2155 + 0x3f	C++
 	gklayout.dll!nsHTMLReflowState::CalcLineHeight(nsIPresContext *
aPresContext=0x03f6ad88, nsIRenderingContext * aRenderingContext=0x03f52970,
nsIFrame * aFrame=0x0407c73c)  Line 2191 + 0x11	C++
 	gklayout.dll!nsBlockReflowState::nsBlockReflowState(const nsHTMLReflowState &
aReflowState={...}, nsIPresContext * aPresContext=0x03f6ad88, nsBlockFrame *
aFrame=0x0407c73c, const nsHTMLReflowMetrics & aMetrics={...}, int
aBlockMarginRoot=0)  Line 167 + 0x1a	C++
 	gklayout.dll!nsBlockFrame::Reflow(nsIPresContext * aPresContext=0x03f6ad88,
nsHTMLReflowMetrics & aMetrics={...}, const nsHTMLReflowState &
aReflowState={...}, unsigned int & aStatus=0)  Line 688	C++
 	gklayout.dll!nsBlockReflowContext::ReflowBlock(const nsRect & aSpace={...},
int aApplyTopMargin=1, nsCollapsingMargin & aPrevBottomMargin={...}, int
aIsAdjacentWithTop=0, nsMargin & aComputedOffsets={...}, nsHTMLReflowState &
aFrameRS={...}, unsigned int & aFrameReflowStatus=0)  Line 546 + 0x2a	C++
 	gklayout.dll!nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & aState={...},
nsLineList_iterator aLine={...}, int * aKeepReflowGoing=0x0013d634)  Line 3068
+ 0x35	C++
 	gklayout.dll!nsBlockFrame::ReflowLine(nsBlockReflowState & aState={...},
nsLineList_iterator aLine={...}, int * aKeepReflowGoing=0x0013d634, int
aDamageDirtyArea=1)  Line 2334 + 0x1b	C++
 	gklayout.dll!nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & aState={...})
 Line 2097 + 0x1f	C++
 	gklayout.dll!nsBlockFrame::Reflow(nsIPresContext * aPresContext=0x03f6ad88,
nsHTMLReflowMetrics & aMetrics={...}, const nsHTMLReflowState &
aReflowState={...}, unsigned int & aStatus=0)  Line 815 + 0xf	C++
 	gklayout.dll!nsBlockReflowContext::ReflowBlock(const nsRect & aSpace={...},
int aApplyTopMargin=1, nsCollapsingMargin & aPrevBottomMargin={...}, int
aIsAdjacentWithTop=1, nsMargin & aComputedOffsets={...}, nsHTMLReflowState &
aFrameRS={...}, unsigned int & aFrameReflowStatus=0)  Line 546 + 0x2a	C++
 	gklayout.dll!nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & aState={...},
nsLineList_iterator aLine={...}, int * aKeepReflowGoing=0x0013e1a0)  Line 3068
+ 0x35	C++
 	gklayout.dll!nsBlockFrame::ReflowLine(nsBlockReflowState & aState={...},
nsLineList_iterator aLine={...}, int * aKeepReflowGoing=0x0013e1a0, int
aDamageDirtyArea=1)  Line 2334 + 0x1b	C++
 	gklayout.dll!nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & aState={...})
 Line 2097 + 0x1f	C++
 	gklayout.dll!nsBlockFrame::Reflow(nsIPresContext * aPresContext=0x03f6ad88,
nsHTMLReflowMetrics & aMetrics={...}, const nsHTMLReflowState &
aReflowState={...}, unsigned int & aStatus=0)  Line 815 + 0xf	C++
 	gklayout.dll!nsContainerFrame::ReflowChild(nsIFrame * aKidFrame=0x04065200,
nsIPresContext * aPresContext=0x03f6ad88, nsHTMLReflowMetrics &
aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, int aX=0, int
aY=0, unsigned int aFlags=0, unsigned int & aStatus=0)  Line 967 + 0x1f	C++
 	gklayout.dll!CanvasFrame::Reflow(nsIPresContext * aPresContext=0x03f6ad88,
nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState &
aReflowState={...}, unsigned int & aStatus=0)  Line 554	C++
 	gklayout.dll!nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState & aState={...},
nsIPresContext * aPresContext=0x03f6ad88, nsHTMLReflowMetrics &
aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int &
aStatus=0, int aX=0, int aY=0, int aWidth=19080, int aHeight=12930, int
aMoveFrame=1)  Line 880	C++
 	gklayout.dll!nsBoxToBlockAdaptor::DoLayout(nsBoxLayoutState & aState={...}) 
Line 626 + 0x2e	C++
 	gklayout.dll!nsBox::Layout(nsBoxLayoutState & aState={...})  Line 1016	C++
 	gklayout.dll!nsScrollBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) 
Line 337	C++
 	gklayout.dll!nsBox::Layout(nsBoxLayoutState & aState={...})  Line 1016	C++
 	gklayout.dll!nsContainerBox::LayoutChildAt(nsBoxLayoutState & aState={...},
nsIBox * aBox=0x03f513b0, const nsRect & aRect={...})  Line 650 + 0x10	C++
 	gklayout.dll!nsGfxScrollFrameInner::LayoutBox(nsBoxLayoutState & aState={...},
nsIBox * aBox=0x03f513b0, const nsRect & aRect={...})  Line 1264 + 0x11	C++
 	gklayout.dll!nsGfxScrollFrameInner::Layout(nsBoxLayoutState & aState={...})
 Line 1420	C++
 	gklayout.dll!nsGfxScrollFrame::DoLayout(nsBoxLayoutState & aState={...})  Line
1272 + 0xf	C++
 	gklayout.dll!nsBox::Layout(nsBoxLayoutState & aState={...})  Line 1016	C++
 	gklayout.dll!nsBoxFrame::Reflow(nsIPresContext * aPresContext=0x03f6ad88,
nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState &
aReflowState={...}, unsigned int & aStatus=0)  Line 868	C++
 	gklayout.dll!nsGfxScrollFrame::Reflow(nsIPresContext *
aPresContext=0x03f6ad88, nsHTMLReflowMetrics & aDesiredSize={...}, const
nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0)  Line 870 +
0x19	C++
 	gklayout.dll!nsContainerFrame::ReflowChild(nsIFrame * aKidFrame=0x03f51268,
nsIPresContext * aPresContext=0x03f6ad88, nsHTMLReflowMetrics &
aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, int aX=0, int
aY=0, unsigned int aFlags=0, unsigned int & aStatus=0)  Line 967 + 0x1f	C++
 	gklayout.dll!ViewportFrame::Reflow(nsIPresContext * aPresContext=0x03f6ad88,
nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState &
aReflowState={...}, unsigned int & aStatus=0)  Line 248 + 0x2b	C++
 	gklayout.dll!IncrementalReflow::Dispatch(nsIPresContext *
aPresContext=0x03f6ad88, nsHTMLReflowMetrics & aDesiredSize={...}, const nsSize
& aMaxSize={...}, nsIRenderingContext & aRendContext={...})  Line 902	C++
 	gklayout.dll!PresShell::ProcessReflowCommands(int aInterruptible=1)  Line 6401	C++
 	gklayout.dll!ReflowEvent::HandleEvent()  Line 6226	C++
 	gklayout.dll!HandlePLEvent(ReflowEvent * aEvent=0x0404f098)  Line 6240	C++
 	xpcom.dll!PL_HandleEvent(PLEvent * self=0x0404f098)  Line 673 + 0xa	C
 	xpcom.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00b40850)  Line 608
+ 0x9	C
 	xpcom.dll!nsEventQueueImpl::ProcessPendingEvents()  Line 394 + 0xc	C++
 	gkwidget.dll!nsWindow::DispatchPendingEvents()  Line 3678	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=512, unsigned int
wParam=0, long lParam=852175, long * aRetValue=0x0013f77c)  Line 4030	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x00180e40, unsigned int
msg=512, unsigned int wParam=0, long lParam=852175)  Line 1349 + 0x1b	C++
 	user32.dll!77d48709() 	
 	user32.dll!77d487eb() 	
 	user32.dll!77d70494() 	
 	user32.dll!77d489a5() 	
 	user32.dll!77d493df() 	
 	user32.dll!77d70494() 	
 	user32.dll!77d489e8() 	
 	gkwidget.dll!nsAppShell::Run()  Line 135	C++
 	appshell.dll!nsAppShellService::Run()  Line 495	C++
 	thunderbird.exe!xre_main(int argc=1, char * * argv=0x003d8610, const
nsXREAppData * aAppData=0x0041e05c)  Line 1907 + 0x23	C++
 	thunderbird.exe!main(int argc=1, char * * argv=0x003d8610)  Line 58 + 0x12	C++
 	thunderbird.exe!mainCRTStartup()  Line 398 + 0x11	C
 	kernel32.dll!7c816d4f() 	
 	kernel32.dll!7c8399f3() 	


this call fails:

"res = gFontPackageProxy->NeedFontPackage(fontpackageid);"

line 407 of nsFontMetricsWin.cpp

fontpackageid == "lang:ja" returns res of 2147500037
the failure comes from the call to NeedFontPackage() in
nsFontPackageService::CallDownload()

          rv = mHandler->NeedFontPackage(aFontPackID);
          if (rv == NS_ERROR_ABORT) {
            *aOutState = eInit;
            rv = NS_OK;
          }

rv == 2147500037 (which is not NS_ERROR_ABORT)
Attached image screenshot
this screen shot comes from "version 1.0+ (20050304)"
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Attached image screen shot
it looks like mscott has fixed this, I now get this dialog.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: