Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NegativeArraySizeException after upgrading from 1.6.0 to 2.1.6 with large document #80

Closed
mrotteveel opened this issue Jul 29, 2022 · 2 comments

Comments

@mrotteveel
Copy link

mrotteveel commented Jul 29, 2022

After upgrading to asciidoctorj-pdf 2.1.6 (from 1.6.0) in a project using asciidoctor-gradle-plugin, building a large document results in java.lang.NegativeArraySizeException (when using my custom theme):

Exception in thread "main" org.asciidoctor.gradle.remote.AsciidoctorRemoteExecutionException: Error running Asciidoctor whilst attempting to process D:\Development\firebird-documentation\src\docs\asciidoc\en\refdocs\fblangref40\firebird-40-language-reference.adoc using backend pdf
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:91)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
        at groovy.lang.Closure.call(Closure.java:412)
        at groovy.lang.Closure.call(Closure.java:428)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2396)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.convertFiles(AsciidoctorJavaExec.groovy:82)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.access$1(AsciidoctorJavaExec.groovy)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.doCall(AsciidoctorJavaExec.groovy:73)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.call(AsciidoctorJavaExec.groovy)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2384)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:68)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:49)
Caused by: java.lang.NegativeArraySizeException: -1569785929
        at org.jruby.util.ByteList.ensure(ByteList.java:345)
        at org.jruby.util.io.EncodingUtils.strBufCat(EncodingUtils.java:1712)
        at org.jruby.util.io.EncodingUtils.strBufCat(EncodingUtils.java:1697)
        at org.jruby.util.io.EncodingUtils.encCrStrBufCat(EncodingUtils.java:1820)
        at org.jruby.util.io.EncodingUtils.encCrStrBufCat(EncodingUtils.java:1747)
        at org.jruby.RubyString.cat19(RubyString.java:1372)
        at org.jruby.RubyString.cat19(RubyString.java:1362)
        at org.jruby.RubyHash$4.visit(RubyHash.java:864)
        at org.jruby.RubyHash$4.visit(RubyHash.java:851)
        at org.jruby.RubyHash.visitLimited(RubyHash.java:698)
        at org.jruby.RubyHash.visitAll(RubyHash.java:683)
        at org.jruby.RubyHash.inspectHash(RubyHash.java:846)
        at org.jruby.RubyHash.inspect(RubyHash.java:883)
        at org.jruby.RubyHash$INVOKER$i$0$0$inspect.call(RubyHash$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyHash$4.visit(RubyHash.java:855)
        at org.jruby.RubyHash$4.visit(RubyHash.java:851)
        at org.jruby.RubyHash.visitLimited(RubyHash.java:698)
        at org.jruby.RubyHash.visitAll(RubyHash.java:683)
        at org.jruby.RubyHash.inspectHash(RubyHash.java:846)
        at org.jruby.RubyHash.inspect(RubyHash.java:883)
        at org.jruby.RubyHash$INVOKER$i$0$0$inspect.call(RubyHash$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyNameError$RubyNameErrorMessage.to_str(RubyNameError.java:121)
        at org.jruby.RubyNameError$RubyNameErrorMessage$INVOKER$i$0$0$to_str.call(RubyNameError$RubyNameErrorMessage$INVOKER$i$0$0$to_str.gen)
        at org.jruby.RubyClass.checkFuncallDefault(RubyClass.java:659)
        at org.jruby.RubyClass.finvokeChecked(RubyClass.java:603)
        at org.jruby.runtime.Helpers.invokeChecked(Helpers.java:501)
        at org.jruby.RubyBasicObject.checkCallMethod(RubyBasicObject.java:346)
        at org.jruby.util.TypeConverter.convertToType(TypeConverter.java:86)
        at org.jruby.util.TypeConverter.convertToType(TypeConverter.java:117)
        at org.jruby.RubyBasicObject.convertToString(RubyBasicObject.java:794)
        at org.jruby.RubyNameError.to_s(RubyNameError.java:236)
        at org.jruby.RubyNameError$INVOKER$i$0$0$to_s.call(RubyNameError$INVOKER$i$0$0$to_s.gen)
        at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:831)
        at org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)
        at org.jruby.ir.instructions.UnresolvedSuperInstr.interpret(UnresolvedSuperInstr.java:104)
        at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)
        at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
        at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:121)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:108)
        at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
        at org.jruby.RubyClass.finvoke(RubyClass.java:572)
        at org.jruby.runtime.Helpers.invoke(Helpers.java:452)
        at org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:354)
        at org.jruby.RubyException.message(RubyException.java:285)
        at org.jruby.exceptions.RaiseException.getMessage(RaiseException.java:93)
        at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:398)
        at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:366)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:87)
        ... 22 more

When disabling my custom theme, the error changes (probably because this results in a smaller PDF, at least if I run on 1.6.0) to a "java.lang.ArrayIndexOutOfBoundsException: arraycopy: last destination index 2636169695 out of bounds for byte[1976861743]" in what - at least at a casual glance - is the same place:

Exception in thread "main" org.asciidoctor.gradle.remote.AsciidoctorRemoteExecutionException: Error running Asciidoctor whilst attempting to process D:\Development\firebird-documentation\src\docs\asciidoc\en\refdocs\fblangref40\firebird-40-language-reference.adoc using backend pdf
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:91)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
        at groovy.lang.Closure.call(Closure.java:412)
        at groovy.lang.Closure.call(Closure.java:428)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2396)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.convertFiles(AsciidoctorJavaExec.groovy:82)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.access$1(AsciidoctorJavaExec.groovy)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.doCall(AsciidoctorJavaExec.groovy:73)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.call(AsciidoctorJavaExec.groovy)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2384)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:68)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:49)
Caused by: java.lang.ArrayIndexOutOfBoundsException: arraycopy: last destination index 2636169695 out of bounds for byte[1976861743]
        at org.jruby.util.ByteList.append(ByteList.java:547)
        at org.jruby.util.io.EncodingUtils.strBufCat(EncodingUtils.java:1713)
        at org.jruby.util.io.EncodingUtils.strBufCat(EncodingUtils.java:1697)
        at org.jruby.util.io.EncodingUtils.encCrStrBufCat(EncodingUtils.java:1820)
        at org.jruby.util.io.EncodingUtils.encCrStrBufCat(EncodingUtils.java:1747)
        at org.jruby.RubyString.cat19(RubyString.java:1372)
        at org.jruby.RubyString.cat19(RubyString.java:1362)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1678)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyArray.inspectAry(RubyArray.java:1668)
        at org.jruby.RubyArray.inspect(RubyArray.java:1698)
        at org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.inspectObj(RubyBasicObject.java:1234)
        at org.jruby.RubyBasicObject.hashyInspect(RubyBasicObject.java:1178)
        at org.jruby.RubyBasicObject.inspect(RubyBasicObject.java:1150)
        at org.jruby.RubyKernel.inspect(RubyKernel.java:2088)
        at org.jruby.RubyKernel$INVOKER$s$0$0$inspect.call(RubyKernel$INVOKER$s$0$0$inspect.gen)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)
        at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187)
        at org.jruby.RubyObject.inspect(RubyObject.java:442)
        at org.jruby.RubyNameError$RubyNameErrorMessage.to_str(RubyNameError.java:121)
        at org.jruby.RubyNameError$RubyNameErrorMessage$INVOKER$i$0$0$to_str.call(RubyNameError$RubyNameErrorMessage$INVOKER$i$0$0$to_str.gen)
        at org.jruby.RubyClass.checkFuncallDefault(RubyClass.java:659)
        at org.jruby.RubyClass.finvokeChecked(RubyClass.java:603)
        at org.jruby.runtime.Helpers.invokeChecked(Helpers.java:501)
        at org.jruby.RubyBasicObject.checkCallMethod(RubyBasicObject.java:346)
        at org.jruby.util.TypeConverter.convertToType(TypeConverter.java:86)
        at org.jruby.util.TypeConverter.convertToType(TypeConverter.java:117)
        at org.jruby.RubyBasicObject.convertToString(RubyBasicObject.java:794)
        at org.jruby.RubyNameError.to_s(RubyNameError.java:236)
        at org.jruby.RubyNameError$INVOKER$i$0$0$to_s.call(RubyNameError$INVOKER$i$0$0$to_s.gen)
        at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:831)
        at org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)
        at org.jruby.ir.instructions.UnresolvedSuperInstr.interpret(UnresolvedSuperInstr.java:104)
        at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)
        at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
        at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:121)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:108)
        at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
        at org.jruby.RubyClass.finvoke(RubyClass.java:572)
        at org.jruby.runtime.Helpers.invoke(Helpers.java:452)
        at org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:354)
        at org.jruby.RubyException.message(RubyException.java:285)
        at org.jruby.exceptions.RaiseException.getMessage(RaiseException.java:93)
        at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:398)
        at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:366)
        at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:87)
        ... 22 more

Steps to reproduce:

  • checkout https://github.com/FirebirdSQL/firebird-documentation.git
  • edit build.gradle, line 73 (in asciidocPdf task) from version '1.6.0' to version '2.1.6'
  • run ./gradlew asciidocPdf --baseName refdocs --docId fblangref40 (I'm using Java 17.0.4 on Windows 11 64-bit, but I don't think it matters)
  • for comparison, a smaller file works fine (./gradlew asciidocPdf --docId gfix)

Although the error is different, this seems to similar to the problem reported in #36.

@robertpanzer
Copy link
Member

I can build the document successfully after also upgrading asciidoctorj itself:

def asciidocPdf = tasks.register('asciidocPdf', FbAsciidocPdfTask) {
    group 'Documentation'
    description 'Generate PDF documentation from asciidoc'
    baseDirFollowsSourceFile()
    attributes 'revnumber': null, 'source-highlighter': 'rouge', 'media': 'screen', 'toc': 'macro', 'compress': '',
            'icon-set': 'fas', 'pdf-fontsdir': "${file('src/theme/fonts')},GEM_FONTS_DIR"
    theme 'firebird'
    asciidoctorj {
        version = '2.5.5'
        modules {
            pdf {
                version '2.1.6'
            }
        }
    }
}

@mrotteveel
Copy link
Author

Thanks, that indeed does the trick. I hadn't thought of checking that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants