Applet Notinited sometimes

We've been using the JUpload .88 applet for a while now (www.jupload.biz), and it's been working great, but we've run into a snag.

Basically we decided to secure out site, so we bought a ssl certificate, and because we bought the ssl cert we had to move our site from the public directory to the secure directory.

That抯 the background.

The problem we're having is that for some reason the JUpload applet doesn抰 want to work for everyone now that its in the secure area. Even here in our office where most of the machines are exactly the same, some of the computers are using it fine, and some get the Applet JUpload Notinited message. Everyone has the same version of Java (build 1.5.0_11). Oh, and when I put the files used by the JUpload applet back into public, it works for everyone everytime. (so basically when they go to the secure upload page they get the failed message, when they go to the non secure upload page it works like it always has).

Here is the Java Console log

Basically I tried opening up the log in the secure area, and as soon as it failed I opened it up in the non secure area, and it worked.

Java Plug-in 1.5.0_11

Using JRE version 1.5.0_11 Java HotSpot(TM) Client VM

User home directory = C:\Documents and Settings\Kelly

-

c:clear console window

f:finalize objects on finalization queue

g:garbage collect

h:displaythis help message

l:dump classloader list

m:print memory usage

o:trigger logging

p:reload proxy configuration

q:hide console

r:reload policy configuration

s:dump system and deployment properties

t:dump thread list

v:dump thread stack

x:clear classloader cache

0-5: set trace level to <n>

-

Trace level set to 5: all ... completed.

basic: Stopping applet ...

basic: Removed progress listener: sun.plugin.util.GrayBoxPainter@9319d9

basic: Finding information ...

basic: Releasing classloader: sun.plugin.ClassLoaderInfo@10613aa, refcount=0

basic: Caching classloader: sun.plugin.ClassLoaderInfo@10613aa

basic: Current classloader cache size: 2

basic: Done ...

basic: Joining applet thread ...

basic: Destroying applet ...

basic: Disposing applet ...

basic: Joined applet thread ...

basic: Unregistered modality listener

basic: Quiting applet ...

basic: Registered modality listener

liveconnect: Invoking JS method: document

liveconnect: Invoking JS method: URL

basic: Referencing classloader: sun.plugin.ClassLoaderInfo@10613aa, refcount=1

basic: Added progress listener: sun.plugin.util.GrayBoxPainter@122dad5

basic: Loading applet ...

basic: Initializing applet ...

basic: Starting applet ...

network: Connecting https://www.jlscan.com/JUpload/startup.class with proxy=DIRECT

network: Connecting https://www.jlscan.com/JUpload/startup.class with proxy=DIRECT

load:class JUpload.startup not found.

java.lang.ClassNotFoundException: JUpload.startup

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: open HTTP connection failed.

at sun.applet.AppletClassLoader.getBytes(Unknown Source)

at sun.applet.AppletClassLoader.access$100(Unknown Source)

at sun.applet.AppletClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

... 10 more

basic: Exception: java.lang.ClassNotFoundException: JUpload.startup

basic: Stopping applet ...

basic: Removed progress listener: sun.plugin.util.GrayBoxPainter@122dad5

basic: Finding information ...

basic: Releasing classloader: sun.plugin.ClassLoaderInfo@10613aa, refcount=0

basic: Caching classloader: sun.plugin.ClassLoaderInfo@10613aa

basic: Current classloader cache size: 2

basic: Done ...

basic: Joining applet thread ...

basic: Destroying applet ...

basic: Disposing applet ...

basic: Joined applet thread ...

basic: Unregistered modality listener

basic: Quiting applet ...

basic: Registered modality listener

liveconnect: Invoking JS method: document

liveconnect: Invoking JS method: URL

basic: Referencing classloader: sun.plugin.ClassLoaderInfo@9abc69, refcount=1

basic: Added progress listener: sun.plugin.util.GrayBoxPainter@dd5681

basic: Loading applet ...

basic: Initializing applet ...

basic: Starting applet ...

Mar 22, 2007 2:26:25 PM JUpload.startup <init>

INFO: startup()

Mar 22, 2007 2:26:25 PM JUpload.startup init

INFO: init()

Mar 22, 2007 2:26:25 PM JUpload.startup start

INFO: start()

Mar 22, 2007 2:26:25 PM JUpload.swingVersion.JUpload init

INFO: JUpload initializing

JUpload v0.88 at http://www.jlscan.com/

Mar 22, 2007 2:26:25 PM JUpload.swingVersion.r <init>

INFO: Creating file system view

Mar 22, 2007 2:26:25 PM JUpload.utilities.e G

INFO: Number of preselected files: 0

liveconnect: Invoking JS method: init

There is no JavaScript function init() to call. Ignoring.

I've tried cleaning out the prefetch and the cache, and while cleaning out the cache works sometimes, it doesn't work for all of our customers.

I've also tried downgrading to 1.4.2_12, and it fixes the problem for some people but not all of them.

I've tried posting on the jupload.biz forum, but it seems to be dead, so I'm trying here now.

Any ideas you might have as to why we are having this problem would be greatly appreciated.

[6392 byte] By [andyd273a] at [2007-11-26 22:57:16]
# 1

The root cause why the appled failed to load is this:

> Caused by: java.io.IOException: open HTTP connection failed.

This means that the browser was not able to download the .class or .jar files needed to run the program. Check if you can download them manually by entering the URL in the browser.

jsalonena at 2007-7-10 12:22:25 > top of Java-index,Java Essentials,Java Programming...
# 2

Yup, typed the direct link to the jar file in and it worked just fine... got a screen full of gibberish.

https://www.jlscan.com/jupload.jar

It seems like it shouldn't be trying to get it via http anyway though. At least when it does load correctly it doesn't do it with http.

It looks like it is trying to go to a directory named jupload/startup.class, instead of looking inside of the jar file for startup...

Anyway to force it not to use http?

Message was edited by:

andyd273

andyd273a at 2007-7-10 12:22:25 > top of Java-index,Java Essentials,Java Programming...
# 3

> It looks like it is trying to go to a directory named

> jupload/startup.class, instead of looking inside of

> the jar file for startup...

Yes, according to the output it's trying to download https://www.jlscan.com/JUpload/startup.class

What does it applet tag in the HTML file look like?

> Anyway to force it not to use http?

>

Https is just http over ssl so the error message will say "http" in any case.

jsalonena at 2007-7-10 12:22:25 > top of Java-index,Java Essentials,Java Programming...
# 4

It's the same code in both public and secure areas, and the file structure is the same both places. Actually the files are the same both places...

<applet

code="JUpload.startup"

archive="jupload.jar"

width="450"

height="250"

mayscript="mayscript"

name="JUpload"

alt="JUpload by www.jupload.biz">

<!-- Java Plug-In Options -->

<param name="progressbar" value="true">

<param name="boxmessage" value="Loading JUpload Applet ...">

<param name="boxbgcolor" value="#EEEEEE">

<!-- Target links -->

<param name="actionURL" value="https://www.jlscan.com/PHP/jupload.php">

<!-- IF YOU HAVE PROBLEMS, CHANGE THIS TO TRUE BEFORE CONTACTING SUPPORT -->

<param name="debug" value="false">

<table>

<tr><td bgcolor="#FFFFFF">

Your browser does not support applets. Or you have disabled applet in your options.

To use this applet, please install the newest version of Sun's java. You can get it from <a href="http://java.com/en/download/index.jsp" target="_blank">java.com</a>

</td></tr>

</table>

</applet>

andyd273a at 2007-7-10 12:22:25 > top of Java-index,Java Essentials,Java Programming...
# 5

It's been a while I've dealt with applets but this sounds like a bug in the Java plugin.

Perhaps you can trigger the loading of the correct file by using an absolute path, i.e. archive="/jupload.jar"

but that's like chanting and waving a dead chicken over the computer: it probably won't do anything. Sorry, I don't have any more suggestions.

jsalonena at 2007-7-10 12:22:25 > top of Java-index,Java Essentials,Java Programming...
# 6

Do you think the dead chicken will work?

I tried the absolute address "/jupload.jar" as well as "https://www.jlscan.com/jupload.jar". same results.

As an interesting note, I can use "http://www.jlscan.com/jupload.jar" from the public area, and the applet starts up fine, except that it wont let me upload anything ("Could not connect to server" an internal pop up alert from the jar file itself, which just shows that it is working, just that it doesn't like to send the uploaded files in between domains.)

I just wonder if it has something to do with security, since that seems to be the only difference between the two areas.

thx for your help.

andyd273a at 2007-7-10 12:22:25 > top of Java-index,Java Essentials,Java Programming...