plantuml / plantuml

Generate diagrams from textual description
https://plantuml.com
Other
9.73k stars 881 forks source link

Failed to generate image: PlantUML preprocessing failed: [From <input> (line 21) ] #1082

Open nfrankel opened 1 year ago

nfrankel commented 1 year ago

Hello,

I'm faced with the following issue:

package java.lang {
 class Throwable {
  + getMessage(): String
  + getLocalizedMessage(): String
 }
 class StackTraceElement {
  + getClassLoaderName(): String
  + getClassName(): String
  + getFileName(): String
  + getLineNumber(): int
  + getMethodName(): String
  + getModuleName(): String
  + getModuleVersion(): String
  + isNativeMethod(): boolean
 }
 class RuntimeException
 class Exception
 note "RuntimeException and all its\nsub-classes are unchecked exceptions" as noteex
}
Throwable -left-> "*" StackTraceElement
^^^^^
 You should send a mail to plantuml@gmail.com or post to http://plantuml.com/qa with this log (V1.2022.5) java.lang.StringIndexOutOfBoundsException: begin 1, end 0, length 1

package java.lang {
 class Throwable {
  + getMessage(): String
  + getLocalizedMessage(): String
 }
 class StackTraceElement {
  + getClassLoaderName(): String
  + getClassName(): String
  + getFileName(): String
  + getLineNumber(): int
  + getMethodName(): String
  + getModuleName(): String
  + getModuleVersion(): String
  + isNativeMethod(): boolean
 }
 class RuntimeException
 class Exception
 note "RuntimeException and all its\nsub-classes are unchecked exceptions" as noteex
}
Throwable -left-> "*" StackTraceElement
Throwable --> "0..1" Throwable: cause
Exception -up-|> Throwable
RuntimeException -up-|> Exception
noteex .right. RuntimeException
hide empty members

Context

I'm using PlantUML inside the asciidoctor-diagram-plantuml Gem on my Jekyll blog.

With version 1.2022.1 of the Gem, it works both:

With version 1.2022.5, it still works locally but not remotely.

I'd be very grateful for any hint. Feel free to ask additional questions.

evantill commented 1 year ago

Hi, can you give more details for reproducing this error ?

nfrankel commented 1 year ago

What additional details would you need to reproduct? I've given as much context as I could

arnaudroques commented 1 year ago

Thanks for the report. This is weird :-)

First, you could try to get the "shortest diagram that shows the issue". It would help to understand the issue.

For example, is the following on still failing?

Also, since there is an exception (java.lang.StringIndexOutOfBoundsException: begin 1, end 0, length 1), maybe you can try to see if you have the detail of the stacktrace somewhere ?

Thanks!

evantill commented 1 year ago

What additional details would you need to reproduct? I've given as much context as I could

not context but something to help to reproduce the error :

The problem could be at many levels so we need to dig through.

Have you tested your diagram on the latest version of plantuml ? Very simple, juste use the online server.

Have you tried to open an issue in to asciidoctor-diagram-plantuml ?

Just trying to help you.

evantill commented 1 year ago

Jekyll version ?

seems some versions of jekyll are not playing well with ruby version 3. There is this post written in 2021 talking about incompatibilites (that I'm facying trying to reproduce this issue).

evantill commented 1 year ago

Using the diagramm as proposed in previous message I can not reproduce the error :

See the screenshot bellow:

Welcome_to_Jekyll____Your_awesome_title
nfrankel commented 1 year ago

Thanks for you help.

Here's the complete stack trace:

java.lang.StringIndexOutOfBoundsException: begin 1, end 0, length 1
    at java.base/java.lang.String.checkBoundsBeginEnd(Unknown Source)
    at java.base/java.lang.String.substring(Unknown Source)
    at net.sourceforge.plantuml.StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(StringUtils.java:298)
    at net.sourceforge.plantuml.StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(StringUtils.java:307)
    at net.sourceforge.plantuml.security.SecurityUtils.getPath(SecurityUtils.java:222)
    at net.sourceforge.plantuml.FileSystem.getFile(FileSystem.java:91)
    at net.sourceforge.plantuml.style.StyleLoader.getInputStreamForStyle(StyleLoader.java:88)
    at net.sourceforge.plantuml.style.StyleLoader.loadSkin(StyleLoader.java:68)
    at net.sourceforge.plantuml.SkinParam.getCurrentStyleBuilderInternal(SkinParam.java:132)
    at net.sourceforge.plantuml.SkinParam.getCurrentStyleBuilder(SkinParam.java:107)
    at net.sourceforge.plantuml.classdiagram.command.CommandLinkClass.executeArg(CommandLinkClass.java:238)
    at net.sourceforge.plantuml.classdiagram.command.CommandLinkClass.executeArg(CommandLinkClass.java:63)
    at net.sourceforge.plantuml.command.SingleLineCommand2.execute(SingleLineCommand2.java:146)
    at net.sourceforge.plantuml.command.ProtectedCommand.execute(ProtectedCommand.java:50)
    at net.sourceforge.plantuml.AbstractPSystem.executeCommand(AbstractPSystem.java:153)
    at net.sourceforge.plantuml.command.PSystemCommandFactory.executeFewLines(PSystemCommandFactory.java:120)
    at net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java:103)
    at net.sourceforge.plantuml.PSystemBuilder.createPSystem(PSystemBuilder.java:129)
    at net.sourceforge.plantuml.BlockUml.getDiagram(BlockUml.java:174)
    at org.asciidoctor.diagram.plantuml.PlantUMLPreprocessor.preprocess(PlantUMLPreprocessor.java:95)
    at org.asciidoctor.diagram.plantuml.PlantUMLPreprocessor.generate(PlantUMLPreprocessor.java:52)
    at org.asciidoctor.diagram.CommandProcessor.processRequest(CommandProcessor.java:40)
    at org.asciidoctor.diagram.CommandProcessor.processRequest(CommandProcessor.java:19)
    at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at org.jruby.dist/org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:344)
    at org.jruby.dist/org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:205)
    at org.jruby.dist/org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:42)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:242)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:318)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:242)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:318)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:350)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:350)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:90)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:90)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:95)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:275)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:262)
    at org.jruby.dist/org.jruby.RubyMethod.call(RubyMethod.java:136)
    at org.jruby.dist/org.jruby.RubyMethod$INVOKER$i$call.call(RubyMethod$INVOKER$i$call.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrNBlock.call(JavaMethod.java:399)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:340)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.invokeOther20:\=\{\}(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:1053)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.RUBY$method$build_block$0(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:1053)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:112)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:194)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:75)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:81)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.invokeOther80:build_block(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:904)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.RUBY$method$next_block$0(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:904)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:112)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:194)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:75)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:81)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.invokeOther70:next_block(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:397)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.RUBY$method$next_section$0(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:397)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:188)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:259)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:236)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:340)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:346)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.invokeOther55:next_section(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:382)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.RUBY$method$next_section$0(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:382)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:188)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:259)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:236)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:340)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:346)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.invokeOther3:next_section(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:97)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.parser.RUBY$method$parse$0(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:97)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:188)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:259)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:236)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:340)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.document.invokeOther28:parse(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/document.rb:538)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.document.RUBY$method$parse$0(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/document.rb:538)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:149)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:148)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.load.invokeOther83:parse(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/load.rb:84)
    at usr.local.bundle.gems.asciidoctor_minus_2_dot_0_dot_18.lib.asciidoctor.load.RUBY$method$load$0(/usr/local/bundle/gems/asciidoctor-2.0.18/lib/asciidoctor/load.rb:84)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:175)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:222)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:228)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:291)
    at usr.local.bundle.gems.jekyll_minus_asciidoc_minus_3_dot_0_dot_0.lib.jekyll_minus_asciidoc.converter.invokeOther26:load(/usr/local/bundle/gems/jekyll-asciidoc-3.0.0/lib/jekyll-asciidoc/converter.rb:224)
    at usr.local.bundle.gems.jekyll_minus_asciidoc_minus_3_dot_0_dot_0.lib.jekyll_minus_asciidoc.converter.RUBY$method$convert$0(/usr/local/bundle/gems/jekyll-asciidoc-3.0.0/lib/jekyll-asciidoc/converter.rb:224)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:495)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.invokeOther0:convert(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:105)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.RUBY$block$convert$1(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:105)
    at org.jruby.dist/org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
    at org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
    at org.jruby.dist/org.jruby.runtime.Block.yieldArray(Block.java:230)
    at org.jruby.dist/org.jruby.RubyEnumerable.lambda$injectCommon$3(RubyEnumerable.java:1084)
    at org.jruby.dist/org.jruby.runtime.BlockCallback.call(BlockCallback.java:58)
    at org.jruby.dist/org.jruby.runtime.CallBlock.doYield(CallBlock.java:97)
    at org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
    at org.jruby.dist/org.jruby.runtime.Block.yield(Block.java:188)
    at org.jruby.dist/org.jruby.RubyArray.each(RubyArray.java:1987)
    at org.jruby.dist/org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:208)
    at org.jruby.dist/org.jruby.RubyEnumerable.callEach(RubyEnumerable.java:87)
    at org.jruby.dist/org.jruby.RubyEnumerable.injectCommon(RubyEnumerable.java:1080)
    at org.jruby.dist/org.jruby.RubyEnumerable.inject(RubyEnumerable.java:1099)
    at org.jruby.dist/org.jruby.RubyEnumerable$INVOKER$s$inject.call(RubyEnumerable$INVOKER$s$inject.gen)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:257)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:270)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.invokeOther11:reduce(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:104)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.RUBY$method$convert$0(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:104)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:242)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:248)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.invokeOther24:convert(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:84)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.RUBY$method$render_document$0(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:84)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:152)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:148)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:199)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.invokeOther15:render_document(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.renderer.RUBY$method$run$0(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:152)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:148)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
    at usr.local.bundle.gems.jekyll_minus_asciidoc_minus_3_dot_0_dot_0.lib.jekyll_minus_asciidoc.excerpt.invokeOther5:run(/usr/local/bundle/gems/jekyll-asciidoc-3.0.0/lib/jekyll-asciidoc/excerpt.rb:30)
    at usr.local.bundle.gems.jekyll_minus_asciidoc_minus_3_dot_0_dot_0.lib.jekyll_minus_asciidoc.excerpt.RUBY$method$output$0(/usr/local/bundle/gems/jekyll-asciidoc-3.0.0/lib/jekyll-asciidoc/excerpt.rb:30)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:152)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:148)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:199)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.excerpt.invokeOther0:output(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/excerpt.rb:70)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.excerpt.RUBY$method$to_s$0(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/excerpt.rb:70)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:152)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:148)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
    at builds.nfrankel.nfrankel_dot_gitlab_dot_io._plugins.metadata_hook.invokeOther2:to_s(/builds/nfrankel/nfrankel.gitlab.io/_plugins/metadata_hook.rb:32)
    at builds.nfrankel.nfrankel_dot_gitlab_dot_io._plugins.metadata_hook.RUBY$method$update_post_excerpt$0(/builds/nfrankel/nfrankel.gitlab.io/_plugins/metadata_hook.rb:32)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:242)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:248)
    at builds.nfrankel.nfrankel_dot_gitlab_dot_io._plugins.metadata_hook.invokeOther0:update_post_excerpt(/builds/nfrankel/nfrankel.gitlab.io/_plugins/metadata_hook.rb:9)
    at builds.nfrankel.nfrankel_dot_gitlab_dot_io._plugins.metadata_hook.RUBY$block$\=\^main\_$0(/builds/nfrankel/nfrankel.gitlab.io/_plugins/metadata_hook.rb:9)
    at org.jruby.dist/org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
    at org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:111)
    at org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:106)
    at org.jruby.dist/org.jruby.runtime.Block.yield(Block.java:188)
    at org.jruby.dist/org.jruby.RubyArray.each(RubyArray.java:1987)
    at org.jruby.dist/org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:561)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:103)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
    at org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
    at org.jruby.dist/org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
    at org.jruby.dist/org.jruby.runtime.Block.call(Block.java:147)
    at org.jruby.dist/org.jruby.RubyProc.call(RubyProc.java:315)
    at org.jruby.dist/org.jruby.RubyProc$INVOKER$i$call.call(RubyProc$INVOKER$i$call.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:194)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:75)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.hooks.invokeOther2:call(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/hooks.rb:103)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.hooks.RUBY$block$trigger$2(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/hooks.rb:103)
    at org.jruby.dist/org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
    at org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:106)
    at org.jruby.dist/org.jruby.runtime.Block.yield(Block.java:188)
    at org.jruby.dist/org.jruby.RubyArray.each(RubyArray.java:1987)
    at org.jruby.dist/org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:485)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:210)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:221)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.hooks.invokeOther8:each(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/hooks.rb:102)
    at usr.local.bundle.gems.jekyll_minus_4_dot_3_dot_2.lib.jekyll.hooks.RUBY$method$trigger$0(/usr/local/bundle/gems/jekyll-4.3.2/lib/jekyll/hooks.rb:102)
    at org.jruby.dist/org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:112)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:474)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:350)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:474)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:350)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:495)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:318)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:228)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:516)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:293)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:328)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:495)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:318)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
    at org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
    at org.jruby.dist/org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:170)
    at org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
    at org.jruby.dist/org.jruby.runtime.Block.yield(Block.java:188)
    at org.jruby.dist/org.jruby.RubyArray.each(RubyArray.java:1987)
    at org.jruby.dist/org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:561)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:103)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
    at org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
    at org.jruby.dist/org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
    at org.jruby.dist/org.jruby.runtime.Block.call(Block.java:147)
    at org.jruby.dist/org.jruby.RubyProc.call(RubyProc.java:333)
    at org.jruby.dist/org.jruby.RubyProc$INVOKER$i$call.call(RubyProc$INVOKER$i$call.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock.call(JavaMethod.java:377)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:516)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:293)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:328)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
    at org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
    at org.jruby.dist/org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:170)
    at org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
    at org.jruby.dist/org.jruby.runtime.Block.yield(Block.java:188)
    at org.jruby.dist/org.jruby.RubyArray.each(RubyArray.java:1987)
    at org.jruby.dist/org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:561)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:103)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:228)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:516)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:293)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:328)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:495)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:318)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:506)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:259)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:270)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:341)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:96)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:81)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:30)
    at org.jruby.dist/org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
    at org.jruby.dist/org.jruby.Ruby.runInterpreter(Ruby.java:1291)
    at org.jruby.dist/org.jruby.Ruby.loadFile(Ruby.java:2965)
    at org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:925)
    at org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:883)
    at org.jruby.dist/org.jruby.runtime.load.LoadService.load(LoadService.java:380)
    at org.jruby.dist/org.jruby.RubyKernel.loadCommon(RubyKernel.java:1121)
    at org.jruby.dist/org.jruby.RubyKernel.load(RubyKernel.java:1091)
    at org.jruby.dist/org.jruby.RubyKernel$INVOKER$s$load.call(RubyKernel$INVOKER$s$load.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:423)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:495)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:318)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:96)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:81)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:30)
    at org.jruby.dist/org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
    at org.jruby.dist/org.jruby.Ruby.runInterpreter(Ruby.java:1291)
    at org.jruby.dist/org.jruby.Ruby.loadFile(Ruby.java:2965)
    at org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:925)
    at org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:883)
    at org.jruby.dist/org.jruby.runtime.load.LoadService.load(LoadService.java:380)
    at org.jruby.dist/org.jruby.RubyKernel.loadCommon(RubyKernel.java:1121)
    at org.jruby.dist/org.jruby.RubyKernel.load(RubyKernel.java:1091)
    at org.jruby.dist/org.jruby.RubyKernel$INVOKER$s$load.call(RubyKernel$INVOKER$s$load.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:423)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:495)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:318)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:474)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:350)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:522)
    at org.jruby.dist/org.jruby.RubyBasicObject.send(RubyBasicObject.java:1687)
    at org.jruby.dist/org.jruby.RubyBasicObject$INVOKER$i$send.call(RubyBasicObject$INVOKER$i$send.gen)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:228)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:516)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:293)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:328)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1427)
    at org.jruby.dist/org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuperIter(IRRuntimeHelpers.java:1436)
    at org.jruby.dist/org.jruby.ir.instructions.ClassSuperInstr.interpret(ClassSuperInstr.java:103)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1427)
    at org.jruby.dist/org.jruby.ir.instructions.ClassSuperInstr.interpret(ClassSuperInstr.java:105)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
    at org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:228)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:516)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:293)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:328)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
    at org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
    at org.jruby.dist/org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:76)
    at org.jruby.dist/org.jruby.runtime.Block.yieldSpecific(Block.java:157)
    at org.jruby.dist/org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:498)
    at org.jruby.dist/org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:84)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:166)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:98)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
    at org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:452)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:103)
    at org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
    at org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:367)
    at org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:96)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:81)
    at org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:30)
    at org.jruby.dist/org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
    at org.jruby.dist/org.jruby.Ruby.runInterpreter(Ruby.java:1291)
    at org.jruby.dist/org.jruby.Ruby.loadFile(Ruby.java:2965)
    at org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:925)
    at org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:883)
    at org.jruby.dist/org.jruby.runtime.load.LoadService.load(LoadService.java:380)
    at org.jruby.dist/org.jruby.RubyKernel.loadCommon(RubyKernel.java:1121)
    at org.jruby.dist/org.jruby.RubyKernel.load(RubyKernel.java:1091)
    at org.jruby.dist/org.jruby.RubyKernel$INVOKER$s$load.call(RubyKernel$INVOKER$s$load.gen)
    at org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:423)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:495)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
    at org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.fcall(CachingCallSite.java:248)
    at usr.local.bundle.bin.bundle.invokeOther9:load(/usr/local/bundle/bin/bundle:25)
    at usr.local.bundle.bin.bundle.RUBY$script(/usr/local/bundle/bin/bundle:25)
    at usr.local.bundle.bin.bundle.run(/usr/local/bundle/bin/bundle)
    at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
    at org.jruby.dist/org.jruby.ir.Compiler$1.load(Compiler.java:114)
    at org.jruby.dist/org.jruby.Ruby.runScript(Ruby.java:1278)
    at org.jruby.dist/org.jruby.Ruby.runNormally(Ruby.java:1195)
    at org.jruby.dist/org.jruby.Ruby.runNormally(Ruby.java:1177)
    at org.jruby.dist/org.jruby.Ruby.runNormally(Ruby.java:1213)
    at org.jruby.dist/org.jruby.Ruby.runFromMain(Ruby.java:991)
    at org.jruby.dist/org.jruby.Main.doRunFromMain(Main.java:398)
    at org.jruby.dist/org.jruby.Main.internalRun(Main.java:282)
    at org.jruby.dist/org.jruby.Main.run(Main.java:227)
    at org.jruby.dist/org.jruby.Main.main(Main.java:199)

I noticed that the last working version is v1.2022.1. Afterwards, you removed the block delimiting parentheses from the eventuallyRemoveStartingAndEndingDoubleQuote static method:

    if (format.contains("\"") && s.length() > 1 && isDoubleQuote(s.charAt(0))
                && isDoubleQuote(s.charAt(s.length() - 1)))
            return s.substring(1, s.length() - 1);

I don't see any other differences and the logic is indeed the same.

arnaudroques commented 1 year ago

I'm sorry, I am completely confused.

Given those line numbers:

    at net.sourceforge.plantuml.StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(StringUtils.java:298)
    at net.sourceforge.plantuml.StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(StringUtils.java:307)

It looks like you are running a modified or a old version of PlantUML. For example, depending on the version, I have this or this in line 298 and that does not match your stacktrace. Even version 1.2022.5 does not match your stack trace.

Could you double-check your version with:

@startuml
version
@enduml

Since the issue is quite old, did you upgrade to last version? It may help.

Keep us informed!

nfrankel commented 1 year ago

Everything works fine up until v1.2022.1.

I've tried submitting the basic Bob -> Alice : hello: it works with neither version v1.2022.14 nor version v1.2023.4.

v1.2022.2 is the first non-working version.