Ticket #111 (closed defect: fixed)

Opened 5 months ago

Last modified 2 months ago

Build of r1686 fails SyntaxAbstractionJUTest

Reported by: LouisCutrona Assigned to: dr2chase
Priority: major Milestone:
Component: interpreter Version:
Keywords: ant test failure, SyntaxAbstractionJUTest Cc:

Description

OS: Windows XP with up-to-date patches. Java: JDK1.6.0_06. Ant: 1.7.0
Cygwin DLL product version: 1.5.25-cr-0x5f1
Fortress r1686 obtained via svn checkout.

One "ant test" error.

Relevant lines from console output generated by ./ant clean test

[junit] Running com.sun.fortress.syntax_abstractions.SyntaxAbstractionJUTest
[junit] Component: SyntaxTestUse? imports grammars...
[junit] java.lang.StringIndexOutOfBoundsException?: String index out of range: 1
[junit] at java.lang.String.charAt(String.java:687)
[junit] at java.util.regex.Matcher.appendReplacement(Matcher.java:703)
[junit] at java.util.regex.Matcher.replaceAll(Matcher.java:813)
[junit] at java.lang.String.replaceAll(String.java:2190)
[junit] at com.sun.fortress.syntax_abstractions.rats.RatsUtil?.getModulePath(RatsUtil?.java:180)
[junit] at com.sun.fortress.syntax_abstractions.rats.RatsUtil?.writeRatsModule(RatsUtil?.java:107)
[junit] at com.sun.fortress.syntax_abstractions.rats.FortressRatsGrammar?.clone(FortressRatsGrammar?.java:89)
[junit] at com.sun.fortress.syntax_abstractions.rats.RatsParserGenerator?.generateParser(RatsParserGenerator?.java:93)
[junit] at com.sun.fortress.syntax_abstractions.FileBasedMacroCompiler?.compile(FileBasedMacroCompiler?.java:75)
[junit] at com.sun.fortress.syntax_abstractions.parser.FortressParser?.parse(FortressParser?.java:75)
[junit] at com.sun.fortress.shell.PathBasedSyntaxTransformingRepository?.getCompilationUnit(PathBasedSyntaxTransformingRepository?.java:52)
[junit] at com.sun.fortress.shell.PathBasedRepository?.getComponent(PathBasedRepository?.java:127)
[junit] at com.sun.fortress.compiler.RepositoryUpdater?.addComponent(RepositoryUpdater?.java:135)
[junit] at com.sun.fortress.shell.BatchCachingRepository?.addRootComponent(BatchCachingRepository?.java:115)
[junit] at com.sun.fortress.shell.BatchCachingRepository?.getComponent(BatchCachingRepository?.java:267)
[junit] at com.sun.fortress.compiler.Fortress.addComponentToResult(Fortress.java:170)
[junit] at com.sun.fortress.compiler.Fortress.compileInner(Fortress.java:118)
[junit] at com.sun.fortress.compiler.Fortress.compile(Fortress.java:89)
[junit] at com.sun.fortress.compiler.StaticTestSuite?$StaticTestCase?.compile(StaticTestSuite?.java:195)
[junit] at com.sun.fortress.compiler.StaticTestSuite?$StaticTestCase?.assertWellFormedProgram(StaticTestSuite?.java:179)
[junit] at com.sun.fortress.compiler.StaticTestSuite?$StaticTestCase?.runTest(StaticTestSuite?.java:139)
[junit] at junit.framework.TestCase?.runBare(TestCase?.java:127)
[junit] at junit.framework.TestResult?$1.protect(TestResult?.java:106)
[junit] at junit.framework.TestResult?.runProtected(TestResult?.java:124)
[junit] at junit.framework.TestResult?.run(TestResult?.java:109)
[junit] at junit.framework.TestCase?.run(TestCase?.java:118)
[junit] at junit.framework.TestSuite?.runTest(TestSuite?.java:208)
[junit] at junit.framework.TestSuite?.run(TestSuite?.java:203)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
[junit] StaticError? (wrapped): java.lang.StringIndexOutOfBoundsException?: String index out of range: 1)
[junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 2.343 sec
[junit] Test com.sun.fortress.syntax_abstractions.SyntaxAbstractionJUTest FAILED


... Many lines omitted ...



[junit] Running com.sun.fortress.useful.PathJUTest
[junit] java.io.FileNotFoundException?: File . not found in directories []
[junit] java.io.FileNotFoundException?: File thisfileismissing not found in directories []
[junit] java.io.FileNotFoundException?: File README.txt not found in directories []
[junit] nosub
[junit] 1.6.0_06
[junit] Path is C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;C:\cygwin\usr\X11R6\bin;c:\PROGRA~1\ThinkPad?\Utilities;c:\WINDOWS\system32;c:\ WINDOWS;c:\WINDOWS\System32\Wbem;c:\PROGRA~1\ATITEC~1\ATI.ACE\;c:\PROGRA~1\Common~1\Adobe\AGL;c:\PROGRA~1\Diskee~1\Diskeeper\;c:\PROGRA~1\IBMTHI~1\Cli ent~1;c:\PROGRA~1\ThinkPad?\ConnectUtilities?;c:\PROGRA~1\Intel\Wireless\Bin\;c:\PROGRA~1\FSharp-1.9.3.14\bin;c:\PROGRA~1\Subversion\bin;c:\PROGRA~1\CVS NT\;c:\progra~1\Fortress\fortress_1686\bin
[junit] C:\cygwin\home\LJC is home
[junit] 1.6.0_061.6.0_06 1.6.0_06
[junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.031 sec
[junit] Running com.sun.fortress.useful.PureListJUTest
[junit] testIterator(com.sun.fortress.useful.PureListJUTest) OK
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.016 sec
[junit] Running com.sun.fortress.useful.UsefulJUTest
[junit] testSetProductSetOfListOfTSetOfT(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testSetProductSetOfTSetOfUFn2OfTUV(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testSingleton(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testListInParens(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testListInCurlies(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testListInDelimiters(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testListsInParens(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testDottedList(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testConcat(com.sun.fortress.useful.UsefulJUTest) OK
[junit] testUnion(com.sun.fortress.useful.UsefulJUTest) OK
[junit] Tests run: 10, Failures: 0, Errors: 0, Time elapsed: 0.032 sec


c:\progra~1\Fortress\fortress_1686\build.xml:11: The following error occurred while executing this line:
c:\progra~1\Fortress\fortress_1686\ProjectFortress?\build.xml:445: Tests expected to pass are failing!


Total time: 5 minutes 0 seconds

Change History

05/25/08 10:12:01 changed by jmaessen

Is this still broken, or has it been resolved in recent releases?

05/25/08 20:25:49 changed by LouisCutrona

Still broken (same console log as original report) as of revision 1715.

05/27/08 05:48:03 changed by jmaessen

Thanks for re-checking. We've been trying to resolve the path problems with Cygwin via some code cleanup; it's useful to know whether others have had luck with the changes. Sounds like we have some more work to do still.

06/01/08 10:01:32 changed by mspiegel

Hi Louis,

I finally set up my development environment until Vista. I have currently opted to run Fortress without Cygwin. r1643 is a partial fix of the bug you (and I) are observing. I replaced a call to [dottedName.replaceAll("\\.", ""+File.separatorChar)] with [dottedName.replace('.', File.separatorChar)]. For some reason under windows the former call is throwing a StringIndexOutOfBoundsExceptions? with the following stack trace:

at java.lang.String.charAt(Unknown Source)
	at java.util.regex.Matcher.appendReplacement(Unknown Source)
	at java.util.regex.Matcher.replaceAll(Unknown Source)
	at java.lang.String.replaceAll(Unknown Source)
	at com.sun.fortress.syntax_abstractions.rats.RatsUtil.getModulePath(RatsUtil.java:180)

This appears at first glance to be a JRE library bug, but I have to do some further testing to confirm this. In the meantime, r1643 now doesn't throw the exception but I get a different error message for SyntaxAbstractionJUTest. I've attached the offending lines from Fortress.rats at the end of this log. Can the Rats experts make sense of this please?

C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:91:1: error: List of indentation levels too short
C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:93:1: error: List of indentation levels too short
C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:95:1: error: List of indentation levels too short
C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:97:1: error: List of indentation levels too short
C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:99:1: error: List of indentation levels too short
C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:103:1: error: List of indentation levels too short
C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:105:1: error: List of indentation levels too short
C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress.rats:107:1: error: List of indentation levels too short
error: cannot read: C:\Users\Michael\AppData\Local\Temp\fortress19158rats\com\sun\fortress\parser\Fortress52.java

instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TIS1017(Identifier, 
  Spacing) as SyntaxTest_Helloworld_TIS1017;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TA1218(Identifier, 
  Spacing) as SyntaxTest_Helloworld_TA1218;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TINDEED1419(
  Identifier, Spacing) as SyntaxTest_Helloworld_TINDEED1419;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TA1625(Identifier, 
  Spacing) as SyntaxTest_Helloworld_TA1625;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TFORTRESS920(
  Identifier, Spacing) as SyntaxTest_Helloworld_TFORTRESS920;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_Verys23(Spacing, 
  SyntaxTest_Helloworld_TA1625) as SyntaxTest_Helloworld_Verys23;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TB1324(Identifier, 
  Spacing) as SyntaxTest_Helloworld_TB1324;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TVERY1121(
  Identifier, Spacing) as SyntaxTest_Helloworld_TVERY1121;
instantiate com.sun.fortress.parser.SyntaxTest_Helloworld_TC1522(Identifier, 
  Spacing) as SyntaxTest_Helloworld_TC1522;

(follow-up: ↓ 6 ) 06/01/08 10:25:51 changed by mspiegel

OK, this totally works on unix and throws an exception on Windows. Can we throw this over the wall to the Java guys:

	public static void main(String args[]) {
		String foo = "hello.I.am.A.Happy.String";
		String bar = foo.replaceAll("\\.", File.separator);
		System.out.println(bar);
	}

(in reply to: ↑ 5 ; follow-up: ↓ 7 ) 06/01/08 16:03:39 changed by dr2chase

This is not a Java bug, this is what you get if you pass a backslash in as the second parameter to replaceAll; blows up just the same on Unix if you do. I have checked in a probable fix that simply uses slash -- in fact, all the Windows system calls I ever encountered are totally ok with a slash instead of a backslash for path separators.

(in reply to: ↑ 6 ; follow-up: ↓ 8 ) 06/01/08 18:28:29 changed by mspiegel

Replying to dr2chase:

This is not a Java bug, this is what you get if you pass a backslash in as the second parameter to replaceAll; blows up just the same on Unix if you do. I have checked in a probable fix that simply uses slash -- in fact, all the Windows system calls I ever encountered are totally ok with a slash instead of a backslash for path separators.

This alternate fix has the same failure mode as using File.seperatorChar. It would appear that something else is causing the problem. And I'd like to restate that my little test program was throwing an exception ONLY under windows, and it was behaving normally under unix. I'm pretty sure this is a bug in java.util.regex.Matcher.

(in reply to: ↑ 7 ) 06/01/08 18:33:51 changed by dr2chase

It's not a Java bug. Try THIS test program on Unix:

class Junk {
 public static void main(String args[]) {
  String foo = "hello.I.am.A.Happy.String";
  String bar = foo.replaceAll("\\.", "\\");
  System.out.println(bar);
  }
}

It's the backslash that causes the problem.

06/01/08 20:57:54 changed by LouisCutrona

As of r1766 there are now 3 failures in SyntaxAbstractionJUTest. First one appears to be same as reported by mspiegel above. Ant build console log extract follows for compulsive thoroughness.

    [junit] Running com.sun.fortress.syntax_abstractions.SyntaxAbstractionJUTest
    [junit] Component: SyntaxTestUse imports grammars...
    [junit] Rats! Parser Generator, v. 1.13.2, (C) 2004-2007 Robert Grimm
    [junit] Processing C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats/com/sun/fortress/parser/Fortr
ess.rats ...
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:91
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:93
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:95
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:97
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:10
1:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:10
3:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:10
5:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\parser\Fortress.rats:10
7:1: error: List of indentation levels too short
    [junit] javac: file not found: C:\Documents and Settings\ljc\Local Settings\Temp\fortress46587rats\com\sun\fortress\
parser\Fortress68.java
    [junit] Usage: javac <options> <source files>
    [junit] use -help for a list of possible options
    [junit]
    [junit] java.lang.RuntimeException: A compiler error occured while compiling a temporary parser
    [junit]     at com.sun.fortress.syntax_abstractions.rats.RatsParserGenerator.generateParser(RatsParserGenerator.java
:102)
    [junit]     at com.sun.fortress.syntax_abstractions.FileBasedMacroCompiler.compile(FileBasedMacroCompiler.java:75)
    [junit]     at com.sun.fortress.syntax_abstractions.parser.FortressParser.parse(FortressParser.java:75)
    [junit]     at com.sun.fortress.shell.PathBasedSyntaxTransformingRepository.getCompilationUnit(PathBasedSyntaxTransf
ormingRepository.java:52)
    [junit]     at com.sun.fortress.shell.PathBasedRepository.getComponent(PathBasedRepository.java:127)
    [junit]     at com.sun.fortress.compiler.RepositoryUpdater.addComponent(RepositoryUpdater.java:135)
    [junit]     at com.sun.fortress.shell.BatchCachingRepository.addRootComponent(BatchCachingRepository.java:115)
    [junit]     at com.sun.fortress.shell.BatchCachingRepository.getComponent(BatchCachingRepository.java:267)
    [junit]     at com.sun.fortress.compiler.Fortress.addComponentToResult(Fortress.java:170)
    [junit]     at com.sun.fortress.compiler.Fortress.compileInner(Fortress.java:118)
    [junit]     at com.sun.fortress.compiler.Fortress.compile(Fortress.java:89)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.compile(StaticTestSuite.java:195)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.assertWellFormedProgram(StaticTestSuite.java
:179)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.runTest(StaticTestSuite.java:139)
    [junit]     at junit.framework.TestCase.runBare(TestCase.java:127)
    [junit]     at junit.framework.TestResult$1.protect(TestResult.java:106)
    [junit] StaticError (wrapped): java.lang.RuntimeException: A compiler error occured while compiling a temporary pars
er)
    [junit]     at junit.framework.TestResult.runProtected(TestResult.java:124)
    [junit]     at junit.framework.TestResult.run(TestResult.java:109)
    [junit]     at junit.framework.TestCase.run(TestCase.java:118)
    [junit]     at junit.framework.TestSuite.runTest(TestSuite.java:208)
    [junit]     at junit.framework.TestSuite.run(TestSuite.java:203)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
    [junit] Component: SyntaxTemplateVarsUse imports grammars...
    [junit] Rats! Parser Generator, v. 1.13.2, (C) 2004-2007 Robert Grimm
    [junit] Processing C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats/com/sun/fortress/parser/Fortr
ess.rats ...
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\parser\Fortress.rats:75
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\parser\Fortress.rats:90
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\parser\Fortress.rats:92
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\parser\Fortress.rats:96
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\parser\Fortress.rats:98
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\parser\Fortress.rats:10
1:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\parser\Fortress.rats:10
3:1: error: List of indentation levels too short
    [junit] javac: file not found: C:\Documents and Settings\ljc\Local Settings\Temp\fortress46588rats\com\sun\fortress\
parser\Fortress147.java
    [junit] Usage: javac <options> <source files>
    [junit] use -help for a list of possible options
    [junit]
    [junit] java.lang.RuntimeException: A compiler error occured while compiling a temporary parser
    [junit]     at com.sun.fortress.syntax_abstractions.rats.RatsParserGenerator.generateParser(RatsParserGenerator.java
:102)
    [junit]     at com.sun.fortress.syntax_abstractions.FileBasedMacroCompiler.compile(FileBasedMacroCompiler.java:75)
    [junit]     at com.sun.fortress.syntax_abstractions.parser.FortressParser.parse(FortressParser.java:75)
    [junit]     at com.sun.fortress.shell.PathBasedSyntaxTransformingRepository.getCompilationUnit(PathBasedSyntaxTransf
ormingRepository.java:52)
    [junit]     at com.sun.fortress.shell.PathBasedRepository.getComponent(PathBasedRepository.java:127)
    [junit]     at com.sun.fortress.compiler.RepositoryUpdater.addComponent(RepositoryUpdater.java:135)
    [junit]     at com.sun.fortress.shell.BatchCachingRepository.addRootComponent(BatchCachingRepository.java:115)
    [junit]     at com.sun.fortress.shell.BatchCachingRepository.getComponent(BatchCachingRepository.java:267)
    [junit]     at com.sun.fortress.compiler.Fortress.addComponentToResult(Fortress.java:170)
    [junit]     at com.sun.fortress.compiler.Fortress.compileInner(Fortress.java:118)
    [junit]     at com.sun.fortress.compiler.Fortress.compile(Fortress.java:89)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.compile(StaticTestSuite.java:195)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.assertWellFormedProgram(StaticTestSuite.java
:179)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.runTest(StaticTestSuite.java:139)
    [junit]     at junit.framework.TestCase.runBare(TestCase.java:127)
    [junit]     at junit.framework.TestResult$1.protect(TestResult.java:106)
    [junit] StaticError (wrapped): java.lang.RuntimeException: A compiler error occured while compiling a temporary pars
er)
    [junit]     at junit.framework.TestResult.runProtected(TestResult.java:124)
    [junit]     at junit.framework.TestResult.run(TestResult.java:109)
    [junit]     at junit.framework.TestCase.run(TestCase.java:118)
    [junit]     at junit.framework.TestSuite.runTest(TestSuite.java:208)
    [junit]     at junit.framework.TestSuite.run(TestSuite.java:203)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
    [junit] Component: SyntaxNodesUse imports grammars...
    [junit] Rats! Parser Generator, v. 1.13.2, (C) 2004-2007 Robert Grimm
    [junit] Processing C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats/com/sun/fortress/parser/Fortr
ess.rats ...
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats\com\sun\fortress\parser\Fortress.rats:88
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats\com\sun\fortress\parser\Fortress.rats:91
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats\com\sun\fortress\parser\Fortress.rats:93
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats\com\sun\fortress\parser\Fortress.rats:95
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats\com\sun\fortress\parser\Fortress.rats:97
:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats\com\sun\fortress\parser\Fortress.rats:99
:1: error: List of indentation levels too short
    [junit] javac: file not found: C:\Documents and Settings\ljc\Local Settings\Temp\fortress46589rats\com\sun\fortress\
parser\Fortress272.java
    [junit] Usage: javac <options> <source files>
    [junit] use -help for a list of possible options
    [junit]
    [junit] java.lang.RuntimeException: A compiler error occured while compiling a temporary parser
    [junit]     at com.sun.fortress.syntax_abstractions.rats.RatsParserGenerator.generateParser(RatsParserGenerator.java
:102)
    [junit]     at com.sun.fortress.syntax_abstractions.FileBasedMacroCompiler.compile(FileBasedMacroCompiler.java:75)
    [junit]     at com.sun.fortress.syntax_abstractions.parser.FortressParser.parse(FortressParser.java:75)
    [junit]     at com.sun.fortress.shell.PathBasedSyntaxTransformingRepository.getCompilationUnit(PathBasedSyntaxTransf
ormingRepository.java:52)
    [junit]     at com.sun.fortress.shell.PathBasedRepository.getComponent(PathBasedRepository.java:127)
    [junit]     at com.sun.fortress.compiler.RepositoryUpdater.addComponent(RepositoryUpdater.java:135)
    [junit]     at com.sun.fortress.shell.BatchCachingRepository.addRootComponent(BatchCachingRepository.java:115)
    [junit]     at com.sun.fortress.shell.BatchCachingRepository.getComponent(BatchCachingRepository.java:267)
    [junit]     at com.sun.fortress.compiler.Fortress.addComponentToResult(Fortress.java:170)
    [junit]     at com.sun.fortress.compiler.Fortress.compileInner(Fortress.java:118)
    [junit]     at com.sun.fortress.compiler.Fortress.compile(Fortress.java:89)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.compile(StaticTestSuite.java:195)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.assertWellFormedProgram(StaticTestSuite.java
:179)
    [junit]     at com.sun.fortress.compiler.StaticTestSuite$StaticTestCase.runTest(StaticTestSuite.java:139)
    [junit]     at junit.framework.TestCase.runBare(TestCase.java:127)
    [junit]     at junit.framework.TestResult$1.protect(TestResult.java:106)
    [junit] StaticError (wrapped): java.lang.RuntimeException: A compiler error occured while compiling a temporary pars
er)
    [junit] Tests run: 3, Failures: 3, Errors: 0, Time elapsed: 22.188 sec
    [junit]     at junit.framework.TestResult.runProtected(TestResult.java:124)
    [junit]     at junit.framework.TestResult.run(TestResult.java:109)
    [junit]     at junit.framework.TestCase.run(TestCase.java:118)
    [junit]     at junit.framework.TestSuite.runTest(TestSuite.java:208)
    [junit]     at junit.framework.TestSuite.run(TestSuite.java:203)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
    [junit] Test com.sun.fortress.syntax_abstractions.SyntaxAbstractionJUTest FAILED

07/06/08 21:05:55 changed by LouisCutrona

OS: Windows XP with up-to-date patches. Java: JDK1.6.0_06. Ant: 1.7.0 Built using XP cmd.exe. Fortress r2186 obtained via svn checkout.

Failure mode has morphed again. Now gives java.lang.StackOverflowError?

Here's the relevant portion of stdout from ant clean build

    [junit] Running com.sun.fortress.syntax_abstractions.SyntaxAbstractionJUTest
    [junit] Rats! Parser Generator, v. 1.13.2, (C) 2004-2007 Robert Grimm
    [junit] Processing C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats/com/sun/fortress/parser/Fortress.rats ...
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:91:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:93:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:95:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:97:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:99:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:101:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:103:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:105:1: error: List of indentation levels too short
    [junit] C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress.rats:107:1: error: List of indentation levels too short
    [junit] javac: file not found: C:\Documents and Settings\LJC\Local Settings\Temp\fortress24121rats\com\sun\fortress\parser\Fortress85.java
    [junit] Usage: javac <options> <source files>
    [junit] use -help for a list of possible options
    [junit] 
    [junit] Rats! Parser Generator, v. 1.13.2, (C) 2004-2007 Robert Grimm
    [junit] Processing C:\Documents and Settings\LJC\Local Settings\Temp\fortress24122rats/com/sun/fortress/parser/Fortress.rats ...
    [junit] java.lang.StackOverflowError
    [junit] 	at xtc.parser.PParser.pEscapeSequence(PParser.java:4413)
    [junit] 	at xtc.parser.PParser.pStringLiteral$$Star1$1(PParser.java:4110)
    [junit] 	at xtc.parser.PParser.pStringLiteral$$Star1(PParser.java:4094)
    [junit] 	at xtc.parser.PParser.pStringLiteral$$Star1$1(PParser.java:4138)
     
    ... the two preceding lines repeat 509 more times
    
    [junit] javac: file not found: C:\Documents and Settings\LJC\Local Settings\Temp\fortress24122rats\com\sun\fortress\parser\Fortress312.java
    [junit] Usage: javac <options> <source files>
    [junit] use -help for a list of possible options
    [junit] 
    [junit] Rats! Parser Generator, v. 1.13.2, (C) 2004-2007 Robert Grimm
    [junit] Processing C:\Documents and Settings\LJC\Local Settings\Temp\fortress24123rats/com/sun/fortress/parser/Fortress.rats ...
    [junit] java.lang.StackOverflowError
    [junit] 	at xtc.parser.ParserBase.character(ParserBase.java:312)
    [junit] 	at xtc.parser.PParser.pEscapeSequence(PParser.java:4413)
    [junit] 	at xtc.parser.PParser.pStringLiteral$$Star1$1(PParser.java:4110)
    [junit] 	at xtc.parser.PParser.pStringLiteral$$Star1(PParser.java:4094)
    [junit] 	at xtc.parser.PParser.pStringLiteral$$Star1$1(PParser.java:4138)
    
    ... the two preceding lines repeat 510 more times 
    
    [junit] javac: file not found: C:\Documents and Settings\LJC\Local Settings\Temp\fortress24123rats\com\sun\fortress\parser\Fortress1048.java
    [junit] Usage: javac <options> <source files>
    [junit] use -help for a list of possible options
    [junit] 
    [junit] Tests run: 3, Failures: 0, Errors: 3, Time elapsed: 15.5 sec

08/04/08 05:55:15 changed by mspiegel

I think I fixed this in r2514. Louis, can you confirm?

08/04/08 19:33:11 changed by LouisCutrona

Michael, I can confirm that the problem is gone in r2525, which I just downloaded and built. Looks okay to close this ticket.

08/05/08 06:12:52 changed by mspiegel

  • status changed from new to closed.
  • resolution set to fixed.