GeeCON Prague 2014*
The moose likes Applets and the fly likes Applet fails before init() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Applets
Bookmark "Applet fails before init()" Watch "Applet fails before init()" New topic
Author

Applet fails before init()

Don Arnett
Greenhorn

Joined: Feb 05, 2001
Posts: 18
I have a fairly simple applet that a customer is trying to use, but it works on some of their PCs and fails to initialize on others. The applet lets the user input a name and password, then encrypts the password and sends the login info back to the server CGI program. At the customer site, all users are running Netscape 4.75 and Win95. I've installed Netscape (I hate NS!) 4.75 on a Win95 computer here but cannot get the applet to fail.
See it here: www.intelebook.net/sabretest
It fails during initialization before it gets to my init() routine. When I set the 'debug' param for the applet, at the point of failure I get the message:
java.lang.NullPointerException
at java.lang.StringBuffer.append(Compiled Code)
My code had only two places that used StringBuffer and I made a version that removed any StringBuffer code and I get the same message.
I'm fairly lost at this point. Any applet experts out there have any insight?
Stephanie Grasson
Ranch Hand

Joined: Jun 14, 2000
Posts: 347
Hi Don!
I'm not sure if this will help you, but I tried your link using Netscape 4.73 on a WinNT machine. (Netscape 4.75 may use a different version of Java, I don't know). Anyway, the applet fails every time and when I look in the Java Console for the browser I get the following error:

Netscape Communications Corporation -- Java 1.1.5
Type '?' for options.
Symantec Java! ByteCode Compiler Version 210.065
Copyright (C) 1996-97 Symantec Corporation
# New applet context: http://www.intelebook.net/sabretest/, contextID=5
# Initializing applet: LoginApplet.class, appletID=45645872, contextID=5
# Starting applet: LoginApplet, appletID=45645872, contextID=5
# Loading classes from downloaded archive file: http://www.intelebook.net/intelebook/LoginApplet.jar
java.io.IOException: bad zip file format
at netscape.applet.AppletClassLoader.openArchive(Compiled Code)
at netscape.applet.AppletClassLoader.openArchive(Compiled Code)
at netscape.applet.AppletClassLoader.<init>(Compiled Code)
at netscape.applet.AppletClassLoader.getClassLoader(Compiled Code)
at netscape.applet.DerivedAppletFrame$LoadAppletEvent.dispatch(Compiled Code)
at java.awt.EventDispatchThread$EventPump.dispatchEvents(Compiled Code)
at java.awt.EventDispatchThread.run(Compiled Code)
at netscape.applet.DerivedAppletFrame$AppletEventDispatchThread.run(Compiled Code)
# Unable to load archive http://www.intelebook.net/intelebook/LoginApplet.jar: java.io.IOException: bad zip file format
# Loading class LoginApplet
# Fetching http://www.intelebook.net/intelebook/LoginApplet.class
# Applet exception: class LoginApplet could not be loaded
# Applet LoginApplet class LoginApplet could not be loaded

Seems to keep complaining about a bad zip file format. Are all clients using the same version of your jar file? Just a thought.
Stephanie
Don Arnett
Greenhorn

Joined: Feb 05, 2001
Posts: 18
Thanks Stephanie. First time that I've seen those error messages.
Ashwin Desai
Ranch Hand

Joined: Jul 17, 2000
Posts: 124
Hi Don,
Just a wild thought. ....
Try initializing the StringBuffer as
StringBuffer sb = new StringBuffer("");
instead of new StringBuffer();
I know that is silly, but it had worked for me.
Ashwin.
Don Arnett
Greenhorn

Joined: Feb 05, 2001
Posts: 18
I will try that but it appears to be a StringBuffer call that isn't in my code. I have a version where I removed my two StringBuffer references and get the same error messages.
But, since I can't duplicate the error here, I'm relying on others to perform the test and maybe they aren't doing what I ask them to do.
Ashwin Desai
Ranch Hand

Joined: Jul 17, 2000
Posts: 124
I am using IE 5.0 and the applet loaded properly. No errors.
Ashwin.
Don Arnett
Greenhorn

Joined: Feb 05, 2001
Posts: 18
That's cuz IE rulz and Netcrap...
Matt DeLacey
Ranch Hand

Joined: Oct 12, 2000
Posts: 318
Don,
Here's another idea. Don't assume that just because you changed the applet that it will be reflected in the browser. Both IE and Netscape cache applets and I have had a LOT of trouble when trying to debug applets. In IE, I can't get it to reflect anything other than the cached version of an applet until the NEXT DAY...and yes, I know how to supposedly delete the cache in IE but it doesn't work. In Netscape, you can do it though. Go to Edit->Preferences clear the history and the Loaction Bar...then at the left choose Advanced and then Cache. Clear the Memory Cache and Disk Cache. Not sure if ALL of those are necessary but if you do all of those, it will clear the cache. I can't tell you how many times I've fixed a bug in an applet and opened it in a brower and seen the old version. You have to clear the cache. You may already have done this but wanted to suggest it. I have had problems with StringBuffer like the other person said when I don't initialize to a null string. It yields problems in some cases and not in others. I bet that's the problem. Hope it helps.
With Respect,
Matt
Don Arnett
Greenhorn

Joined: Feb 05, 2001
Posts: 18
Thanks for the replies. I have verified that the particular computers that my applet doesn't work on don't like it if I create a TextField object with:
TextField(10) or TextField("",10)
If I create it as TextField(" ",10), it works fine.
I've posted a question about this above.
 
 
subject: Applet fails before init()