StackOverflowError when includes are cycled

0 votes
asked Mar 19, 2015 in Bug by krasa (820 points)
version 8021
 
...
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:100)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.manageFileInclude(PreprocessorInclude.java:147)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:100)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.manageFileInclude(PreprocessorInclude.java:147)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:100)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.manageFileInclude(PreprocessorInclude.java:147)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:100)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.manageFileInclude(PreprocessorInclude.java:147)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:100)
 at net.sourceforge.plantuml.preproc.IfManager.readLineInternal(IfManager.java:63)
 at net.sourceforge.plantuml.preproc.IfManager.readLine(IfManager.java:59)
 at net.sourceforge.plantuml.preproc.ReadLineInsertable.readLine(ReadLineInsertable.java:53)
 at net.sourceforge.plantuml.preproc.Preprocessor.readLine(Preprocessor.java:62)
 at net.sourceforge.plantuml.BlockUmlBuilder.init(BlockUmlBuilder.java:68)
 at net.sourceforge.plantuml.BlockUmlBuilder.<init>(BlockUmlBuilder.java:55)
 at net.sourceforge.plantuml.SourceStringReader.<init>(SourceStringReader.java:65)
 at net.sourceforge.plantuml.SourceStringReader.<init>(SourceStringReader.java:60)
 at net.sourceforge.plantuml.syntax.SyntaxChecker.checkSyntax(SyntaxChecker.java:65)
 
or just when using plain BlockUmlBuilder
 
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.PreprocessorInclude.readLine(PreprocessorInclude.java:83)
 at net.sourceforge.plantuml.preproc.IfManager.readLineInternal(IfManager.java:63)
 at net.sourceforge.plantuml.preproc.IfManager.readLine(IfManager.java:59)
 at net.sourceforge.plantuml.preproc.ReadLineInsertable.readLine(ReadLineInsertable.java:53)
 at net.sourceforge.plantuml.preproc.Preprocessor.readLine(Preprocessor.java:62)
 at net.sourceforge.plantuml.BlockUmlBuilder.init(BlockUmlBuilder.java:68)
 at net.sourceforge.plantuml.BlockUmlBuilder.<init>(BlockUmlBuilder.java:55)
 
 
bar.puml:
@startuml
!include foo.puml
@enduml

foo.puml:

@startuml
!include bar.puml
@enduml

1 Answer

0 votes
answered Mar 19, 2015 by plantuml (298,440 points)
selected Jun 16, 2015 by krasa
 
Best answer
Hello,

Thanks for the feedback, it should be solved in last beta: https://dl.dropboxusercontent.com/u/13064071/plantuml.jar
commented Mar 19, 2015 by krasa (820 points)
Looks good. thanks.
...