Closed Bug 710719 Opened 13 years ago Closed 5 years ago

Occasionally unable to parse Envjs 1.2 (syntax error)

Categories

(Rhino Graveyard :: Core, defect)

1.7R1
All
Windows 7
defect
Not set
major

Tracking

(Not tracked)

RESOLVED INACTIVE

People

(Reporter: romain.raugi, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24
Build ID: 20111103063747

Steps to reproduce:

I load Envjs 1.2 (env.rhino.1.2.js), available here: http://www.envjs.com/release/envjs-1.2. I use a -1 optimization level as indicated in the Envjs documentation. As you can see in the stack trace below, I use Context#evaluateReader() to open the file, but the problem can also appear when using Context#evaluateString().


Actual results:

Sometimes, Rhino throws a syntax error, but always at the same location: line 5370, column 14. Here is the stack trace:

[exec] org.mozilla.javascript.EvaluatorException: syntax error (env.rhino.1.2.js#5370)
[exec] 	at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:109)
[exec] 	at org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:96)
[exec] 	at org.mozilla.javascript.Parser.addError(Parser.java:146)
[exec] 	at org.mozilla.javascript.Parser.reportError(Parser.java:160)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2469)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.plainProperty(Parser.java:2483)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2355)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2296)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.argumentList(Parser.java:1910)
[exec] 	at org.mozilla.javascript.Parser.memberExprTail(Parser.java:2050)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1958)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.expr(Parser.java:1523)
[exec] 	at org.mozilla.javascript.Parser.returnOrYield(Parser.java:1313)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:1127)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.parseFunctionBody(Parser.java:463)
[exec] 	at org.mozilla.javascript.Parser.function(Parser.java:592)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2236)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1550)
[exec] 	at org.mozilla.javascript.Parser.expr(Parser.java:1523)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:1202)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.statements(Parser.java:655)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:1145)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:745)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:751)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:751)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:751)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.parseFunctionBody(Parser.java:463)
[exec] 	at org.mozilla.javascript.Parser.function(Parser.java:592)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2236)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.variables(Parser.java:1394)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:1108)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.parseFunctionBody(Parser.java:463)
[exec] 	at org.mozilla.javascript.Parser.function(Parser.java:592)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2236)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.expr(Parser.java:1523)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2393)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.expr(Parser.java:1523)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:1246)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.parseFunctionBody(Parser.java:463)
[exec] 	at org.mozilla.javascript.Parser.function(Parser.java:592)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2236)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.expr(Parser.java:1523)
[exec] 	at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2393)
[exec] 	at org.mozilla.javascript.Parser.memberExpr(Parser.java:1955)
[exec] 	at org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
[exec] 	at org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
[exec] 	at org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
[exec] 	at org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
[exec] 	at org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
[exec] 	at org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
[exec] 	at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
[exec] 	at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
[exec] 	at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
[exec] 	at org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
[exec] 	at org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
[exec] 	at org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
[exec] 	at org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
[exec] 	at org.mozilla.javascript.Parser.expr(Parser.java:1523)
[exec] 	at org.mozilla.javascript.Parser.statementHelper(Parser.java:1246)
[exec] 	at org.mozilla.javascript.Parser.statement(Parser.java:707)
[exec] 	at org.mozilla.javascript.Parser.parse(Parser.java:401)
[exec] 	at org.mozilla.javascript.Parser.parse(Parser.java:359)
[exec] 	at org.mozilla.javascript.Context.compileImpl(Context.java:2370)
[exec] 	at org.mozilla.javascript.Context.compileReader(Context.java:1321)
[exec] 	at org.mozilla.javascript.Context.compileReader(Context.java:1293)
[exec] 	at org.mozilla.javascript.Context.evaluateReader(Context.java:1132)


Expected results:

Rhino must be able to parse this file everytime.
Severity: normal → major
OS: All → Windows 7

Closing. Bug management is now done here:
https://github.com/mozilla/rhino

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.