BlockUmlBuilder : StackOverflowError - when including itself

0 votes
asked Apr 23, 2019 in Bug by krasa (820 points)
edited Apr 24, 2019 by krasa

plantuml.1.2019.5.jar

btw are debug symbols enabled? IntelliJ had some problems debugging it...

c.puml:

@startuml
!include c.puml
Alice -> Bob: xx
@enduml


I am running this to get included files:

BlockUmlBuilder blockUmlBuilder = new BlockUmlBuilder(Collections.<String>emptyList(), PlantUmlSettings.getInstance().getEncoding(), Defines.createEmpty(), new StringReader(source), baseDir, null);

  java.lang.Thread.State: RUNNABLE

  at net.sourceforge.plantuml.utils.StartUtils.beforeStartUml(StartUtils.java:69)

  at net.sourceforge.plantuml.preproc.UncommentReadLine.readLineInst(UncommentReadLine.java:77)

  at net.sourceforge.plantuml.preproc.ReadLineInstrumented.readLine(ReadLineInstrumented.java:66)

  at net.sourceforge.plantuml.preproc.StartDiagramExtractReader.readLine(StartDiagramExtractReader.java:170)

  at net.sourceforge.plantuml.preproc2.ReadLineQuoteComment$1.readLine(ReadLineQuoteComment.java:55)

  at net.sourceforge.plantuml.preproc2.ReadLineAddConfig$1.readLine(ReadLineAddConfig.java:75)

  at net.sourceforge.plantuml.preproc.IfManager.readLineInternal(IfManager.java:78)

  at net.sourceforge.plantuml.preproc.IfManager.readLineInst(IfManager.java:74)

  at net.sourceforge.plantuml.preproc.ReadLineInstrumented.readLine(ReadLineInstrumented.java:66)

  at net.sourceforge.plantuml.preproc.IfManagerFilter$1.readLine(IfManagerFilter.java:61)

  at net.sourceforge.plantuml.preproc2.PreprocessorDefineApply$Inner.readLineInternal(PreprocessorDefineApply.java:73)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.SubPreprocessor$InnerReadLine.readLine(SubPreprocessor.java:140)

  at net.sourceforge.plantuml.preproc2.PreprocessorDefineLearner$1.readLine(PreprocessorDefineLearner.java:98)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:127)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:58)

  at net.sourceforge.plantuml.preproc2.PreprocessorInclude$Inner.readLineInternal(PreprocessorInclude.java:149)

  at net.sourceforge.plantuml.preproc2.ReadLineInsertable.readLine(ReadLineInsertable.java:65)

  at net.sourceforge.plantuml.preproc2.Preprocessor.readLine(Preprocessor.java:101)

  at net.sourceforge.plantuml.BlockUmlBuilder.init(BlockUmlBuilder.java:95)

  at net.sourceforge.plantuml.BlockUmlBuilder.<init>(BlockUmlBuilder.java:77)

  at org.plantuml.idea.plantuml.PlantUmlIncludes.commitIncludes(PlantUmlIncludes.java:29)

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:

[Antispam2 Feature: please please wait 1 or 2 minutes (this message will disappear) before pressing the button otherwise it will fail](--------)
To avoid this verification in future, please log in or register.
...