Details
-
Bug
-
Resolution: Fixed
-
P2
-
8
-
JDK 8-b108
Windows, Linux, Mac
-
b108
-
b110
-
generic
-
generic
-
Verified
Description
This bug was introduced in JDK 8-b108. I suspect a change in java.util caused this bug, but cannot be sure (I don't have the sources for antlr 3.1.3 handy).
To reproduce this, download the antlr libraries, then run antlr on the attached grammar file, JSL.g as follows:
java -cp "antlr-libs/antlr-runtime-3.1.3.jar:antlr-libs/stringtemplate-3.2.jar:antlr-libs/antlr-3.1.3.jar" org.antlr.Tool -o output src/JSL.g
It will throw the following exception and produce no output.
error(10): internal error: src/JSL.g : java.lang.NullPointerException
org.antlr.analysis.DFAState.getConflictingAlts(DFAState.java:556)
org.antlr.analysis.DFAState.getNonDeterministicAlts(DFAState.java:505)
org.antlr.analysis.NFAToDFAConverter.resolveNonDeterminisms(NFAToDFAConverter.java:1174)
org.antlr.analysis.NFAToDFAConverter.addDFAStateToWorkList(NFAToDFAConverter.java:967)
org.antlr.analysis.NFAToDFAConverter.findNewDFAStatesAndAddDFATransitions(NFAToDFAConverter.java:307)
org.antlr.analysis.NFAToDFAConverter.convert(NFAToDFAConverter.java:111)
org.antlr.analysis.DFA.<init>(DFA.java:233)
org.antlr.tool.Grammar.createLookaheadDFA(Grammar.java:1257)
org.antlr.tool.Grammar.createLookaheadDFAs(Grammar.java:1021)
org.antlr.tool.Grammar.createLookaheadDFAs(Grammar.java:971)
org.antlr.codegen.Target.performGrammarAnalysis(Target.java:114)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:301)
org.antlr.Tool.generateRecognizer(Tool.java:607)
org.antlr.Tool.process(Tool.java:429)
org.antlr.Tool.main(Tool.java:91)
With b107 it will generate the expected output files (although it will get an exception after it is all done due toJDK-8015656, but we can safely ignore that exception).
This prevents us from upgrading our JavaFX build machines to JDK 8-b108 and will cause all OpenJFX builds to fail once external users download b108.
To reproduce this, download the antlr libraries, then run antlr on the attached grammar file, JSL.g as follows:
java -cp "antlr-libs/antlr-runtime-3.1.3.jar:antlr-libs/stringtemplate-3.2.jar:antlr-libs/antlr-3.1.3.jar" org.antlr.Tool -o output src/JSL.g
It will throw the following exception and produce no output.
error(10): internal error: src/JSL.g : java.lang.NullPointerException
org.antlr.analysis.DFAState.getConflictingAlts(DFAState.java:556)
org.antlr.analysis.DFAState.getNonDeterministicAlts(DFAState.java:505)
org.antlr.analysis.NFAToDFAConverter.resolveNonDeterminisms(NFAToDFAConverter.java:1174)
org.antlr.analysis.NFAToDFAConverter.addDFAStateToWorkList(NFAToDFAConverter.java:967)
org.antlr.analysis.NFAToDFAConverter.findNewDFAStatesAndAddDFATransitions(NFAToDFAConverter.java:307)
org.antlr.analysis.NFAToDFAConverter.convert(NFAToDFAConverter.java:111)
org.antlr.analysis.DFA.<init>(DFA.java:233)
org.antlr.tool.Grammar.createLookaheadDFA(Grammar.java:1257)
org.antlr.tool.Grammar.createLookaheadDFAs(Grammar.java:1021)
org.antlr.tool.Grammar.createLookaheadDFAs(Grammar.java:971)
org.antlr.codegen.Target.performGrammarAnalysis(Target.java:114)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:301)
org.antlr.Tool.generateRecognizer(Tool.java:607)
org.antlr.Tool.process(Tool.java:429)
org.antlr.Tool.main(Tool.java:91)
With b107 it will generate the expected output files (although it will get an exception after it is all done due to
This prevents us from upgrading our JavaFX build machines to JDK 8-b108 and will cause all OpenJFX builds to fail once external users download b108.