Closed Bug 393848 Opened 18 years ago Closed 18 years ago

Need better error message for methods that exceed 64K

Categories

(Rhino Graveyard :: Compiler, defect)

1.6R6
x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: norrisboyd, Assigned: norrisboyd)

Details

Attachments

(2 files)

From newsgroup: Using Rhino to compile a big JS script to .class file, at the run time, I've got below exception. Someone said that it occurs when a too big javascript file is given to Rhino. Any solution? rhino-run: [java] Exception in thread "main" java.lang.ClassFormatError: Invalid method Code length 83259 in class file com/sun/lzplayer/Precompiled_JS_Runtime [java] at java.lang.ClassLoader.defineClass1(Native Method) [java] at java.lang.ClassLoader.defineClass(ClassLoader.java:620) [java] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) [java] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) [java] at java.net.URLClassLoader.access$100(URLClassLoader.java:56) [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:195) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:188) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306) [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:251) [java] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) [java] at java.lang.Class.forName0(Native Method) [java] at java.lang.Class.forName(Class.java:164) [java] at org.mozilla.javascript.tools.shell.Global.getClass(Global.java:296) [java] at org.mozilla.javascript.tools.shell.Global.loadClass(Global.java:273) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:585) [java] at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:145) [java] at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:408) [java] at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97) [java] at org.mozilla.javascript.gen.c1._c0(/home/openlaszlo/orbit/build/gen/run.js:2) [java] at org.mozilla.javascript.gen.c1.call(/home/openlaszlo/orbit/build/gen/run.js) [java] at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:340) [java] at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2758) [java] at org.mozilla.javascript.gen.c1.call(/home/openlaszlo/orbit/build/gen/run.js) [java] at org.mozilla.javascript.gen.c1.exec(/home/openlaszlo/orbit/build/gen/run.js) [java] at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java:503) [java] at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:425) [java] at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:391) [java] at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:382) [java] at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:179) [java] at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:100) [java] at org.mozilla.javascript.Context.call(Context.java:528) [java] at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:450) [java] at org.mozilla.javascript.tools.shell.Main.exec(Main.java:162) [java] at org.mozilla.javascript.tools.shell.Main.main(Main.java:140) [java] Java Result: 1 Thank you in advance, Hyok -------------- Need a better error message for this case.
Attached file big.js - a test case
Attaching test case
Possible patch for bug.
Fixed (in a different approach than patch): Checking in src/org/mozilla/classfile/ClassFileWriter.java; /cvsroot/mozilla/js/rhino/src/org/mozilla/classfile/ClassFileWriter.java,v <-- ClassFileWriter.java new revision: 1.45; previous revision: 1.44 done Checking in src/org/mozilla/javascript/optimizer/Codegen.java; /cvsroot/mozilla/js/rhino/src/org/mozilla/javascript/optimizer/Codegen.java,v <-- Codegen.java new revision: 1.254; previous revision: 1.253 done Checking in src/org/mozilla/javascript/resources/Messages.properties; /cvsroot/mozilla/js/rhino/src/org/mozilla/javascript/resources/Messages.properties,v <-- Messages.properties new revision: 1.82; previous revision: 1.81 done
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: