asciidoctor / asciidoctorj-pdf

AsciidoctorJ PDF bundles the Asciidoctor PDF RubyGem (asciidoctor-pdf) so it can be loaded into the JVM using JRuby.
Apache License 2.0
36 stars 17 forks source link

JRuby does not support StringIO larger than 2147483647 bytes #36

Open cxl-todd opened 4 years ago

cxl-todd commented 4 years ago

Whenever I try to use a custom theme font for the PDF creation, regardless of the font I choose, I get an error with JRuby StringIO.

[ERROR] Failed to execute goal org.asciidoctor:asciidoctor-maven-plugin:1.6.0:process-asciidoc (output-full-pdf) on foo-project: Execution output-full-pdf of goal org.asciidoctor:asciidoctor-maven-plugin:1.6.0:process-asciidoc failed: org.jruby.exceptions.ArgumentError: (ArgumentError) JRuby does not support StringIO larger than 2147483647 bytes -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.asciidoctor:asciidoctor-maven-plugin:1.6.0:process-asciidoc (output-full-pdf) on project foo-project: Execution output-full-pdf of goal org.asciidoctor:asciidoctor-maven-plugin:1.6.0:process-asciidoc failed: org.jruby.exceptions.ArgumentError: (ArgumentError) JRuby does not support StringIO larger than 2147483647 bytes
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution output-full-pdf of goal org.asciidoctor:asciidoctor-maven-plugin:1.6.0:process-asciidoc failed: org.jruby.exceptions.ArgumentError: (ArgumentError) JRuby does not support StringIO larger than 2147483647 bytes
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.asciidoctor.internal.AsciidoctorCoreException: org.jruby.exceptions.ArgumentError: (ArgumentError) JRuby does not support StringIO larger than 2147483647 bytes
    at org.asciidoctor.internal.JRubyAsciidoctor.convertFile (JRubyAsciidoctor.java:498)
    at org.asciidoctor.internal.JRubyAsciidoctor.convertFile (JRubyAsciidoctor.java:469)
    at org.asciidoctor.maven.AsciidoctorMojo.renderFile (AsciidoctorMojo.java:469)
    at org.asciidoctor.maven.AsciidoctorMojo.execute (AsciidoctorMojo.java:253)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.jruby.exceptions.ArgumentError: (ArgumentError) JRuby does not support StringIO larger than 2147483647 bytes
    at org.jruby.ext.stringio.StringIO.pos= (org/jruby/ext/stringio/StringIO.java:777)
    at RUBY.parse_from (uri:classloader:/gems/ttfunk-1.5.1/lib/ttfunk/reader.rb:23)
    at RUBY.initialize (uri:classloader:/gems/ttfunk-1.5.1/lib/ttfunk/table.rb:20)
    at RUBY.os2 (uri:classloader:/gems/ttfunk-1.5.1/lib/ttfunk.rb:101)
    at RUBY.ascent (uri:classloader:/gems/ttfunk-1.5.1/lib/ttfunk.rb:50)
    at RUBY.initialize (uri:classloader:/gems/prawn-2.2.2/lib/prawn/font/ttf.rb:32)
    at RUBY.load (uri:classloader:/gems/prawn-2.2.2/lib/prawn/font.rb:298)
    at RUBY.find_font (uri:classloader:/gems/prawn-2.2.2/lib/prawn/font.rb:253)
    at RUBY.font (uri:classloader:/gems/prawn-2.2.2/lib/prawn/font.rb:57)
    at RUBY.font (uri:classloader:/gems/asciidoctor-pdf-1.5.0.beta.8/lib/asciidoctor/pdf/ext/prawn/extensions.rb:205)
    at RUBY.layout_title_page (uri:classloader:/gems/asciidoctor-pdf-1.5.0.beta.8/lib/asciidoctor/pdf/converter.rb:2651)
    at RUBY.convert_document (uri:classloader:/gems/asciidoctor-pdf-1.5.0.beta.8/lib/asciidoctor/pdf/converter.rb:198)
    at RUBY.convert (uri:classloader:/gems/asciidoctor-pdf-1.5.0.beta.8/lib/asciidoctor/pdf/converter.rb:141)
    at RUBY.convert (uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb:1190)
    at RUBY.convert (uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor.rb:1521)
    at RUBY.convert_file (uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor.rb:1595)
    at org.jruby.RubyIO.open (org/jruby/RubyIO.java:1157)
    at RUBY.convert_file (uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor.rb:1595)
robertpanzer commented 4 years ago

Can you please provide an example that allows to reproduce this issue?