13

Last night a new Java 7 update has been released: 7u65. I have a web application where a service applet is loaded, and after the update, my tests on different PCs did not show issues nor wrong behaviors.

Later, I started to receive issue reports related to my product's Java service applet. All the reports came from users who updated Java JRE to 7u65 (from 7u60):

  • The applet was not loading at all. I display a "Loading" screen when the application starts, and this was not being displayed. Also, all the services provided by my Java applet were unavailable.
  • After changing the Java Control Panel's advanced configuration to always show the console (in one of the PCs where this issue happened), I discovered that the applet was not even launching the Java console.
  • Using the same station where the error happens, trying to access java.com to check the current java version, the Java applet is loaded and the console is displayed without errors.

All tests were performed after clearing Browser and Java Cache, and even after removing the installed certificates (mine is a valid signed applet).

I checked the Java 7u65 release notes and none of the mentioned changes seem to affect my applet. Also, there were no issues while using Java 7u60.

I don't have any clues about what is going on, perhaps because the java update was released hours ago. As the Java console can not be displayed even if I configure Java Control Panel to do so, I can not tell if there is any exception. I can not reproduce the issue in my PCs (Windows 8, nor Windows 7, both at 64 bits), but the issue has been reported on Windows 7 PCs.

One of my friends told me that this seems to be happening on machines where Java 7u60 was in use, and then it was updated to Java 7u65 with no deinstallations. Also, this tends to happen in older OS (ie: WinXP) which is more natural.

I write this question because it seems very odd that some PCs have this issue, and some others not. I'd like to know if any one else is having this issue, knows what could be the reason, or has discovered/applied any solution to it. Also, I'd like to share the solution if I ever happen to find it.

Thanks.


Edit:

External references, related to the same Java version (JRE).

Costlow
  • 575
  • 3
  • 9
David
  • 1,282
  • 3
  • 18
  • 40
  • If you want to reproduce this, I suggest that you start with a fresh OS image, install Java 7u60, then update to Java 7u65. – Stephen C Jul 16 '14 at 23:43
  • What is your question? – Code-Apprentice Jul 16 '14 at 23:45
  • "I'd like to know if any one else is having this issue, knows what could be the reason, or has discovered/applied any solution to it. Also, I'd like to share the solution if I ever happen to find it." -- The OP – Mike Koch Jul 17 '14 at 00:17
  • @MikeK - Well yes, but at this point the issue is "it breaks for some of my users". David needs to characterize the problem better, and that probably means he has to be able to reproduce it for himself. – Stephen C Jul 17 '14 at 01:05
  • Hi. Thanks for your interest in this question. I was able to reproduce the issue, using a Windows 7 (32 bits) system. If I install JRE 7u65 32bits, the applet will not load (the VM itself will die). If I install JRE 7u60, or JRE 8u11, the applet will start normally. I'm still not sure why in my PCs even having JRE 7u65, my applet works, though. Perhaps because my PCs are 64bit machines... – David Jul 17 '14 at 06:44
  • JRE 7u67 has been released today, to fix the "java_arguments" param removal. See https://blogs.oracle.com/java-platform-group/entry/java_7_update_67_patch for more info. – David Aug 05 '14 at 16:59

7 Answers7

8

I just ran into this exact problem with one of my applets.

It looks like some changes were made to the handling of the 'java-vm-args' and 'java_arguments' params in 7u65.

'java_arguments' seems to no longer work, when it is specified, my applet will silently fail without even launching the JVM.

Trav
  • 96
  • 4
  • 1
    Thank you. This solution worked for me too. I use the "deployJava.js" library to launch my applets, so in my case I had to check if the current JRE version is exactly "1.7.0_65", use "java-vm-args" parameter; Any other JRE version would use "java_arguments". – David Jul 17 '14 at 06:49
  • 2
    Looks like someone also reported it here: https://bugs.openjdk.java.net/browse/JDK-8050875 – Trav Jul 17 '14 at 21:49
  • 2
    From what I can gather, jvm-vm-args are only used in Web Start applications so I don't think this works (at least not for me) on HTML loaded applets. Users using the HTML applet load should take a look below which seems to be the real cause of the issue. (The workaround of adding back in the missing line also worked for me). – kikixx Jul 18 '14 at 10:55
  • 2
    We have run into this problem and found that removing `java_arguments` is the only way we can resolve the problem. This has been reported to oracle as [bug #8050875](http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8050875) – Joel Carranza Jul 28 '14 at 17:05
7

I have had the same problem.

I delete C:\Users\${USER}\AppData\LocalLow\Sun

When i reloaded the web page containg the appelets. The JRE recreated this folder again.

And evrything was OK.

There is no big difference between the folders contents .. but it worked.

It seems to be a bug in the jRE

Mourad Zouabi
  • 2,187
  • 2
  • 15
  • 20
  • 1
    Your trick works in my case. Yes, this bug is caused by a missing null check, it will be fixed in the next update: https://bugs.openjdk.java.net/browse/JDK-8050875 – gouessej Jul 24 '14 at 10:40
7

It seems that oracle has changed something with processing default plugin java arguments, that caused problem in new java.

When upgrading from older version of java it is possible that value for deployment.javaws.jre.0.args (or deployment.javaws.jre.1.args) is not defined in C:\Users\${USER}\AppData\LocalLow\Sun\Java\Deployment\deployment.properties

If you add

deployment.javaws.jre.0.args=

to deployment.properties, applet will work.

It can be done through Java Control panel also:

Java -> View -> double click on Runtime Parameters cell for java 7u65 to enter edit mode -> OK -> Apply

java-jvm-args solution didn't work for me, applet was launched but arguments were ignored.

2

Oracle has released an update that resolves this specific issue via version 7u67

http://www.oracle.com/technetwork/java/javase/7u67-relnotes-2251330.html

Doug
  • 89
  • 4
1

As Miloš Ratković wrote, if customer hasn't string in deployment.properties

deployment.javaws.jre.X.args=

where x is number of java installation for version 7_65 (number of java installation for particular version is X in string deployment.javaws.jre.X.product=1.7.0_65), Java applet failed to start.

For my case I have a solution - don't pass any arguments for my applet. In my javascript code for starting applet I'm just comment

<param name="java_arguments" value="some arguments">

string

Also, if you delete the directory C:\Users\${USER}\AppData\LocalLow\Sun, during next startup of java applet java write new deployment.properties with correct java args string

RookieA
  • 11
  • 2
1
  1. Uninstall java 7 update 65 and reinstall java 7 update 55 Download the windows x86 offline version
  2. Go to Java control panel and uncheck: automatic update
  3. When the next window comes up, click on "do not check"
  4. then click on "apply" and "ok"
  5. close all browsers and reopen them to continue your work

This has worked for me every time so far and I have been doing this for the last two weeks now with "0" issues.

Erowlin
  • 9,555
  • 4
  • 35
  • 63
-4

Sorry, this is not the answer. I was trying to verify the feedback about JRE 7u65 not able to accept "java_arguments"; however, I setup a Windows x32 and installed (new) 7u65 without upgrade from any older version. With the "java_arguments", the machine is able to load the applet in IE8 and FF30, when few specific PCs do fail the same applet with upgraded u65.