Incompatible object argument for function call

2004 Oct 29 at 09:12 » Tagged as :

I have written a few times before about bugs in Java 5 (see Oct 12th entry for example). A more serious bug something which I have often noticed before but not blogged about is the class verification error that is often seen by many a developer (and user of java 5.0). Here is a detailed example of the error (minus the full stack trace)

Exception in thread "main" java.lang.VerifyError: (class: com/radinks/VerifyTest, method: rename signature: (ILjava/lang/String;)Z) Incompatible object argument for function call

A class that runs perfectly well in previous versions of java will obstinately refuse to load in java 5.0. I had dismissed this previously as an issue in the beta, but the beta is long gone so it really should have been resolved.

What's astounding is the fact that this problem has been reported as early as april and it's still not fixed. (ref http://forum.java.sun.com/thread.jsp?forum=481&thread=514766&tstart=0&trange=15). This is a real show stopping bug. Many application or applet that was compatible with older versions of the JRE will simply refuse to function with java 5.

The thread above has a suggestion that will work as a temporary work around pass the '-noverify' parameter to the jvm. As developers you and I can do that but don't expect the end user of your application to do the same.