X
點擊此處開啟此網站的行動版。

技術支援討論區

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.

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.

額外的系統細節

已安裝的外掛程式

  • 20-20 Technologies - 20-20 3D Viewer for IKEA v5.0.94.0
  • CANON iMAGE GATEWAY MyCamera Download Plugin
  • Simple plug-in that handles Citrix connection files
  • Provides information about the default web browser
  • Facebook Video Calling by Skype
  • The Google Earth Plugin allows you to view 3D imagery and terrain in your web browser.
  • Version 5.38.6.0
  • Displays Java applet content, or a placeholder if Java is not installed.
  • The QuickTime Plugin allows you to view a wide variety of multimedia content in web pages. For more information, visit the QuickTime Web site.
  • Shockwave Flash 19.0 r0
  • 5.1.40728.0
  • Unity Web Player version 4.6.1f1. (c) 2014 Unity Technologies ApS. All rights reserved.
  • WebEx64 General Plugin Container Version 205
  • iPhoto6

應用程式

  • Firefox 41.0.2
  • 使用者代理:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0
  • 技術支援網址:https://support.mozilla.org/1/firefox/41.0.2/Darwin/en-US/

擴充套件

  • Adblock Plus 2.6.11 ({d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d})
  • Firesizer 1.7.1-signed ({04426594-bce6-4705-b811-bcdba2fd9c7b})
  • Go Parent Folder 2.9.1.1-signed (goParentFolder@alice)
  • Places Maintenance 1.3.1-signed (places-maintenance@bonardo.net)
  • Protect My Choices 1.1.5 ({dc501fe1-520b-41f2-9421-ecbb2e7f0255})
  • Saved Password Editor 2.9.3 (savedpasswordeditor@daniel.dawson)
  • Show Parent Folder 2.1.1-signed (showParentFolder@alice)
  • SQLite Manager 0.8.3.1-signed (SQLiteManager@mrinalkant.blogspot.com)
  • The Addon Bar (restored) 3.2.1-signed (the-addon-bar@GeekInTraining-GiT)
  • Yahoo! Mail Notifier 1.0.7.4.1-signed ({89f8dde0-010a-11da-8cd6-0800200c9a66})
  • Flash Video Downloader - YouTube HD Download [4K] 8.1.1 (artur.dubovoy@gmail.com) (Inactive)

JavaScript

  • incrementalGCEnabled: True

圖形

  • adapterDescription:
  • adapterDeviceID: 0x0166
  • adapterDrivers:
  • adapterRAM:
  • adapterVendorID: 0x8086
  • driverDate:
  • driverVersion:
  • info: {u'AzureCanvasBackend': u'skia', u'AzureFallbackCanvasBackend': u'none', u'AzureContentBackend': u'quartz', u'AzureSkiaAccelerated': 0}
  • numAcceleratedWindows: 1
  • numTotalWindows: 1
  • supportsHardwareH264: False
  • webglRenderer: Intel Inc. -- Intel HD Graphics 4000 OpenGL Engine
  • windowLayerManagerRemote: True
  • windowLayerManagerType: OpenGL

修改過的偏好設定

其他

  • User JS: 否
  • 輔助功能: 否
FredMcD
  • Top 10 Contributor
4255 個解決方法 59584 個答案

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.

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<br> '''''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, '''[https://support.mozilla.org/en-US/kb/troubleshoot-firefox-issues-using-safe-mode 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.

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.
FredMcD
  • Top 10 Contributor
4255 個解決方法 59584 個答案

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.

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.

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.

由 DICKGUERTIN 於 修改

提出問題者

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.

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.
FredMcD
  • Top 10 Contributor
4255 個解決方法 59584 個答案

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.

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).

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 &lt;file" and (Cmd)-V (Paste).

由 DICKGUERTIN 於 修改

FredMcD
  • Top 10 Contributor
4255 個解決方法 59584 個答案

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.

''FredMcD [[#answer-797360|said]]'' <blockquote> Now press '''Save.''' The page will reload. Copy the new web address, and post it here. </blockquote> 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

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

由 DICKGUERTIN 於 修改

提出問題者

Fred ,read my edited port. I found the web-addresses:

https://pastebin.mozilla.org/8850275 https://pastebin.mozilla.org/8850276

Fred ,read my edited port. I found the web-addresses: https://pastebin.mozilla.org/8850275 https://pastebin.mozilla.org/8850276
FredMcD
  • Top 10 Contributor
4255 個解決方法 59584 個答案

Good work.

Good work.
cor-el
  • Top 10 Contributor
  • Moderator
17526 個解決方法 158458 個答案

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.

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
cor-el
  • Top 10 Contributor
  • Moderator
17526 個解決方法 158458 個答案

A search in the Firefox source code comes up with these references:

Implemented via this bug:

  • Bug 621117 - NSCursor class methods, SetThemeCursor() and SetCursor() not working for OOP plugins on mac
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

由 cor-el 於 修改

提出問題者

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, 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).

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.

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.

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.

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.

由 DICKGUERTIN 於 修改

提出問題者

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.

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.
cor-el
  • Top 10 Contributor
  • Moderator
17526 個解決方法 158458 個答案

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:

Please do not comment in bug reports
https://bugzilla.mozilla.org/page.cgi?id=etiquette.html

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 *[https://bugzilla.mozilla.org/show_bug.cgi?id=621117 bug 621117] - Support native cursor manipulation from OOP plugins on OS X <i>Please do not comment in bug reports<br>https://bugzilla.mozilla.org/page.cgi?id=etiquette.html</i>