Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rhino 1.7R4 produce java.lang.StackOverflowError when opt != -1 #67

Closed
dimzon opened this issue Jul 27, 2012 · 7 comments
Closed

Rhino 1.7R4 produce java.lang.StackOverflowError when opt != -1 #67

dimzon opened this issue Jul 27, 2012 · 7 comments

Comments

@dimzon
Copy link

dimzon commented Jul 27, 2012

I'm trying to run uglifyJS in Rhino 1.7R4

this command line produce valid output:
java -cp js.jar org.mozilla.javascript.tools.shell.Main -opt -1 rhinoUglifyJS.js

this command line produce java.lang.StackOverflowError
java -cp js.jar org.mozilla.javascript.tools.shell.Main -opt 0 rhinoUglifyJS.js

I uploaded rhinoUglifyJS.js to http://www.sendspace.com/file/h42zif

@anba
Copy link
Contributor

anba commented Jul 27, 2012

Cannot reproduce with master, both opt=0 and opt=9 complete without any errors. Is the StackOverflowError thrown while compiling the code or during execution?

@dimzon
Copy link
Author

dimzon commented Jul 27, 2012

try to reproduce on jar from here: https://github.com/downloads/mozilla/rhino/rhino1_7R4.zip
btw

c:\WORK\uglify4j\tools>c:\glassfish3\jdk7\jre\bin\java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)

part of callstack is here

        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_walk_255(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_doit_480(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_479(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_250(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_walk_255(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_doit_480(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_479(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_250(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_walk_255(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_doit_480(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_479(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_250(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_walk_255(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_doit_480(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_479(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_anonymous_250(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1._c_walk_255(Unknown Source)
        at org.mozilla.javascript.gen.rhinoUglifyJS_js_1.call(Unknown Source)
        at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
        at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
        at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
js: exception from uncaught JavaScript throw: java.lang.StackOverflowError

@anba
Copy link
Contributor

anba commented Jul 27, 2012

I'm still unable to reproduce the stack-overflow error, even when using 1_7R4. This might be related to my Java version, since I'm working on a 64bit-system, I'm always using the Java HotSpot Server VM instead of the Client VM (Client VM isn't available for 64bit). Have you already tried to select the Java server mode ("-server" option) or increasing the stack-size limit ("-Xss" option)? See http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html#options

@dimzon
Copy link
Author

dimzon commented Jul 27, 2012

omg, I'm shocked, it works fine @ lubuntu 12.4

dimzon@eee:~$ uname -a && java -version
Linux eee 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 16:26:01 UTC 2012 i686 i686 i386 GNU/Linux
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1)
OpenJDK Server VM (build 20.0-b12, mixed mode)

Will try to check newer JRE version for Windows ASAP (I'm at vacation now)

@rochal
Copy link

rochal commented Feb 11, 2013

I'm getting similar error when I run uglify on rhino from Ant task directly from cmd line on Windows 7.

Weirdly, when I run the Ant task from Eclipse - it works.

@rochal
Copy link

rochal commented Feb 11, 2013

FYI

To get it working you need to increase the stack size allocated for your JVM instance.

To do that simply pass in "-Xss2048k" argument - you might need to modify the actual value, 2048 was the lowest that worked with my code base.

@p-bakker
Copy link
Collaborator

p-bakker commented Jul 3, 2021

Closing this issue as it looks to be configuration related and not an issue in Rhino itself

@p-bakker p-bakker closed this as completed Jul 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants