Closed Bug 1224549 Opened 9 years ago Closed 9 years ago

hang in Java plugin (npjp2.dll) with Firefox 42

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Windows NT
defect
Not set
critical

Tracking

(firefox42- affected, firefox43- wontfix)

RESOLVED WONTFIX
Tracking Status
firefox42 - affected
firefox43 - wontfix

People

(Reporter: aryx, Unassigned)

Details

(Keywords: crash, qawanted)

Crash Data

This bug was filed from the Socorro interface and is 
report bp-573c4602-eccf-4af5-8d3a-96ee82151113.
=============================================================

Spin-off of bug 1221448 comment 50. 530 reports in the last 7 days, all on Windows 7.

Top op crashing thread:
ntdll.dll@0x1f911
kernel32.dll@0x11193
kernel32.dll@0x11147
npjp2.dll@0xb968
Oracle is aware of this and is investigating.
This only happens when the plugin is run via plugin-container. Setting dom.ipc.plugins.enabled=false works around the issue, but this setting affects ALL plugins. The Java specific config options seems to have disappeared.
Component: Java (Oracle) → Plug-ins
Product: Plugins → Core
David, It appears that disabling the plugin (dom.ipc.plugins) helps only when the version of Java is the latest (8u66b18). For cases where the user has the previous version, 8u66, this workaround does not work.
(In reply to Bina from comment #3)
> David, It appears that disabling the plugin (dom.ipc.plugins) helps only
> when the version of Java is the latest (8u66b18). For cases where the user
> has the previous version, 8u66, this workaround does not work.

Right, 8u66 b17 and earlier crash due to a threading issue on applet destruction so we released b18, unfortunately at the same time Firefox 42 pushed the Java plugin out of process to prevent it from crashing the browser which has this side effect.

I didn't realize earlier that you can manually add config settings in about:config (right click, select "New->Boolean"), so adding dom.ipc.plugins.java.enabled=false works without bringing all plugins into the 
browser process.
Thank you.
It seems that the plugin doesn't crash if we use Java 8u66b18 and dom.ipc.plugins.java.enabled=false.
But this way isn't usable for our clients. Unfortunatelly they are not computer or technical specialistes and it's difficult for them to use additional settings.
Will this problem be resolved without adding dom.ipc.plugins.java.enabled=false? May be in new version of Java?
Crash Signature: [@ hang | ntdll.dll@0x1f911] → [@ hang | ntdll.dll@0x1f911] [@ hang | WaitForSingleObjectEx | WaitForSingleObject | npjp2.dll@0xb968]
Crash Signature: [@ hang | ntdll.dll@0x1f911] [@ hang | WaitForSingleObjectEx | WaitForSingleObject | npjp2.dll@0xb968] → [@ hang | ntdll.dll@0x1f911] [@ hang | WaitForSingleObjectEx | WaitForSingleObject | npjp2.dll@0xb968] [@ hang | WaitForSingleObjectEx | WaitForSingleObject | npjp2.dll@0xb950 ]
Summary: crash in hang | ntdll.dll@0x1f911 → hang in Java plugin (npjp2.dll) with Firefox 42
Just adding that we're having this issue on all our computers, and it happens every single time regardless of the Web site or Java applet used.  We're a college that has an entrance exam that uses a Java plugin at the end of the test to submit the score to our local system.

Unfortunately, because of policy, we can't automatically submit crash reports, but I have manually submitted a few myself.  As many entrance exams as we give, the amount of crash reports received by Mozilla would be considerably higher if we were able to automatically submit them.

Is there any timeline for resolution of this issue (from Mozilla, Oracle, or whoever is responsible)?
[Tracking Requested - why for this release]:
This has made our plugin hang rate in 42 be ~25% higher than it was in previous releases, so I'm requesting tracking. It's not clear if this is our or Oracle's bug in the end, but changes in Firefox 42 compared to 41 have been triggering this issue.
Jason [jason@loosus.com], we were experiencing the same problem so I opened an SR with Oracle (https://support.oracle.com) in order to follow up about the Java bug that is causing this issue. I would suggest you do the same so Oracle has an open item on their end. You could reference this Mozilla bug and if you'd like, reference my SR with Oracle (SR 3-11742124691). If you would, once you have opened the SR with Oracle, you could provide me with your SR # and I could reference it in mine. This way the issues are linked for Oracle and our efforts to drive Oracle to fix the bug are combined.
The proximate cause of this hang/crash is moving Java out of process in bug 874167. This was an intentional change with the knowledge that it would cause some kinds of Java content to fail.

In the next release (Firefox 43), we are removing support for in-process plugins altogether as a security mechanism and to prepare for multi-process content which requires multi-process plugins: bug 1194780

The ultimate cause of this is a longstanding problem with When Java shows a modal dialog, including various certificate dialogs. While showing the modal dialog the plugin doesn't pump the browser event loop, which means that the browser UI doesn't paint and eventually triggers the Windows "stopped responding" behavior. To prevent this, we automatically trigger a plugin crash after 45 seconds of hanging.

I do not intend to fix this problem within Firefox. This is an architectural problem with the Java plugin and its event loop.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
Thanks for letting us know.

We will temporarily use an old version for now and then migrate our campus from Firefox as a long-term solution. 

You guys should really publicize this bug so that more institutions know that Firefox is no longer a viable browser. It would save IT staff the headache of trying to salvage it when it won't be fixed.
One more thought: this doesn't affect certain Java applets. It affects all applets that we have tried -- even Oracle's simple applet that verifies your Java version at java.com/verify

Why not just remove all Java support instead of pretending to support it? When a user attempts to use Java, display a message letting IT staff know that you no longer support Java so they can more quickly migrate from Firefox to solutions that are not riddled with bugs.
It is not expected that most normal Java applets would hang/crash. Assuming you have Java 8u66 (build 18 or later).

Jason, can you provide a couple of crash report links from about:crashes ?
Ryan, could the QA team help with exploratory testing on the latest version of Java on various Windows systems?
Flags: needinfo?(ryanvm)
Keywords: qawanted
Flags: needinfo?(ryanvm) → needinfo?(rares.bologa)
It's still possible to reproduce the problem (jre 1.8.0_66b18):
1. Visit this page: https://www.java.com/en/download/installed.jsp
2. Click Agree and Continue button
3. In another tab, visit the same page again: https://www.java.com/en/download/installed.jsp
4. Click Agree and Continue button, java plugin hangs.

I know the only solution: setting dom.ipc.plugins.java.enabled = false.
Flags: needinfo?(rares.bologa) → needinfo?(paul.oiegas)
Hi guys, sorry for the delay

I have performed tests today with Firefox latest release 42.0 (Build ID:20151029151421) using Vlastimil above mentioned steps on the next OSes (with "dom.ipc.plugins.java.enabled" set to true):

- Windows XP (x64) - could not install the latest Java update since is not supported on such an old OS.
- Windows Vista (x32) - no hang or crash with latest Java update (8.0.660.18)
- Windows 7 (x64) - no hang or crash with latest Java update (8.0.660.18)
- Windows 8 (x32)  - no hang or crash with latest Java update (8.0.660.18)
- Windows 8.1 (x64)  - no hang or crash with latest Java update (8.0.660.18)
- Windows 10 (x64) - no hang or crash with latest Java update (8.0.660.18)

I also tried on the same OSes with the link provided in bug 1221448 comment 64 (http://java.com/en/download/installed8.jsp). The page correctly loads and when I click the "Verify Java version" button, the check is made very fast and "Congratulations! You have the recommended Java installed (Version 8 Update 66)" message is displayed. Even if I open the link multiple times and verify the version, the result is the same each time.

Are there any other available steps which I can use to test this ? 

Thanks,
Paul.
Flags: needinfo?(paul.oiegas)
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.