Closed Bug 73225 Opened 23 years ago Closed 23 years ago

Launching mfcembed crashes [@ GKLAYOUT.DLL]

Categories

(Core Graveyard :: Embedding: APIs, defect)

x86
Windows ME
defect
Not set
critical

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: bmartin, Assigned: pavlov)

References

Details

(Keywords: crash, smoketest, topcrash)

Crash Data

Attachments

(2 files)

Latest mfcembed Mtrunk dated: 03-23-01

O/S: Windows ME
System: CompaqDeskPro 6000 166MHz 64MB

Steps:
1. Download latest embed-win32.zip from 
ftp://ftp.mozilla.org/pub/mozilla/nightly/2001-03-23-06-Mtrunk/  and extract 
file
2. Launch mfcembed.exe

Results:

"Mfcembed - Mfcembed has caused an error in GKLAYOUT.DLL Mfcembed will now 
close" [Close]
Brian : What happens when you launch winembed?

Downloaded the build from 
ftp://ftp.mozilla.org/pub/mozilla/nightly/2001-03-23-06-Mtrunk/ 
and tried running winembed from there - it crashes in gklayout.dll too.

Stack trace does not provide much info either.

Looks like there's some file mismatches.

Cc:ing Jud and Adam.
As of this morning both winembed and mfcembed work fine when executed from the 
win32_d.obj/bin dir. However, we're still seeing this crash when they're run 
from the Embed dir(after running the makefile.win from the embedding/config dir 
to make the embedding distribution)

Cc:ing cls@seawood.org since he was the last one to touch the 
embedding/config/makefile.win to see if he can provide some insight what's 
happening here.
*blink*  Red herring.  This crash predates all of my recent chrome changes. 
Upon some investigation found that we're missing some components from the Embed 
dist:

By adding the following dlls to the Embed dist i get a little bit further than 
before:

imglib2.dll
nkcache.dll

However, then it assert's at modules/libpr0n/src/ImageCache.cpp(Line 61):

nsCOMPtr<nsICacheService> 
cacheService(do_GetService("@mozilla.org/network/cache-service;1"));
NS_ASSERTION(cacheService, "Unable to get the cache service"); <--Line 61

here's a stack trace chak sent me. I believe pavlovs been in this code doing
image lib stuff. smoketests can't be run w/ this bug, upgrading severity.

NTDLL! 77f762e8()
nsDebug::Assertion(const char * 0x016937f8
??_C@_0DJ@KMGL@You?5can?8t?5dereference?5a?5NULL?5nsC@, const char * 0x0169383c
??_C@_0N@NHHF@mRawPtr?5?$CB?$DN?50?$AA@, const char * 0x01698a20
??_C@_0CE@LLDK@?4?4?2?4?4?2?4?4?2?4?4?2dist?2include?2nsCOMPt@, int 648) line
286 + 13 bytes
nsDebug::PreCondition(const char * 0x016937f8
??_C@_0DJ@KMGL@You?5can?8t?5dereference?5a?5NULL?5nsC@, const char * 0x0169383c
??_C@_0N@NHHF@mRawPtr?5?$CB?$DN?50?$AA@, const char * 0x01698a20
??_C@_0CE@LLDK@?4?4?2?4?4?2?4?4?2?4?4?2dist?2include?2nsCOMPt@, int 648) line
430 + 21 bytes
nsCOMPtr<imgILoader>::operator->() line 648 + 34 bytes
nsImageBoxFrame::UpdateImage(nsIPresContext * 0x02921640, int & 0) line 354 + 78
bytes
nsImageBoxFrame::DidSetStyleContext(nsImageBoxFrame * const 0x00bb23c0,
nsIPresContext * 0x02921640) line 464
nsFrame::SetStyleContext(nsFrame * const 0x00bb23c0, nsIPresContext *
0x02921640, nsIStyleContext * 0x0294f0d0) line 476
nsFrame::Init(nsFrame * const 0x00bb23c0, nsIPresContext * 0x02921640,
nsIContent * 0x02967770, nsIFrame * 0x00bb2330, nsIStyleContext * 0x0294f0d0,
nsIFrame * 0x00000000) line 327
nsLeafBoxFrame::Init(nsLeafBoxFrame * const 0x00bb23c0, nsIPresContext *
0x02921640, nsIContent * 0x02967770, nsIFrame * 0x00bb2330, nsIStyleContext *
0x0294f0d0, nsIFrame * 0x00000000) line 92 + 29 bytes
nsImageBoxFrame::Init(nsImageBoxFrame * const 0x00bb23c0, nsIPresContext *
0x02921640, nsIContent * 0x02967770, nsIFrame * 0x00bb2330, nsIStyleContext *
0x0294f0d0, nsIFrame * 0x00000000) line 203 + 29 bytes
nsCSSFrameConstructor::InitAndRestoreFrame(nsIPresContext * 0x02921640,
nsFrameConstructorState & {...}, nsIContent * 0x02967770, nsIFrame * 0x00bb2330,
nsIStyleContext * 0x0294f0d0, nsIFrame * 0x00000000, nsIFrame * 0x00bb23c0) line
6648 + 32 bytes
nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02967770, nsIFrame * 0x00bb2330, nsIAtom * 0x021ae3b0, int 6, nsIStyleContext
* 0x0294f0d0, nsFrameItems & {...}, int 0, int & 0) line 5777
nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02967770, nsIFrame * 0x00bb2330, nsIAtom * 0x021ae3b0, int 6, nsIStyleContext
* 0x0294f0d0, nsFrameItems & {...}, int 0) line 7176 + 60 bytes
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x029268d0, nsIPresContext
* 0x02921640, nsFrameConstructorState & {...}, nsIContent * 0x02967770, nsIFrame
* 0x00bb2330, nsFrameItems & {...}) line 7076 + 56 bytes
nsCSSFrameConstructor::ProcessChildren(nsIPresShell * 0x029268d0, nsIPresContext
* 0x02921640, nsFrameConstructorState & {...}, nsIContent * 0x02967960, nsIFrame
* 0x00bb2330, int 0, nsFrameItems & {...}, int 0, nsTableCreator * 0x00000000)
line 11192 + 43 bytes
nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02967960, nsIFrame * 0x00bb229c, nsIAtom * 0x021b1d40, int 6, nsIStyleContext
* 0x029674a0, nsFrameItems & {...}, int 0, int & 0) line 5800 + 44 bytes
nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02967960, nsIFrame * 0x00bb229c, nsIAtom * 0x021b1d40, int 6, nsIStyleContext
* 0x029674a0, nsFrameItems & {...}, int 0) line 7176 + 60 bytes
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x029268d0, nsIPresContext
* 0x02921640, nsFrameConstructorState & {...}, nsIContent * 0x02967960, nsIFrame
* 0x00bb229c, nsFrameItems & {...}) line 7076 + 56 bytes
nsCSSFrameConstructor::ProcessChildren(nsIPresShell * 0x029268d0, nsIPresContext
* 0x02921640, nsFrameConstructorState & {...}, nsIContent * 0x02966f30, nsIFrame
* 0x00bb229c, int 0, nsFrameItems & {...}, int 0, nsTableCreator * 0x00000000)
line 11192 + 43 bytes
nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02966f30, nsIFrame * 0x00bb2204, nsIAtom * 0x021b2f30, int 6, nsIStyleContext
* 0x029664f0, nsFrameItems & {...}, int 0, int & 0) line 5800 + 44 bytes
nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02966f30, nsIFrame * 0x00bb2204, nsIAtom * 0x021b2f30, int 6, nsIStyleContext
* 0x029664f0, nsFrameItems & {...}, int 0) line 7176 + 60 bytes
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x029268d0, nsIPresContext
* 0x02921640, nsFrameConstructorState & {...}, nsIContent * 0x02966f30, nsIFrame
* 0x00bb2204, nsFrameItems & {...}) line 7076 + 56 bytes
nsCSSFrameConstructor::ProcessChildren(nsIPresShell * 0x029268d0, nsIPresContext
* 0x02921640, nsFrameConstructorState & {...}, nsIContent * 0x02949810, nsIFrame
* 0x00bb2204, int 0, nsFrameItems & {...}, int 0, nsTableCreator * 0x00000000)
line 11192 + 43 bytes
nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02949810, nsIFrame * 0x00bb20ac, nsIAtom * 0x021ae7c0, int 6, nsIStyleContext
* 0x0294acf0, nsFrameItems & {...}, int 0, int & 0) line 5800 + 44 bytes
nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02949810, nsIFrame * 0x00bb20ac, nsIAtom * 0x021ae7c0, int 6, nsIStyleContext
* 0x0294acf0, nsFrameItems & {...}, int 0) line 7176 + 60 bytes
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x029268d0, nsIPresContext
* 0x02921640, nsFrameConstructorState & {...}, nsIContent * 0x02949810, nsIFrame
* 0x00bb20ac, nsFrameItems & {...}) line 7076 + 56 bytes
nsCSSFrameConstructor::CreateAnonymousFrames(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02920150, nsIDocument * 0x0226fe50, nsIFrame * 0x00bb20ac, nsFrameItems &
{...}) line 5195
nsCSSFrameConstructor::BuildGfxScrollFrame(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02920150, nsIDocument * 0x0226fe50, nsIFrame * 0x00bb2038, nsIStyleContext *
0x029480a0, int 1, nsIFrame * & 0x00bb20ac, nsFrameItems & {...}, nsIFrame *
0x00bb2154) line 6087
nsCSSFrameConstructor::BeginBuildingScrollFrame(nsIPresShell * 0x029268d0,
nsIPresContext * 0x02921640, nsFrameConstructorState & {...}, nsIContent *
0x02920150, nsIStyleContext * 0x029480a0, nsIFrame * 0x00bb2038, nsIAtom *
0x021a9970, nsIDocument * 0x0226fe50, int 1, nsIFrame * & 0x00bb2074,
nsCOMPtr<nsIStyleContext> & {...}, nsIFrame * & 0x00000000, nsIFrame *
0x00000000) line 5
nsCSSFrameConstructor::ConstructRootFrame(nsCSSFrameConstructor * const
0x02926c60, nsIPresShell * 0x029268d0, nsIPresContext * 0x02921640, nsIContent *
0x02920150, nsIFrame * & 0x00000000) line 3850
StyleSetImpl::ConstructRootFrame(StyleSetImpl * const 0x02926f80, nsIPresContext
* 0x02921640, nsIContent * 0x02920150, nsIFrame * & 0x00000000) line 1200 + 39 bytes
PresShell::InitialReflow(PresShell * const 0x029268d0, int 9072, int 5508) line 2379
HTMLContentSink::StartLayout() line 3550
HTMLContentSink::OpenBody(HTMLContentSink * const 0x02920580, const
nsIParserNode & {...}) line 2859
CNavDTD::OpenBody(const nsIParserNode * 0x00baf060) line 3066 + 31 bytes
CNavDTD::OpenContainer(const nsIParserNode * 0x00baf060, nsHTMLTag
eHTMLTag_body, int 1, nsEntryStack * 0x00000000) line 3386 + 12 bytes
CNavDTD::HandleDefaultStartToken(CToken * 0x00ba7b58, nsHTMLTag eHTMLTag_body,
nsIParserNode * 0x00baf060) line 1258 + 20 bytes
CNavDTD::HandleStartToken(CToken * 0x00ba7b58) line 1671 + 22 bytes
CNavDTD::HandleToken(CNavDTD * const 0x0292f3f0, CToken * 0x00ba7b58, nsIParser
* 0x02265970) line 824 + 12 bytes
CNavDTD::BuildModel(CNavDTD * const 0x0292f3f0, nsIParser * 0x02265970,
nsITokenizer * 0x02930ce0, nsITokenObserver * 0x00000000, nsIContentSink *
0x02920580) line 518 + 20 bytes
nsParser::BuildModel() line 2028 + 34 bytes
nsParser::ResumeParse(int 1, int 1) line 1909 + 11 bytes
nsParser::ContinueParsing() line 1521 + 17 bytes
CSSLoaderImpl::Cleanup(URLKey & {...}, SheetLoadData * 0x02932ed0) line 709
CSSLoaderImpl::SheetComplete(nsICSSStyleSheet * 0x00000000, SheetLoadData *
0x02932ed0) line 833
CSSLoaderImpl::ParseSheet(nsIUnicharInputStream * 0x029334f0, SheetLoadData *
0x02932ed0, int & 1, nsICSSStyleSheet * & 0x02932750) line 868
CSSLoaderImpl::DidLoadStyle(nsIStreamLoader * 0x02932bf0, nsString * 0x02933cd0,
SheetLoadData * 0x02932ed0, unsigned int 0) line 903 + 27 bytes
SheetLoadData::OnStreamComplete(SheetLoadData * const 0x02932ed0,
nsIStreamLoader * 0x02932bf0, nsISupports * 0x00000000, unsigned int 0, unsigned
int 972, const char * 0x02934360) line 643
nsStreamLoader::OnStopRequest(nsStreamLoader * const 0x02932bf4, nsIRequest *
0x02932ad0, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x100b0a38 gCommonEmptyBuffer) line 120 + 81 bytes
nsHTTPFinalListener::OnStopRequest(nsHTTPFinalListener * const 0x02932950,
nsIRequest * 0x02932ad0, nsISupports * 0x00000000, unsigned int 0, const
unsigned short * 0x100b0a38 gCommonEmptyBuffer) line 1130 + 42 bytes
nsHTTPChannel::ResponseCompleted(nsIStreamListener * 0x02932950, unsigned int 0,
const unsigned short * 0x100b0a38 gCommonEmptyBuffer) line 2427 + 36 bytes
nsHTTPServerListener::OnStopRequest(nsHTTPServerListener * const 0x029330b0,
nsIRequest * 0x02934dd0, nsISupports * 0x02932ad0, unsigned int 0, const
unsigned short * 0x100b0a38 gCommonEmptyBuffer) line 704
nsOnStopRequestEvent::HandleEvent(nsOnStopRequestEvent * const 0x029322f0) line
178 + 67 bytes
nsStreamObserverEvent::HandlePLEvent(PLEvent * 0x029322f4) line 79
PL_HandleEvent(PLEvent * 0x029322f4) line 588 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00975a50) line 518 + 9 bytes
_md_EventReceiverProc(HWND__ * 0xd66b00d6, unsigned int 49336, unsigned int 0,
long 9919056) line 1069 + 9 bytes
USER32! 77e7124c()
00975a50()
Assignee: chak → pavlov
Severity: critical → blocker
Keywords: crash, smoketest
Summary: Launching mfcembed causes error in GKLAYOUT.DLL → Launching mfcembed crashes in GKLAYOUT.DLL
Adding myself to the Cc: list
Chak, did you delete component.reg so it gets rebuilt?
Deleted components.reg and tried. It asserts at the following place as mentioned 
in my earlier post:

modules/libpr0n/src/ImageCache.cpp(Line 61):

nsCOMPtr<nsICacheService> 
cacheService(do_GetService("@mozilla.org/network/cache-service;1"));
NS_ASSERTION(cacheService, "Unable to get the cache service"); <-------Line 61


So did anyone add the new necko cache dll to the embed jar file?
Ok, i was getting the assert that it could not get the cache service because i 
was copying the nkcache.dll to the wrong place.

Blowing away the component.reg and copying the nkcache.dll to the components dir 
fixes the crash.

Windows patch on the way. Could someone submit a Unix patch since i can't seem 
to get to my linux box at work (to get the correct .so filenames)
Oops. Sorry about the dup info.  I really need to stop reading bug reports first
thing in the morning.  Wouldn't all of the component/img*.dlls be required in
order to actually decode images?  Wouldn't just adding nkcache & imglib2 just
solve the startup crash but not actually decode images?
The patch fixes the crash but the images are not displayed at all.

Looks like there a few img*.dll's which are not part of the Embed dist. I copied 
all the img*.dlls but then i get another crash - looks like yet anoher component 
dependency.

We get a crash at the code below, since i guess we're missing 
"@mozilla.org/gfx/image/frame;2" component:

    // initalize the frame and append it to the container
    decoder->mImageFrame = do_CreateInstance("@mozilla.org/gfx/image/frame;2");
    decoder->mImageFrame->Init(
      decoder->mGIFStruct.x_offset, decoder->mGIFStruct.y_offset, 
      decoder->mGIFStruct.width, decoder->mGIFStruct.height, format);

Jud : Can you Cc the imglib owner on this bug so that we can get all the dlls 
needed by imglib?
Adding gfx2.dll & gfx2.xpt to the list seems to make things work again.
r=cls on the patch.  I'm not seeing this problem on the unix side with gtkEmbed.
 I'm seeing a separate optimize-only crash (same as speedracer, I suspect).
cls : Can i go ahead and check this in - the tree is closed now.
I'm not sure of the process...Thanks
It's best to log onto IRC and ask leaf.
Fix just checked in. Thanks everyone for your help.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
*** Bug 73480 has been marked as a duplicate of this bug. ***
re-opening....

Latest mfcembed (03-26-01-14:22) crashes in gklayout.dll 
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
uh, where?
Brian : Can you check to see if yout have the following dlls under 
Embed/Components dir?

imglib2.dll
imggif.dll
imgjpeg.dll
imgpng.dll
imgppm.dll
gfx2.dll
nkcache.dll

Just wanted to make sure you've got the build with these updates...
The files listed above are not included in the Embed\Components directory.

It appears that the release team's respin didn't pick up your fix.
This morning's build is working. (03-27-01-07:37)

Marking resolved fixed.
Status: REOPENED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
Marking Verified
Status: RESOLVED → VERIFIED
This bug is going to hit gtkEmbed as soon as libpr0n is turned on for Linux.
CC'ing pavlov.

Stuart, could you ensure that when libpr0n lands on Linux that the embedding 
manifest is updated correctly?
re-opening until this is addressed on linux.
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
Jud says this is not a blocker
Severity: blocker → critical
ok.  i'm marking this fixed.  if you want to file a new bug reminding me to do 
it on linux thats fine.
Status: REOPENED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
Bug 73773 covers the Unix manifest changes
adding topcrash keyword and [@ GKLAYOUT.DLL] for tracking.
Keywords: topcrash
Summary: Launching mfcembed crashes in GKLAYOUT.DLL → Launching mfcembed crashes [@ GKLAYOUT.DLL]
verified with embed build from 4/9
Status: RESOLVED → VERIFIED
Crash Signature: [@ GKLAYOUT.DLL]
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: