IE8 + Java 6u29 = applet crashes the whole browser

1,335 views
Skip to first unread message

nouknouk

unread,
Oct 31, 2011, 9:35:53 AM10/31/11
to pulp...@googlegroups.com
Hi,

almost everything is in the title: Since a few days (weeks ?), I got regular feedback for my visitors about the impossibility to run my online game bouncebox (http://www.bouncebox.fr/jouer/).

I got enough feedback from several users to isolate what could be the environment to reproduce the issue: It seems only users having Internet Explorer 8 and the latest version of the Java plugin (6u29) face the crash. The Windows version (XP, Vista, Seven) seems not to be a key factor.

I can reproduce the issue in a Windows XP installed in a VirtualBox, with Service Pack 3 + Internet Explorer 8 installed + JRE 1_6_0u29 installed.

To be more precise, when the page containing the applet is loaded, the animated gif is shown for a few seconds, then a white space with an error message is displayed instead of the applet itself (1). If the user tries to click the error label (as advised in french: "click here for more informations"), the browser completely freezes and killing the iexplore.exe is the only way to go on.

In the Java plugin console, the following error is displayed:

java.lang.ClassNotFoundException: pulpcore.platform.applet.CoreApplet.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Exception : java.lang.ClassNotFoundException: pulpcore.platform.applet.CoreApplet.class

Note: I have tried to enable the compatibility mode of internet explorer 8 by adding the HTML <head> of my page one of the 3 following lines, but the issue is still there:
<meta http-equiv="X-UA-Compatible" content="IE=5">
<meta http-equiv="X-UA-Compatible" content="IE=7">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">


Last but not least: the visitors of my site can solve the issue by (desinstalling 6u29 then ?) installing 6_27 version of the Java plugin.

So, if anyone has got an idea to make pulpcore applets work with IE8+6u29, i would be really great, because IE8 is the latest IE version available on WinXP and Java 6u29 is the version provided by default, so many, many visitors are impacted with this crash.

Regards,

Nouknouk.


(1) screenshot: http://imageshack.us/photo/my-images/820/ie8java6u29pulpcorecras.png/

David Brackeen

unread,
Oct 31, 2011, 10:29:38 AM10/31/11
to pulp...@googlegroups.com
Since you've got the error produceable on your VirtualBox, would you be interested in fiddling with pulpcore.js to attempt to solve the problem? It's probably an issue with the JavaScript.

--
You received this message because you are subscribed to the Google Groups "PulpCore" group.
To view this discussion on the web visit https://groups.google.com/d/msg/pulpcore/-/bQHtwANCvJkJ.
To post to this group, send email to pulp...@googlegroups.com.
To unsubscribe from this group, send email to pulpcore+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/pulpcore?hl=en.

Nouknouk

unread,
Oct 31, 2011, 10:34:32 AM10/31/11
to pulp...@googlegroups.com
Yep, at all.

I'll first check the pulpcore library version I'm using for my pulpcore applet and test if the problem is reproduced in my virtualbox with other applets like Milpa.

Anyway, what are your advices for finding the origin of the problem in pulpcore.js ?

Regards,

Nouknouk.

David Brackeen

unread,
Oct 31, 2011, 10:49:10 AM10/31/11
to pulp...@googlegroups.com
First make a place in the code specifically for IE8 and Java 6u29+. (you'll find other browser-specific code in there)
Then try the applet tag instead of object tag, or something along those lines.

Nouknouk

unread,
Oct 31, 2011, 1:13:12 PM10/31/11
to pulp...@googlegroups.com
Weird: the issue isn't reproducted for your milpa game.
I'll check if my pulpcore library version is the latest one available.

By the way, did you fixed things related to pulpcore.js in recent versions ?

Regards,

Nouknouk.

Nouknouk

unread,
Oct 31, 2011, 2:06:12 PM10/31/11
to pulp...@googlegroups.com
Re,

even more weird:

I decided to process from 'almost scratch' and test things step by step by starting with a demo which is working even in my crashing environment : the 'Images' demo located on interactivepulp.com (http://www.interactivepulp.com/pulpcore/images/).

I did a clone of this one and published it on my server at (http://www.bouncebox.fr/test/ you can test it). Namely I copied 5 files from interactivePulp website: index.html, splash.gif, pulpcore.js, Images.jar, Images.zip (5 times wget command on my linux server to gather files)

Published on my website, the demo launches well in my 'normal environment' (Ubuntu + FF + Java 1.6.0u26). But it also crashes in my virtualBox + IE8 + 1.6.0u29, although:
- this is an exact clone of the working interactivepulp demo
- all paths expressed in "index.html" (Image.jar, Image.zip, ...) are relative (so it's not about a cross domain issue)




Nouknouk.




On 10/31/2011 03:49 PM, David Brackeen wrote:

nouknouk

unread,
Nov 1, 2011, 8:58:17 AM11/1/11
to pulp...@googlegroups.com
Hi,

I'm still trying to understand the reason of this strange behavior. Some news:

I suspected the URL rewrite engine (enabled on the bouncebox.fr website taken as example in my previous mail) to be one of possible cause. But the issue remain the same even if I try to launch the 'Images' applet on another domain hosted by my webserver, which has no URL rewriting.

Cheers.

Nouknouk.

Nouknouk

unread,
Nov 1, 2011, 9:21:42 AM11/1/11
to pulp...@googlegroups.com
Hey, maybe I've got a beginning of answer: I tried to enable/disable
several things in the Java configuration panel and it seems that
unchecking the 'activate the next generation of java plugin" is the one
that make my applet again usable.

Following steps under windows XP:
- open the windows control panel
- double click on the java icon
- click on the 'advanced' tab
- expand 'java pugin' entry
- uncheck the entry "activate the new generation of the java plugin"
(which was checked by default in my case).
- close all your browser's windows (reboot your computer to be sure) and
test again your applet.

A screenshot is available here:
http://imageshack.us/photo/my-images/89/screenshotoqr.png/

And here are some google links I found about 'next generation java plugin'.
- http://java.com/en/download/help/new_plugin.xml
- http://www.oracle.com/technetwork/java/javase/plugin2-142482.html

I'll have to dig into it, but it seems at least there's a paragraph
about new parameters for the <applet>, <object> and <embed> tags.


Nouknouk.

> --
> You received this message because you are subscribed to the Google
> Groups "PulpCore" group.
> To view this discussion on the web visit

> https://groups.google.com/d/msg/pulpcore/-/-BrOyCyGGk0J.

nouknouk

unread,
Nov 1, 2011, 10:01:33 AM11/1/11
to pulp...@googlegroups.com
Still talking alone, but I've got some (more) interresting news: In "pulpcore.js" I replaced the clsid of the object tag written for IE cases, by the other one for java applets. And so it solves the issue in both cases (my test 'Images example clone' and my real game applet on bouncebox.fr/jouer ) in my crashing environment.


                'object classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" ' +

... has been replaced by ...

                  'object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ' +

NOTE: Be careful, it is the clsid entry on line 545 in the file found at (interactivpulp.com/pulpcore/imges/pulpcore.js). In pulpcore.js, there is another 'clsid' entry at line 409, but it is already set to the value "8AD9[...]".


My main concern now ot to understand what could be the side effectsof such change for other browsers/OS/versions.
David, as you're the initial author of the pulpcore.js file, and as I saw you were already aware about clsid stuff (as several clsid are already managed in official pulpcore.js) could you take a look into it and give some hints ?

Thanks in advance.

Regards,

Nouknouk.

David Brackeen

unread,
Nov 1, 2011, 12:04:08 PM11/1/11
to pulp...@googlegroups.com
The object with the classid CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA is for the deployment toolkit, which detects if plugin2 is available. So by changing it to something else, the script thinks the Java plugin2 isn't available and acts accordingly. So it has the same effect as turning off Java plugin2.

Can you try changing anything in the conditional 
if (PulpCore.JRE.isPlugin2()) {
...
}

To see if that has an effect? 

--
You received this message because you are subscribed to the Google Groups "PulpCore" group.
To view this discussion on the web visit https://groups.google.com/d/msg/pulpcore/-/Ih0rcIboi9cJ.

Nouknouk

unread,
Nov 1, 2011, 12:28:50 PM11/1/11
to pulp...@googlegroups.com
Ok,

I did some tests in the meanwhile, as a user of my game told me the issue was reproducible not only in IE, but also in Firefox and Chrome.
I did the test on my 'crashing virtualbox' and he's right: the same error (the empty frame with the red error ison on top left) arises for both FireFox and Chrome. The only difference with the IE error is it doesn't crash the browser when I click on the error label.

To be precise, here's my 'crashing configuration' now:
- Windows XP SP3 with most of security update until september 5th, 2011, embedded in a VirtualBox. (*)
- provided Internet Explorer version is 8.0.6001.18702IS
- I installed Java 6u29 package from the Oracle website: http://www.java.com/fr/download/
- I installed current latest firefox version (7.0.1)
- I installed current latest Chrome version (15.0.874.106 m)

A few tests later, here's what I found:
- The clsid hack solve the issue only for IE (Devid, you explain probably why in your last mail: plugin2 is disabled).
- Disabling the "new generation of Java plugin" (aka plugin2) in java control panel make my applets *STILL NOT* run in Chrome (afaik because Chrome only allows plugin2).
- Disabling the "new generation of Java plugin" (aka plugin2) in java control panel make my applts *WORK* run in FireFox.

Something else interresting: after disabling the use of plugin2, Chrome doesn't run the applet. BUT, if I first visit the webpage with FireFox, the applet is put in Java cache, THEN Chrome is able to run the applet. If java cache is cleared chrome isn't able anymore to launch again the applet.

So it looks like the issue come from the way applet's jar is downloaded by the system. Note I already tried to customize the "class_loader" param value (default is true) but it's even worst as it also completely freezes even my Firefox browser under Ubuntu.

Regards,

Nouknouk.



(*) The windows ISO I'm using comes from binary newsgroup ; For those how care, you can generate a 'nzb' file here for downloading: http://www.binsearch.info/?q=%09Windows+Xp+Pro+Fr+SP3+Genuine+%28MAJ+du+5+Sept.+2011%29&max=100&adv_age=1100&server= (and yes, I think too it's not perfectly legal, but I think if you own already a windows xp pro licence not used elsewhere, as I am, It's not a so bad behavior).

Nouknouk

unread,
Nov 1, 2011, 9:14:20 PM11/1/11
to pulp...@googlegroups.com
I finally got it: the responsible for the crash is the java argument option "jnlp.packEnabled=true"
In file "pulpcore.js" (of latest mercurial clone), line 107:
    javaArguments: "-Dsun.awt.noerasebackground=true -Djnlp.packEnabled=true",
is replaced by:
    javaArguments: "-Dsun.awt.noerasebackground=true",

... and everything seems to be solved for all browsers, and without any change on client side (so with plugin2 still enabled, as done by default).


Regards,

Nouknouk.

David Brackeen

unread,
Nov 2, 2011, 12:04:14 AM11/2/11
to pulp...@googlegroups.com
Ah.
Yes I guess this makes sense. Previous versions of the plugin must have looked for "Images.jar" if "Images.jar.pack.gz" was missing, but apparently this isn't the case in 6u29.

So if you include "MyApp.jar.pack.gz" on your server, this would be an alternate way to fix the problem.

Nouknouk

unread,
Nov 2, 2011, 5:28:34 AM11/2/11
to pulp...@googlegroups.com
On 11/02/2011 05:04 AM, David Brackeen wrote:
Ah.
Yes I guess this makes sense. Previous versions of the plugin must have looked for "Images.jar" if "Images.jar.pack.gz" was missing, but apparently this isn't the case in 6u29.

So if you include "MyApp.jar.pack.gz" on your server, this would be an alternate way to fix the problem.


Yes, I did the test with the 'images' demo applet and it looks it's working. Also, I it's directly related to 6u29's release as the feedback of the issue from my visitors began when 6u29 has been released (20th october). And it's obviously the same behavior in Java 7 version.

Don't you think it should be something better handled in the pulpcore framework ? I mean:

- finding a way in pulpcore.js to check if pack200 version of the jar is present on the server (HttpRequest ?). And if it's not, make the script gracefully fallback to 'non pack200 version' by disabling jnlp.packEnabled option.
- or putting an explicit option (disabled by default) in build properties to enable use of pack200, with the right pulpcore.js file generated accordingly.
- or detecting at build time if pack200 is really generated and customize the generated pulpcore.js file accordingly.
- or any other solution I didn't tought about.

Regards,

Nouknouk.

anthony

unread,
Nov 24, 2011, 10:18:32 AM11/24/11
to PulpCore
I have come across this discussion after searching for a solution to
similar behaviour to this on a few different other non-related applets
with 1.6.0_29.

Not sure if it might be the same problem, but with other applets, it
seems like pack200 (.jar.pack.gz) files result in leaving the java
cache on the machine in a horrible state. I.e. try opening up Control
Panel->Java and viewing the cached "Resources" - if your experience is
like mine, then this GUI has all sorts of trouble displaying anything.
I suspect that the caching of .jar.pack.gz files is just plain broken
in 1.6.0_29. Following symptoms support this theory:

1) Clear out your java cache and restart browser and then things all
work nicely for the first run that involve .pack.jar.gz.
2) Aforementioned fact that even the Java Control Panel application
can't function properly with .pack.jar.gz files in it. Works fine if
you only have plain jar files.
3) Turning off the next generation plugin works - since it does not
support pack.gz and reverts back to plain jars
4) The same applets/pack 200 jars work fine on other versions of java
(even java 7).

Anyhow, thought I might add my findings to this issue in case it
helps.

So far I have come across a few similar posts on unrelated applets,
but am yet to find anything in the java bug database.

> >>    http://www.binsearch.info/?q=%09Windows+Xp+Pro+Fr+SP3+Genuine+%28MAJ+...
> >>     <http://www.binsearch.info/?q=%09Windows+Xp+Pro+Fr+SP3+Genuine+%28MAJ+...>


> >>     (and yes, I think too it's not perfectly legal, but I think if
> >>     you own already a windows xp pro licence not used elsewhere, as I
> >>     am, It's not a so bad behavior).
>
> >>     On 11/01/2011 05:04 PM, David Brackeen wrote:
> >>>     The object with the classid CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA
> >>>     is for the deployment toolkit, which detects if plugin2 is
> >>>     available. So by changing it to something else, the script
> >>>     thinks the Java plugin2 isn't available and acts accordingly. So
> >>>     it has the same effect as turning off Java plugin2.
>
> >>>     Can you try changing anything in the conditional
> >>>     if (PulpCore.JRE.isPlugin2()) {
> >>>     ...
> >>>     }
>
> >>>     To see if that has an effect?
>

> >>>     On Tue, Nov 1, 2011 at 7:01 AM, nouknouk <noukn...@gmail.com


> >>>     <mailto:noukn...@gmail.com>> wrote:
>
> >>>         Still talking alone, but I've got some (more) interresting
> >>>         news: In "pulpcore.js" I replaced the clsid of the object
> >>>         tag written for IE cases, by the other one for java applets.
> >>>         And so it solves the issue in both cases (my test 'Images
> >>>         example clone' and my real game applet on bouncebox.fr/jouer

> >>>         <http://bouncebox.fr/jouer> ) in my crashing environment.


>
> >>>                         'object
> >>>         classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" ' +
>
> >>>         ... has been replaced by ...
>
> >>>                           'object
> >>>         classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ' +
>
> >>>         NOTE: Be careful, it is the clsid entry on line 545 in the
> >>>         file found at (interactivpulp.com/pulpcore/imges/pulpcore.js

> >>>         <http://interactivpulp.com/pulpcore/imges/pulpcore.js>). In


> >>>         pulpcore.js, there is another 'clsid' entry at line 409, but
> >>>         it is already set to the value "8AD9[...]".
>
> >>>         My main concern now ot to understand what could be the side
> >>>         effectsof such change for other browsers/OS/versions.
> >>>         David, as you're the initial author of the pulpcore.js file,
> >>>         and as I saw you were already aware about clsid stuff (as
> >>>         several clsid are already managed in official pulpcore.js)
> >>>         could you take a look into it and give some hints ?
>
> >>>         Thanks in advance.
>
> >>>         Regards,
>
> >>>         Nouknouk.
>
> >>>         --
> >>>         You received this message because you are subscribed to the
> >>>         Google Groups "PulpCore" group.
> >>>         To view this discussion on the web visit
> >>>        https://groups.google.com/d/msg/pulpcore/-/Ih0rcIboi9cJ.
>
> >>>         To post to this group, send email to

> >>>         pulp...@googlegroups.com <mailto:pulp...@googlegroups.com>.


> >>>         To unsubscribe from this group, send email to
> >>>         pulpcore+u...@googlegroups.com

> >>>         <mailto:pulpcore%2Bunsu...@googlegroups.com>.


> >>>         For more options, visit this group at
> >>>        http://groups.google.com/group/pulpcore?hl=en.
>
> >>>     --
> >>>     You received this message because you are subscribed to the
> >>>     Google Groups "PulpCore" group.
> >>>     To post to this group, send email to pulp...@googlegroups.com

> >>>     <mailto:pulp...@googlegroups.com>.


> >>>     To unsubscribe from this group, send email to
> >>>     pulpcore+u...@googlegroups.com

> >>>     <mailto:pulpcore+u...@googlegroups.com>.


> >>>     For more options, visit this group at
> >>>    http://groups.google.com/group/pulpcore?hl=en.
>
> >     --
> >     You received this message because you are subscribed to the Google
> >     Groups "PulpCore" group.
> >     To post to this group, send email to pulp...@googlegroups.com

> >     <mailto:pulp...@googlegroups.com>.


> >     To unsubscribe from this group, send email to
> >     pulpcore+u...@googlegroups.com

> >     <mailto:pulpcore%2Bunsu...@googlegroups.com>.

Reply all
Reply to author
Forward
0 new messages