Closed Bug 1120747 Opened 5 years ago Closed 5 years ago

dom.ipc.plugins.flash.disable-protected-mode doesn't work on Windows 7

Categories

(Core :: Plug-ins, defect)

x86
Windows 8.1
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla38
Tracking Status
firefox36 --- unaffected
firefox37 + verified
firefox38 --- verified

People

(Reporter: m_kato, Assigned: m_kato)

References

Details

Attachments

(1 file)

When check dom.ipc.plugins.flash.disable-protected-mode prefs, parent->mIsFlash isn't initialized yet.

0:000> k
ChildEBP RetAddr
0014ed4c 6433ee74 xul!mozilla::plugins::PluginModuleChromeParent::OnProcessLaunched
0014ed54 6433ef1b xul!mozilla::plugins::PluginModuleChromeParent::LaunchedTask::Run+0xd
0014ed64 6434147c xul!mozilla::plugins::PluginProcessParent::RunLaunchCompleteTask+0x1f
0014ed74 6433bdaa xul!mozilla::plugins::PluginProcessParent::WaitUntilConnected+0x3d
0014edcc 643165d7 xul!mozilla::plugins::PluginModuleChromeParent::LoadModule+0xcb
0014edd8 64316428 xul!GetNewPluginLibrary+0x2e
0014edf8 6431a594 xul!nsNPAPIPlugin::CreatePlugin+0x55
0014eed8 6431abbf xul!CreateNPAPIPlugin+0xfc
0014eeec 6431c07f xul!nsPluginHost::EnsurePluginLoaded+0x29
0014ef08 6431f5bc xul!nsPluginHost::GetPlugin+0x5f
0014effc 6431f240 xul!nsPluginHost::TrySetUpPluginInstance+0x90
0014f034 6431c6f3 xul!nsPluginHost::SetUpPluginInstance+0x28
0014f130 63dbced6 xul!nsPluginHost::InstantiatePluginInstance+0x128
0014f198 63dbfb55 xul!nsObjectLoadingContent::InstantiatePluginInstance+0x155
0014f1bc 63dbf094 xul!nsObjectLoadingContent::SyncStartPluginInstance+0x4b
0014f1cc 63394b08 xul!nsAsyncInstantiateEvent::Run+0x30
0014f2d4 6339428e xul!nsThread::ProcessNextEvent+0x33f
0014f308 63394231 xul!mozilla::ipc::MessagePump::Run+0x57
0014f340 63393faf xul!MessageLoop::RunHandler+0x20
0014f360 633958d9 xul!MessageLoop::Run+0x19
0014f370 63396952 xul!nsBaseAppShell::Run+0x34
0014f380 6369d400 xul!nsAppShell::Run+0x1d
0014f394 63733b54 xul!nsAppStartup::Run+0x22
0014f468 637349e8 xul!XREMain::XRE_mainRun+0x594
0014f484 63802fa8 xul!XREMain::XRE_main+0xf9
0014f608 00181699 xul!XRE_main+0x39
0014f7a4 001812ec firefox+0x1699
0014f83c 001810de firefox+0x12ec
0014f850 00182504 firefox+0x10de
0014f898 7652ee1c firefox+0x2504
0014f8a4 77bd37eb kernel32!BaseThreadInitThunk+0xe
0014f8e4 77bd37be ntdll!__RtlUserThreadStart+0x70
0014f8fc 00000000 ntdll!_RtlUserThreadStart+0x1b
(In reply to Makoto Kato (:m_kato) from comment #0)
> When check dom.ipc.plugins.flash.disable-protected-mode prefs,
> parent->mIsFlash isn't initialized yet.

(I assume you means parent->mIsFlashPlugin.)

I'm not very familiar with this code, but if I understand correctly, OnProcessLaunched is called through the runnable created here: <https://dxr.mozilla.org/mozilla-central/source/dom/plugins/ipc/PluginModuleParent.cpp#371>.  OnProcessLaunched initialized mIsFlashPlugin here: <https://dxr.mozilla.org/mozilla-central/source/dom/plugins/ipc/PluginModuleParent.cpp#389>.  Not sure why you said that mIsFlashPlugin is uninitialized there...
(In reply to :Ehsan Akhgari (not reading bugmail, needinfo? me!) from comment #1)
> (In reply to Makoto Kato (:m_kato) from comment #0)
> > When check dom.ipc.plugins.flash.disable-protected-mode prefs,
> > parent->mIsFlash isn't initialized yet.
> 
> (I assume you means parent->mIsFlashPlugin.)
> 
> I'm not very familiar with this code, but if I understand correctly,
> OnProcessLaunched is called through the runnable created here:
> <https://dxr.mozilla.org/mozilla-central/source/dom/plugins/ipc/
> PluginModuleParent.cpp#371>.  OnProcessLaunched initialized mIsFlashPlugin
> here:
> <https://dxr.mozilla.org/mozilla-central/source/dom/plugins/ipc/
> PluginModuleParent.cpp#389>.  Not sure why you said that mIsFlashPlugin is
> uninitialized there...

If WaitUntilConnected calls runnable, OnProcessLaunched is called before parent->mIsFlashPlugin is set.  Call stack is comment #0.
Comment on attachment 8547980 [details] [diff] [review]
dom.ipc.plugins.flash.disable-protected-mode might no t work when launching flash is immediately

Review of attachment 8547980 [details] [diff] [review]:
-----------------------------------------------------------------

Broken when async init landed. This looks good to me.
Attachment #8547980 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/0a0e57c4e420
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
[Tracking Requested - why for this release]:
Blocks proper functioning of bug 1119941.

This needs to be backported to FF37, then, but FF36 beta should be fine? Can we request aurora for this please?
Blocks: 1119941
Flags: needinfo?(aklotz)
Flags: qe-verify?
QA Contact: mozillamarcia.knous
Flags: qe-verify? → qe-verify+
Comment on attachment 8547980 [details] [diff] [review]
dom.ipc.plugins.flash.disable-protected-mode might no t work when launching flash is immediately

Approval Request Comment
[Feature/regressing bug #]: 998863
[User impact if declined]: Inaccurate measurements for Flash protected mode telemetry experiment
[Describe test coverage new/current, TBPL]: On m-c
[Risks and why]: None; trivial patch
[String/UUID change made/needed]: None
Flags: needinfo?(aklotz)
Attachment #8547980 - Flags: approval-mozilla-aurora?
Comment on attachment 8547980 [details] [diff] [review]
dom.ipc.plugins.flash.disable-protected-mode might no t work when launching flash is immediately

Aurora+
Attachment #8547980 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Although the summary of this bug is a bit confusing (by mentioning Windows 7), it was my understanding that the patch pushed here should fix the behavior from Windows 8 and Windows 8.1.

Unfortunately, my test results from Aurora 37.0a2 (2015-01-18) show that Windows 8 32-bit and Windows 8.1 32-bit are still affected. Here's an overview:

Flash version used: 16.0.0.257.
Test websites used: see this [1], line 22.
Test machine(s) used: 2, one with NVIDIA GeForce 210 and another with AMD Radeon HD 7700.

Windows 8 32-bit
(A) pref = true (default)
 * 2 x "Adobe Flash Player 16.0 r0" processes active
 * 2 x "Plugin Container for FirefoxDeveloperEdition" processes active
(B) pref = false
 * 2 x "Adobe Flash Player 16.0 r0" processes active
 * 2 x "Plugin Container for FirefoxDeveloperEdition" processes active

Windows 8.1 32-bit
(A) pref = true (default)
 * 2 x "Adobe Flash Player 16.0 r0" processes active
 * 1 x "Plugin Container for FirefoxDeveloperEdition" process active
(B) pref = false
 * 2 x "Adobe Flash Player 16.0 r0" processes active
 * 1 x "Plugin Container for FirefoxDeveloperEdition" process active

Makoto, Benjamin - if you need any further information on this matter, please let me know.


[1] https://etherpad.mozilla.org/FlashProtectedMode
Flags: needinfo?(m_kato)
QA Contact: mozillamarcia.knous → andrei.vaida
(In reply to Andrei Vaida, QA [:avaida] from comment #11)
> Although the summary of this bug is a bit confusing (by mentioning Windows
> 7), it was my understanding that the patch pushed here should fix the
> behavior from Windows 8 and Windows 8.1.

It is bug 1121829.
Flags: needinfo?(m_kato)
Depends on: 1123966
No longer depends on: 1123966
Verified fixed on Nightly 38.0a1 (2015-01-25) and Aurora 37.0a2 (2015-01-25) using Windows 7 32 bit with Flash 16.0.0.287.
Status: RESOLVED → VERIFIED
Depends on: 1131345
this ideally should have been included in 36, after a slew of flash protected mode related script hangs and crashes i went to toggle this pref only to find it doesn't work =_=
(In reply to Andrei Vaida, QA [:avaida] from comment #11)
> Although the summary of this bug is a bit confusing (by mentioning Windows
> 7), it was my understanding that the patch pushed here should fix the
> behavior from Windows 8 and Windows 8.1.
> 
> Unfortunately, my test results from Aurora 37.0a2 (2015-01-18) show that
> Windows 8 32-bit and Windows 8.1 32-bit are still affected. Here's an
> overview:
> 
> Flash version used: 16.0.0.257.
> Test websites used: see this [1], line 22.
> Test machine(s) used: 2, one with NVIDIA GeForce 210 and another with AMD
> Radeon HD 7700.
> 
> Windows 8 32-bit
> (A) pref = true (default)
>  * 2 x "Adobe Flash Player 16.0 r0" processes active
>  * 2 x "Plugin Container for FirefoxDeveloperEdition" processes active
> (B) pref = false
>  * 2 x "Adobe Flash Player 16.0 r0" processes active
>  * 2 x "Plugin Container for FirefoxDeveloperEdition" processes active
> 
> Windows 8.1 32-bit
> (A) pref = true (default)
>  * 2 x "Adobe Flash Player 16.0 r0" processes active
>  * 1 x "Plugin Container for FirefoxDeveloperEdition" process active
> (B) pref = false
>  * 2 x "Adobe Flash Player 16.0 r0" processes active
>  * 1 x "Plugin Container for FirefoxDeveloperEdition" process active
> 
> Makoto, Benjamin - if you need any further information on this matter,
> please let me know.
> 
> 
> [1] https://etherpad.mozilla.org/FlashProtectedMode

I am seeing the exact same thing on Windows 7 x64.

does dom.ipc.plugins.flash.disable-protected-mode:true and dom.ipc.plugins.sandbox.flash:true actually do anything now that 37 has gone release?
sorry, not release, I meant beta.
Digging through other bugs, i identified that the setting is overridden by protectedmode=1 existing in the mms.cfg in https://bugzilla.mozilla.org/show_bug.cgi?id=1108035#c5

This should be made obvious.
You need to log in before you can comment on or make changes to this bug.