<div dir="ltr"><div>I have been selectively disabling addons and trying out for a 
couple of days. Then I finally came to no addons and have been running 
my Nightly without any addons since yesterday now. The issue still 
persists, thus I feel that this is not any of the addons' issue.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 25, 2016 at 9:26 PM, Mike Conley <span dir="ltr"><<a href="mailto:mconley@mozilla.com" target="_blank">mconley@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I believe the Add-on Compatibility Reporter will show multi-process<br>
compatibility in about:addons after installed and enabled:<br>
<br>
<a href="https://addons.mozilla.org/en-US/firefox/addon/add-on-compatibility-reporter/" rel="noreferrer" target="_blank">https://addons.mozilla.org/en-<wbr>US/firefox/addon/add-on-<wbr>compatibility-reporter/</a><br>
<span class="gmail-im gmail-HOEnZb"><br>
On 25/11/2016 10:51 AM, Girish Sharma wrote:<br>
> Thanks for the detailed info! I myself have authored some addons, so I<br>
> know about addon code and debugging them. How do I check if the addon<br>
> has explicitly opted out to use this shim or not?<br>
><br>
> Regards<br>
><br>
> On Fri, Nov 25, 2016 at 9:16 PM, Mike Conley <<a href="mailto:mconley@mozilla.com">mconley@mozilla.com</a><br>
</span><div class="gmail-HOEnZb"><div class="gmail-h5">> <mailto:<a href="mailto:mconley@mozilla.com">mconley@mozilla.com</a>>> wrote:<br>
><br>
>     Sorry - didn't mean to sling jargon at you. Happy to clear this up:<br>
><br>
>     Add-ons have traditionally had no problems directly accessing web<br>
>     content "synchronously", which means "right away before doing anything<br>
>     else".<br>
><br>
>     With content split out into its own process, we have the main process<br>
>     and content process acting somewhat independently of one another. They<br>
>     run their own event loops, they do their own garbage and cycle<br>
>     collection, etc.<br>
><br>
>     This means that in order to access web content "synchronously" in the<br>
>     multi-process model, we have to tell the content process to stop<br>
>     whatever it's doing (which can sometimes take some time), respond to our<br>
>     command, and return a result. There's some complexity there that I'm<br>
>     glossing over, but that's essentially the model.<br>
><br>
>     The problem with that is while we're waiting for the content process to<br>
>     stop what it's doing, because we need the answer synchronously ("right<br>
>     away before doing anything else"), that means that the main thread in<br>
>     the parent process is blocked waiting for the reply from the content<br>
>     process. That makes it unresponsive, because it cannot respond to user<br>
>     events when it's blocked.<br>
><br>
>     Built-in Firefox code has been re-engineered over the past few years to<br>
>     not access web content synchronously anymore - but older add-ons still<br>
>     sometimes use the old model. Instead of breaking those add-ons, we<br>
>     created this "shim" layer, which transparently send those synchronous<br>
>     messages to the content process (or to the parent process - it can work<br>
>     both ways).<br>
><br>
>     What this means is that an add-on using the shim layer can work without<br>
>     changing any of it's code, at the cost of performance and<br>
>     responsiveness, because it's doing the Bad Thing: sending synchronous<br>
>     messages to the content process.<br>
><br>
>     Add-ons automatically use the shim layer unless they opt out, so if you<br>
>     have some add-ons in your profile that haven't opted out, they'll be<br>
>     using them - and if they attempt to touch web content a lot (older<br>
>     versions of LastPass, for example, did this), this will really bring<br>
>     browser performance down due to the synchronous messaging.<br>
><br>
>     Anyhow, I hope that answered your question.<br>
><br>
>     -Mike<br>
><br>
>     On 25/11/2016 10:32 AM, Girish Sharma wrote:<br>
>     ><br>
>     > On Fri, Nov 25, 2016 at 8:57 PM, Mike Conley <<a href="mailto:mconley@mozilla.com">mconley@mozilla.com</a> <mailto:<a href="mailto:mconley@mozilla.com">mconley@mozilla.com</a>><br>
</div></div><div class="gmail-HOEnZb"><div class="gmail-h5">>     > <mailto:<a href="mailto:mconley@mozilla.com">mconley@mozilla.com</a> <mailto:<a href="mailto:mconley@mozilla.com">mconley@mozilla.com</a>>>> wrote:<br>
>     ><br>
>     >     shimmed add-on<br>
>     ><br>
>     ><br>
>     > What is a shimmed add-on?<br>
>     ><br>
>     ><br>
>     > --<br>
>     > Girish Sharma<br>
>     > B.Tech(H), Civil Engineering,<br>
>     > Indian Institute of Technology, Kharagpur<br>
><br>
><br>
><br>
><br>
> --<br>
> Girish Sharma<br>
> B.Tech(H), Civil Engineering,<br>
> Indian Institute of Technology, Kharagpur<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><span>Girish Sharma<br>B.Tech(H), </span><span>Civil Engineering</span><span>,</span><div><span>Indian Institute of Technology, Kharagpur</span></div>

</div>
</div></div>