Closed Bug 1354900 Opened 7 years ago Closed 7 years ago

Assertion failure in PluginInstanceChild::NPN_FinalizeAsyncSurface

Categories

(Core Graveyard :: Plug-ins, defect)

defect
Not set
normal

Tracking

(firefox55 fixed)

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: mayhemer, Assigned: handyman)

References

Details

Attachments

(1 file)

MOZ_ASSERT(!surface || mCurrentDirectSurface != surface);

where mCurrentDirectSurface == surface and are non-null.


 	xul.dll!MOZ_NoReturn(2914) Line 213	C++
>	xul.dll!mozilla::plugins::PluginInstanceChild::NPN_FinalizeAsyncSurface(0x0422ec4c) Line 2914	C++
 	xul.dll!mozilla::plugins::child::_finalizeasyncsurface(0x0422dc40, 0x0422ec4c) Line 1808	C++
 	NPSWF32_25_0_0_127.dll!030587cc()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for NPSWF32_25_0_0_127.dll]	
 	NPSWF32_25_0_0_127.dll!0307035f()	Unknown
 	NPSWF32_25_0_0_127.dll!0306e6f3()	Unknown
 	NPSWF32_25_0_0_127.dll!03075307()	Unknown
 	NPSWF32_25_0_0_127.dll!03071b1c()	Unknown
 	NPSWF32_25_0_0_127.dll!030727d7()	Unknown
 	NPSWF32_25_0_0_127.dll!0307377c()	Unknown
 	NPSWF32_25_0_0_127.dll!03070e6e()	Unknown
 	NPSWF32_25_0_0_127.dll!0306e562()	Unknown
 	NPSWF32_25_0_0_127.dll!035fd06d()	Unknown
 	NPSWF32_25_0_0_127.dll!0305caa8()	Unknown
 	NPSWF32_25_0_0_127.dll!0305cd0f()	Unknown
 	xul.dll!mozilla::plugins::PluginModuleChild::NPP_Destroy(0x00f53c00) Line 326	C++
 	xul.dll!mozilla::plugins::PluginInstanceChild::Destroy() Line 4309	C++
 	xul.dll!mozilla::plugins::PluginInstanceChild::AnswerNPP_Destroy(0x006ff7d8) Line 4364	C++
 	xul.dll!mozilla::plugins::PPluginInstanceChild::OnCallReceived({...}, 0x00000000) Line 3301	C++
 	xul.dll!mozilla::plugins::PPluginModuleChild::OnCallReceived({...}, 0x00000000) Line 1238	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchInterruptMessage({...}, 0) Line 1942	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchMessageW({...}) Line 1806	C++
 	xul.dll!mozilla::ipc::MessageChannel::RunMessage({...}) Line 1681	C++
 	xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1714	C++
 	xul.dll!MessageLoop::RunTask({...}) Line 362	C++
 	xul.dll!MessageLoop::DeferOrRunPendingTask({...}) Line 372	C++
 	xul.dll!MessageLoop::DoWork() Line 444	C++
 	xul.dll!base::MessagePumpForUI::DoRunLoop() Line 212	C++
 	xul.dll!base::MessagePumpWin::RunWithDispatcher(0x006ffdb0, 0x00000000) Line 58	C++
 	xul.dll!base::MessagePumpWin::Run(0x006ffdb0) Line 80	C++
 	xul.dll!MessageLoop::RunInternal() Line 239	C++
 	xul.dll!MessageLoop::RunHandler() Line 225	C++
 	xul.dll!MessageLoop::Run() Line 212	C++
 	xul.dll!XRE_InitChildProcess(5, 0x00f010a0, 0x006ffe88) Line 703	C++
 	xul.dll!mozilla::BootstrapImpl::XRE_InitChildProcess(7, 0x00f010a0, 0x006ffe88) Line 65	C++
 	plugin-container.exe!content_process_main(0x00f0e070, 7, 0x00f010a0) Line 64	C++
 	plugin-container.exe!NS_internal_main(8, 0x00f010a0) Line 25	C++
 	plugin-container.exe!wmain(8, 0x0093ceb0) Line 111	C++
 	plugin-container.exe!__scrt_common_main_seh() Line 253	C++


STR, 100% repro:
- debug build (32bit) of m-c
- clean profile
- load cnn.com
David, is this a sign of a Flash bug? If so do we need this assertion or can we handle this more gracefully?

Does this need to block rollout of async painting to beta/release?
Flags: needinfo?(dvander)
(In reply to Benjamin Smedberg [:bsmedberg] from comment #1)
> David, is this a sign of a Flash bug? If so do we need this assertion or can
> we handle this more gracefully?
> 
> Does this need to block rollout of async painting to beta/release?

We know about this, it's a side effect of some changes adobe made to the way they handle these surfaces for bug 1306698. It's not considered blocking. I need to to take this to adobe, but I wanted to wait until the other stuff we had out to them was closed out. There's more information in bug 1306698, comment 34.
Blocks: 1306698
Flags: needinfo?(dvander)
Can we remove the assertion, if this is semi-expected? Debug builds shouldn't be crashing on normal browsing like this.
Flags: needinfo?(jmathies)
I wouldn't object to removing it. We always copy the texture and mCurrentDirectSurface might be pointless. It's only there to "enforce" the API.
Removes the assert.  It would be a good idea to track this somehow so we can reverse it.
Attachment #8856735 - Flags: review?(dvander)
Attachment #8856735 - Flags: review?(dvander) → review+
That was fast ;)
Assignee: nobody → davidp99
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e3b2db0bf090
Remove ASSERT when plugin incorrectly finalizes async surface. r=dvander
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/e3b2db0bf090
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Thank you guys.
Flags: needinfo?(jmathies)
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: