Closed
Bug 1426731
Opened 6 years ago
Closed 3 years ago
Plugin crash when exiting fullscreen in local builds
Categories
(Core Graveyard :: Plug-ins, defect, P3)
Tracking
(firefox70 affected)
RESOLVED
WONTFIX
Tracking | Status | |
---|---|---|
firefox70 | --- | affected |
People
(Reporter: handyman, Unassigned)
Details
Attachments
(1 file)
209.75 KB,
image/png
|
Details |
STR: 0. Launch a build made locally, with or without debug symbols, optimized or not (debug/opt doesn't matter). 1. Open http://wwwns.akamai.com/hdnetwork/demo/flash/default.html and greenlight plugin usage. 2. Click the fullscreen button on the video player. 3. Press ESC to exit fullscreen. Expected: Exit fullscreen and video keeps playing Actual: Exit fullscreen and plugin crashes. -------------------------------- Running with plugin-container in the debugger gives me this stack: > xul.dll!mozilla::plugins::PluginInstanceChild::PaintRectToPlatformSurface(const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> & aRect={...}, gfxASurface * aSurface=0x0000014c9b352190) Line 3343 C++ xul.dll!mozilla::plugins::PluginInstanceChild::PaintRectToSurface(const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> & aRect, gfxASurface * aSurface=0x0000014c9b352190, const mozilla::gfx::Color & aColor={...}) Line 3459 C++ xul.dll!mozilla::plugins::PluginInstanceChild::PaintRectWithAlphaExtraction(const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> & aRect, gfxASurface * aSurface=0x0000014c9b352190) Line 3525 C++ xul.dll!mozilla::plugins::PluginInstanceChild::ShowPluginFrame() Line 3712 C++ xul.dll!mozilla::plugins::PluginInstanceChild::InvalidateRectDelayed() Line 3861 C++ xul.dll!mozilla::detail::RunnableMethodImpl<mozilla::plugins::PluginInstanceChild * __ptr64 const,void (__cdecl mozilla::plugins::PluginInstanceChild::*)(void) __ptr64,0,1>::Run() Line 1195 C++ xul.dll!MessageLoop::RunTask(already_AddRefed<nsIRunnable> aTask={...}) Line 453 C++ xul.dll!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask && pending_task={...}) Line 463 C++ xul.dll!MessageLoop::DoWork() Line 535 C++ xul.dll!base::MessagePumpForUI::DoRunLoop() Line 211 C++ xul.dll!base::MessagePumpWin::RunWithDispatcher(base::MessagePump::Delegate * delegate, base::MessagePumpWin::Dispatcher * dispatcher) Line 58 C++ xul.dll!MessageLoop::RunHandler() Line 312 C++ xul.dll!MessageLoop::Run() Line 300 C++ xul.dll!XRE_InitChildProcess(int aArgc=5, char * * aArgv=0x0000014c9b304060, const XREChildData * aChildData=0x00000044513ffa80) Line 705 C++ plugin-container.exe!content_process_main(mozilla::Bootstrap * bootstrap=0x0000014c9b30a0b0, int argc=8, char * * argv=0x0000014c9b304060) Line 64 C++ plugin-container.exe!NS_internal_main(int argc=9, char * * argv=0x0000014c9b304060) Line 25 C++ plugin-container.exe!wmain(int argc, wchar_t * * argv=0xffffffffffd850f0) Line 114 C++ plugin-container.exe!__scrt_common_main_seh() Line 253 C++ kernel32.dll!BaseThreadInitThunk() Unknown ntdll.dll!RtlUserThreadStart() Unknown The debugger stopped on this ASSERT; MOZ_ASSERT(!IsUsingDirectDrawing()); I think 'this' is invalid.
Comment 1•6 years ago
|
||
Works for me on latest Nightly on Mac. (not a local build though)
Comment 2•6 years ago
|
||
(In reply to Tracy Walker [:tracy] from comment #1) > Works for me on latest Nightly on Mac. (not a local build though) Works on Win7 / nightly as well. :handyman, if you have the time please debug a bit more.
Flags: needinfo?(davidp99)
Reporter | ||
Comment 3•6 years ago
|
||
(In reply to Tracy Walker [:tracy] from comment #1) > (not a local build though) I should have pointed out that this is critical. I just tried again (on Windows) and got the plugin crash. Specifically, I am running: > obj-64/dist/bin/firefox.exe --no-remote -P With mozconfig: > ac_add_options --enable-debug > ac_add_options --enable-warnings-as-errors > > mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-64 > > # 64-bit builds > ac_add_options --target=x86_64-pc-mingw32 > ac_add_options --host=x86_64-pc-mingw32
Flags: needinfo?(davidp99) → needinfo?(jmathies)
Comment 4•6 years ago
|
||
What's in mDrawingModel when you hit this? I'm building locally now, will try to reproduce.
Flags: needinfo?(jmathies) → needinfo?(davidp99)
Updated•6 years ago
|
Flags: needinfo?(jmathies)
Reporter | ||
Comment 5•6 years ago
|
||
This happens with a clean profile. I assume that means async rendering is on -- at least dom.ipc.plugins.asyncdrawing.enabled is true.
Flags: needinfo?(davidp99)
Comment 6•6 years ago
|
||
The stacks have the thread wrapped up in PluginInstanceChild::InvalidateRectDelayed and it looks like we ran into this before there. David, it looks like you added code for something like this in bug 1306698. https://searchfox.org/mozilla-central/source/dom/plugins/ipc/PluginInstanceChild.cpp#3851 mDrawingModel is set to 7 (NPDrawingModelAsyncWindowsDXGISurface) briefly coming out of fullscreen. Maybe the plugin is resetting the mode? Once a draw mode is selected it shouldn't change, maybe we can adjust this by locking used modes in.
Flags: needinfo?(jmathies)
Updated•6 years ago
|
Priority: -- → P3
Comment 7•5 years ago
•
|
||
I believe that I managed to reproduce this issue on Win 7x64 ith the latest Nightly70x32. Click on Fullscreen and Exit Fullscreen multiple times -> plugin crashes. See screenshot with the crash but I have to mention that the audio is still working even if I cannot see the video.
Comment 8•5 years ago
|
||
Updated•5 years ago
|
status-firefox70:
--- → affected
Comment 9•3 years ago
|
||
Resolving as wont fix, plugin support deprecated in Firefox 85.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•