Closed Bug 82545 Opened 23 years ago Closed 23 years ago

mpdk crashes mozilla

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Windows 2000
defect
Not set
critical

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: oliver, Assigned: serhunt)

Details

(Keywords: crash)

Attachments

(1 file)

I build mpdk on the VC6.0++(SP3) IDE.
This project makes npBasic.dll.
I put npBasic.dll to plugins directory and run mozilla.
Mozilla recognize npBasic.dll("about:plugins" shows it.) 

When mozilla load a page include embeded tag(audio/midi), mozilla crash !!
(for example, http://www.1000cp.com/oliver/mozilla/work/sample.html),

I don't touch anything *.cpp/*.h included in module/plugin/mpdk,
and added only *.rc/resource.h and project files(*.dsw/*.dsp).
I think mozilla or mpdk have a ploblem. (or OS/VC++?)

My environment is Windows2000(ja)/SP1 and VC6.0++/SP3
I get mozilla-source.tar.gz today(on 20001/05/25)

Below is call stack when mozilla crash.
(Mozilla set 1st parameter of QueryInterface() _vfptr,
2nd parameter set IID(IID is 1st parameter) !! why?)

CPlugin::QueryInterface(const nsID & {...}, void * * 0x03ad08d0 iid) line 90 + 
3 bytes
nsQueryInterface::operator()(const nsID & {...}, void * * 0x0012cc7c) line 32 + 
25 bytes
nsCOMPtr<nsIPlugin>::assign_from_helper(const nsCOMPtr_helper & {...}, const 
nsID & {...}) line 971 + 18 bytes
nsCOMPtr<nsIPlugin>::nsCOMPtr<nsIPlugin>(const nsQueryInterface & {...}) line 
565
nsCOMPtr<nsIPlugin>::Assert_NoQueryNeeded() line 499 + 29 bytes
nsGetterAddRefs<nsIPlugin>::~nsGetterAddRefs<nsIPlugin>() line 1055
nsPluginHostImpl::SetUpPluginInstance(nsPluginHostImpl * const 0x034ba354, 
const char * 0x0360fc80, nsIURI * 0x0360fd10, nsIPluginInstanceOwner * 
0x034e06a0) line 3001
nsPluginHostImpl::InstantiateEmbededPlugin(nsPluginHostImpl * const 0x034ba354, 
const char * 0x0360fc80, nsIURI * 0x0360fd10, nsIPluginInstanceOwner * 
0x034e06a0) line 2681 + 24 bytes
nsObjectFrame::InstantiatePlugin(nsIPresContext * 0x034504b8, 
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsIPluginHost * 
0x034ba354, const char * 0x0360fc80, nsIURI * 0x0360fd10) line 1047
nsObjectFrame::Reflow(nsObjectFrame * const 0x036340c0, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, 
unsigned int & 0x00000000) line 892 + 57 bytes
nsLineLayout::ReflowFrame(nsIFrame * 0x036340c0, nsIFrame * * 0x0012e298, 
unsigned int & 0x00000000, nsHTMLReflowMetrics * 0x00000000, int & 0x00000000) 
line 955 + 43 bytes
nsBlockFrame::ReflowInlineFrame(nsBlockReflowState & {...}, nsLineLayout & 
{...}, nsLineBox * 0x03634150, nsIFrame * 0x036340c0, unsigned char * 
0x0012d818) line 3459 + 29 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...}, nsLineLayout & 
{...}, nsLineBox * 0x03634150, int * 0x0012de80, unsigned char * 0x0012dcdc, 
int 0x00000000, int 0x00000001) line 3343 + 28 bytes
nsBlockFrame::DoReflowInlineFramesAuto(nsBlockReflowState & {...}, nsLineBox * 
0x03634150, int * 0x0012de80, unsigned char * 0x0012dcdc, int 0x00000000, int 
0x00000001) line 3268 + 42 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...}, nsLineBox * 
0x03634150, int * 0x0012de80, int 0x00000001, int 0x00000000) line 3213 + 32 
bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x03634150, 
int * 0x0012de80, int 0x00000001) line 2336 + 29 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2026 + 27 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x03633fe4, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, 
unsigned int & 0x00000000) line 793 + 15 bytes
nsBlockReflowContext::DoReflowBlock(nsHTMLReflowState & {...}, nsReflowReason 
eReflowReason_Incremental, nsIFrame * 0x03633fe4, const nsRect & {...}, int 
0x00000001, int 0x00000000, int 0x00000001, nsMargin & {...}, unsigned int & 
0x00000000) line 572 + 36 bytes
nsBlockReflowContext::ReflowBlock(nsIFrame * 0x03633fe4, const nsRect & {...}, 
int 0x00000001, int 0x00000000, int 0x00000001, nsMargin & {...}, unsigned int 
& 0x00000000) line 340 + 50 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 
0x03634058, int * 0x0012e9ec) line 2959 + 59 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x03634058, 
int * 0x0012e9ec, int 0x00000001) line 2218 + 23 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2026 + 27 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x03633f58, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, 
unsigned int & 0x00000000) line 793 + 15 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x03633f58, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) 
line 722 + 31 bytes
CanvasFrame::Reflow(CanvasFrame * const 0x036160bc, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, 
unsigned int & 0x00000000) line 576
nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState & {...}, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, 
unsigned int & 0x00000000, int 0x00000000, int 0x00000000, int 0x00002e3b, int 
0x00002292, int 0x00000001) line 866
nsBoxToBlockAdaptor::DoLayout(nsBoxToBlockAdaptor * const 0x03633eec, 
nsBoxLayoutState & {...}) line 523 + 52 bytes
nsBox::Layout(nsBox * const 0x03633eec, nsBoxLayoutState & {...}) line 985
nsScrollBoxFrame::DoLayout(nsScrollBoxFrame * const 0x036161e4, 
nsBoxLayoutState & {...}) line 379
nsBox::Layout(nsBox * const 0x036161e4, nsBoxLayoutState & {...}) line 985
nsContainerBox::LayoutChildAt(nsBoxLayoutState & {...}, nsIBox * 0x036161e4, 
const nsRect & {...}) line 591 + 16 bytes
nsGfxScrollFrameInner::LayoutBox(nsBoxLayoutState & {...}, nsIBox * 0x036161e4, 
const nsRect & {...}) line 1038 + 17 bytes
nsGfxScrollFrameInner::Layout(nsBoxLayoutState & {...}) line 1144
nsGfxScrollFrame::DoLayout(nsGfxScrollFrame * const 0x0361613c, 
nsBoxLayoutState & {...}) line 1046 + 15 bytes
nsBox::Layout(nsBox * const 0x0361613c, nsBoxLayoutState & {...}) line 985
nsBoxFrame::Reflow(nsBoxFrame * const 0x03616104, nsIPresContext * 0x034504b8, 
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 
0x00000000) line 781
nsGfxScrollFrame::Reflow(nsGfxScrollFrame * const 0x03616104, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, 
unsigned int & 0x00000000) line 735 + 25 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x03616104, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) 
line 722 + 31 bytes
ViewportFrame::Reflow(ViewportFrame * const 0x03616080, nsIPresContext * 
0x034504b8, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, 
unsigned int & 0x00000000) line 538
nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x03695388, 
nsIPresContext * 0x034504b8, nsHTMLReflowMetrics & {...}, const nsSize & {...}, 
nsIRenderingContext & {...}) line 145
PresShell::ProcessReflowCommand(nsVoidArray & {...}, int 0x00000001, 
nsHTMLReflowMetrics & {...}, nsSize & {...}, nsIRenderingContext & {...}) line 
5712
PresShell::ProcessReflowCommands(int 0x00000001) line 5767
ReflowEvent::HandleEvent() line 5625
HandlePLEvent(ReflowEvent * 0x03695930) line 5639
PL_HandleEvent(PLEvent * 0x03695930) line 590 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00c81170) line 520 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x001c033c, unsigned int 0x0000c0dd, unsigned 
int 0x00000000, long 0x00c81170) line 1071 + 9 bytes
USER32! 77de39bc()
USER32! 77de3f5d()
USER32! 77de5734()
nsAppShellService::Run(nsAppShellService * const 0x00e80bd0) line 418
main1(int 0x00000001, char * * 0x003e8558, nsISupports * 0x00000000) line 1128 
+ 32 bytes
main(int 0x00000001, char * * 0x003e8558) line 1426 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e692a6()
sorry, attaced file is zipfile(npBasic.zip)

And,
On May 22, nsIPluginStreamListener.h is updated, so I modify definition of
CPluginListener::OnDataAvailable() .

(please update also mpdk!!)
Severity: normal → critical
Keywords: crash
mpdk as it is now is not supposed to work with current Mozilla builds or NS6 
RTM. I think we already have a bug on updating it or writing a stand-alone 
plugin sample code. Shrirang, I think we can mark this one a dup or even 
invalid.
Marking INVALID at av's suggestion.

Gerv
Status: UNCONFIRMED → RESOLVED
Closed: 23 years ago
Resolution: --- → INVALID
spam : marking invalid bugs 'verif'. reopen if u disagree, reporter!
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: