Export to GitHub

jslint4java - issue #6

passfail option results in java.lang.StackOverflowError


Posted on Jan 22, 2008 by Massive Bird

What steps will reproduce the problem? 1. Set options="browser,undef,passfail" 2. Edited javascript file to cause a problem by changing '===' to '==' 3. ant jslint

What is the expected output? What do you see instead? Expected: Use '===' to compare with '0'. Actual: java.lang.StackOverflowError

What version of the product are you using? On what operating system? version 1.1 Ubuntu 7.10

Please provide any additional information below.

Comment #1

Posted on Feb 10, 2008 by Massive Ox

I'm afraid I can't actually reproduce this on my system. Could you send me the javascript file that's causing you grief?

Thanks, -Dom

P.S. Sorry for the slow response.

Comment #2

Posted on Feb 10, 2008 by Massive Ox

Ok, I confess, my stupid mistake meant that I was testing the current trunk instead of 1.1. I've now replicated the problem. It would appear that it's a problem with the JSLint code itself rather than the Java wrapper (the stacktrace is inside rhino, the JavaScript engine). The problem no longer occurs with the later version.

For reference, this is the stacktrace:

BUILD FAILED /Users/dom/work/jslint4java/test-build.xml:5: java.lang.StackOverflowError at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) Caused by: java.lang.StackOverflowError at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1575) at org.mozilla.javascript.gen.c1._c7(fulljslint.js:100) at org.mozilla.javascript.gen.c1.call(fulljslint.js) at org.mozilla.javascript.regexp.RegExpImpl.replace_glob(RegExpImpl.java:341) at org.mozilla.javascript.regexp.RegExpImpl.matchOrReplace(RegExpImpl.java:182) at org.mozilla.javascript.regexp.RegExpImpl.action(RegExpImpl.java:101) at org.mozilla.javascript.NativeString.execIdCall(NativeString.java:300) at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:127) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.mozilla.javascript.gen.c1._c6(fulljslint.js:99) at org.mozilla.javascript.gen.c1.call(fulljslint.js) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) at org.mozilla.javascript.gen.c1._c9(fulljslint.js:445) at org.mozilla.javascript.gen.c1.call(fulljslint.js) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97)

Comment #3

Posted on Sep 8, 2008 by Swift Monkey

1.2 released should fix this.

Status: Fixed

Labels:
Type-Defect Priority-Medium