Why does Firefox get into an infinite loop for "mac_plugin_interposing_child_OnShowCursor"?
I get infinite loops in Firefox from certain webpages. I tried Safe-Mode, and couldn't even get to the main site causing an infinite loop in Firefox (Apple Bug Reporter), but could get there in Chrome or Safari. I used Activity Monitor to Get Info for Firefox, and then took a Sample. There were 375 instances of "mac_plugin_interposing_child_OnShowCursor", along with 107 instances of "DumpCompleteHeap". This problem is occurring on three separate Macs running the same or different versions of Firefox. One is 10.5.8 (Leopard) with FF 16.0.1. The other two are Mac 10.6.8 and Mac 10.10.5, each running FF 41.0.2 (latest FF). This infinite loop has also occurred in at a kp.org site where I was trying to view a doctor's profile. I have a 1647 line Sample.Firefox.txt that shows what happened in Safe-Mode attempting to get to Apple Bug Reporter. That file is 217Kb in size, and I'm willing to attach it to an email to Mozilla.
All Replies (20)
I loaded http://kp.org/ with no problem. When does the loop start?
Many site issues can be caused by corrupt cookies or cache.
- Clear the Cache and
- Remove Cookies
Warning ! ! This will log you out of sites you're logged in to.
Type about:preferences<Enter> in the address bar.
- Cookies; Select Privacy. Under History, select Firefox will Use Custom Settings. Press the button on the right side called Show Cookies. Use the search bar to look for the site. Note; There may be more than one entry. Remove All of them.
- Cache; Select Advanced > Network. Across from Cached Web Content, Press Clear Now.
If there is still a problem, Start Firefox in Safe Mode {web link} While you are in safe mode;
Type about:preferences#advanced<Enter> in the address bar.
Under Advanced, Select General. Look for and turn off Use Hardware Acceleration.
Poke around safe web sites. Are there any problems?
Then restart.
Fred, I did everything you said, wth NO success. But let me start with your first question... This "infinite loop" problem doesn't happen with login to a site' it happens when navigating the site to a sub-page, BUT NOT EVERY page. For example, @kp.org, it happens when I try to view the profile of a certain doctor. I suspect there's some javascript on that page that has an effect. I first noticed this problem with Apple Bug Reporter, when I tried to view one of my "problems". I have 10 problems in my list, and so far, trying to access only ONE of them causes the loop. The others display just fine.
Here's what I did: 1) I clear the cache every time I exit from Firefox, so there's no cache when I launch Firefox (fresh start). 2) I removed ALL COOKIES. 3) I tested with Apple Bug Reporter ... same problem, and the only way to stop it is either to Quit Firefox, or close the Tab of the page, at which point I Quit to start fresh. 4) I tried safe-mode (Option key launch), and turned off hardware acceleration. The same test failed the same way.
So I believe I've done everything you suggested. So, Now, Do you want a copy of my Sample taken while the infinite loop was happening, or NOT? ? ? I can attach this 272Kb text file to an email, if I knew where to send it.
Can you provide a link to a bad page?
The web page is outside my area. And so is the information you have. I've called the big guys to help you. Good luck.
I don't think you can use a link without being logged into their system, and clicking on their link. I can tell you this problem occurs on THREE of my Macs, and today I tried one of my friends Windows-7 Home Premium (32-bit) system with Mozilla Firefox 41.0.2, which got updated when he launched it and went to Help->About-Firefox. It also got into an infinite loop. By that I means we waited several minutes, watching the spinning gear, before we opened a new Tab, and then closed the looping Tab.
I still say the Sample taken by Activity Monitor probably contains a clue.
Ti ṣàtúnṣe
Fred, I have some additional information that may help. First, after the page gets loaded, the "x" to stop loading turns into a curved arrow (reload), but the gear just keeps spinning. Second, I managed to get "Page Source" in HTML text format saved as a file. Third, this problem does NOT occur in Safari or Chrome. Fourth, this problem occurs in an old Firefox (16.0 on 10.5.8) as well as any recent version (40 and above, which is all I have archived).
Again, I can upload the Page Source, given someplace to send it.
Is the file text only? And not huge?
Open a text / word program and load the file. Left click once. Now <Control> A to highlight everything, then <Control> C to copy it.
Next have your browser go to; https://pastebin.mozilla.org. Paste <Control> P the content of the file in the window. Note: On the bottom, choose to save the file 30 days.
Now press Save. The page will reload. Copy the new web address, and post it here.
Fred, I posted two (2) files. The first was the Page Source of the Apple Bug Reporter page, but they must be using floating-windows to show sub-pages. The second was the Sample of transactions in Firefox taken by Activity Monitor. I understood your instructions, even though they were aimed at Windows-system. I used "pbcopy <file" and (Cmd)-V (Paste).
Ti ṣàtúnṣe
FredMcD said
Now press Save. The page will reload. Copy the new web address, and post it here.
I hope someone can help you. Good luck.
Darn , I did the Save, don't think I did that last step. But Firefox saved them in History.
https://pastebin.mozilla.org/8850275 https://pastebin.mozilla.org/8850276
Ti ṣàtúnṣe
Fred ,read my edited port. I found the web-addresses:
https://pastebin.mozilla.org/8850275 https://pastebin.mozilla.org/8850276
Good work.
You can check for issues caused by plugins and set plugins to "Ask to Activate" on the "Firefox menu button/Tools > Add-ons > Plugins" page.
- plugins are not affected by Firefox Safe Mode
- https://support.mozilla.org/kb/Troubleshooting+plugins
A search in the Firefox source code comes up with these references:
- http://mxr.mozilla.org/mozilla-release/search?string=mac_plugin_interposing&find=&findi=&filter=^[^\0]*%24&hitlimit=&tree=mozilla-release
Implemented via this bug:
- Bug 621117 - NSCursor class methods, SetThemeCursor() and SetCursor() not working for OOP plugins on mac
Ti ṣàtúnṣe
cor-el, I don't believe this is really a plug-in problem because it is pervasive, meaning it's happening on Windows-7, Mac Leopard, Mac Snow Leopard, and Mac Yosemite, but it is NOT happening on either Safari or Chrome, which share the same plug-ins on the Mac-systems in /Library/Internet Plug-Ins. I suspect a Javascript problem getting into a loop.
cor-el, BTW, I have tried with ALL Plug-ins set to "Ask to Activate", except one which is forced to be Always Active, namely "OpenH264 Video Codec" as required by WebRC. I can visit Apple Bug Reporter, and click on the Problem that causes the infinite loop, and I'm NOT asked to Activate anything. That's why I don't really believe this is a Plug-in problem (unless it's OpenH264).
I think what might be helpful is a screen shot of the infinite loop, so I'm attaching an image. There are several things to notice: 1) the curved-arrow at the right end of the URL line is visible; I.e. NOT an "x". That means the page is finished loading. 2) Part of the display frame on the right is filled in, and the spinning gear is visible, 3) There is a paper-clip indicating there are eight attachments to this bug report. That's true, but on Safari or Chrome, once the page is fully displayed, I can click on that icon and a popup window appears showing only five of those attachments, and there's a scroll bar to see the other three. 4) There is a drop-down visible concerning the Rank, which goes away on Safari or Chrome once the page is fully displayed. In fact, I don't even see that drop-box because the page loads so quickly.
All of this tells me Firefox is stuck in some loop, most likely caused by the page content. If you wish, I can send you a screen shot taken in Safari.
col-el, I don't see where that search of Firefox source code helps me in any way. I'm NOT a Firefox programmer. I'm just a private citizen reporting a problem. To bolster my evidence, I've attached an image of a Safari screen that shows the successful load of the target page. I have a similar image taken in Chrome, but the only difference is the Finder menu bar showing Chrome menus . Uploading that would be a waste of space. I can't think of any way I can be of more help in solving this problem.
I used your source search to look for something else: OnShowCursor The result may be worth investigating. Here it is:
OnShowCursor
Found 11 matching lines in 4 files /dom/plugins/ipc/interpose/plugin_child_interpose.mm (View Hg log or Hg annotations)
line 48 -- BOOL (*OnShowCursorPtr) () = NULL; line 69 -- if (!OnShowCursorPtr) { line 70 -- // mac_plugin_interposing_child_OnShowCursor() is in PluginInterposeOSX.mm line 71 -- OnShowCursorPtr = (BOOL(*)()) line 72 -- dlsym(RTLD_DEFAULT, "mac_plugin_interposing_child_OnShowCursor"); line 74 -- return (OnSetCursorPtr && OnSetThemeCursorPtr && OnHideCursorPtr && OnShowCursorPtr); line 106 -- OnShowCursorPtr();
/dom/plugins/ipc/PluginInterposeOSX.h (View Hg log or Hg annotations)
line 123 -- void OnShowCursor(bool show);
/dom/plugins/ipc/PluginInterposeOSX.mm (View Hg log or Hg annotations)
line 645 -- void OnShowCursor(bool show) line 1155 -- mac_plugin_interposing_child_OnShowCursor()
/dom/plugins/ipc/PluginModuleParent.cpp (View Hg log or Hg annotations)
line 2898 -- mac_plugin_interposing::parent::OnShowCursor(aShow);
Found 11 matching lines in 4 files
This page was automatically generated by MXR.
Ti ṣàtúnṣe
OK, I'm thinking outside-the-box. In my experience as a systems programmer, I've seen instances where a module created for a single purpose got reused to handle another purpose. When that module is called for the new purpose, the module can issue error messages because the new purpose has an error. But the diagnostic indicates the name of the detecting module.
Now consider a module with the word "plug-in" in it's name, which was first designed to deal with a plugin process, but later got reused by a new purpose. An error detected by the "plug-in" module will give the impression it's being caused by a plugin, but in fact, it could be the new purpose causing the problem. That's the line of reasoning I would use to track this problem.
We appear to be dealing with OnShowCursor, which may have nothing to do with a plugin, but could be reused by something like Javascript processing.
You can try to file a bug report on this issue to see if the devs have a clue on what this is about. We are normal users like you and not experts on evaluating crash reports and other OS specific issues.
I posted the reference to the code in case this might give others some thoughts about what you can try. All code reference lead to that is is plugin related and is about showing and hiding the cursor.
I don't know if you have looked at the bug report where this code got added. The commit has this text label:
- http://hg.mozilla.org/mozilla-central/rev/6bf3ffd66eed
- bug 621117 - Support native cursor manipulation from OOP plugins on OS X
Please do not comment in bug reports
https://bugzilla.mozilla.org/page.cgi?id=etiquette.html