Asciidoctor-pdf: PDF backend in Gradle produces (SystemCallError) 123 - FindFirstFile

Created on 16 Sep 2017  路  9Comments  路  Source: asciidoctor/asciidoctor-pdf

Version: 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16'

When running Gradle task :documentation:asciidoctor on the current JUnit 5 master branch on Windows, the following stacktrace is produced:

[...]
Caused by: org.gradle.api.GradleException: Error running Asciidoctor
    at org.asciidoctor.gradle.AsciidoctorTask.processDocumentsAndResources(AsciidoctorTask.groovy:663)
    at org.asciidoctor.gradle.AsciidoctorTask.processAsciidocSources(AsciidoctorTask.groovy:596)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:141)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:731)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:705)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    ... 27 more
Caused by: org.jruby.exceptions.RaiseException: (SystemCallError) Unknown error (SystemCallError) 123 - FindFirstFile
    at RUBY.symlink?(uri:classloader:/jruby/kernel/file.rb:141)
    at RUBY.<module:Prawn>(uri:classloader:/gems/prawn-2.2.2/lib/prawn.rb:11)
    at RUBY.<main>(uri:classloader:/gems/prawn-2.2.2/lib/prawn.rb:9)
    at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:961)
    at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)
    at RUBY.<main>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54)
    at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:961)
    at RUBY.(root)(uri:classloader:/gems/asciidoctor-pdf-1.5.0.alpha.16/lib/asciidoctor-pdf/converter.rb:3)
    at RUBY.<main>(uri:classloader:/jruby/kernel/kernel.rb:1)
    at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:961)
    at RUBY.require_relative(uri:classloader:/jruby/kernel/kernel.rb:13)
    at RUBY.<main>(uri:classloader:/gems/asciidoctor-pdf-1.5.0.alpha.16/lib/asciidoctor-pdf.rb:3)

BUILD FAILED in 4s
20 actionable tasks: 9 executed, 11 up-to-date
(SystemCallError) Unknown error (SystemCallError) 123 - FindFirstFile
23:32:14: External task execution finished 'asciidoctor --stacktrace'.

Work-around: dont add the pdf backend to asciidoctor task configuration.

Most helpful comment

buildscript {
    dependencies {
        ...
        classpath 'org.jruby:jruby-complete:9.1.13.0'
    }
}

All 9 comments

Can you share which version of Java and which version of JRuby are being used? There are a known issues with various Java and JRuby combinations on Windows, so the version you use is very important.

jdk1.8.0_121 x64 and JRuby... I didn't install it manually. Will check the logs for the JRuby version.

Can it extracted from here: https://github.com/junit-team/junit5/blob/master/documentation/documentation.gradle ?

Update: jdk1.8.0_144 produces the same error

According to the build log it's: jruby-complete-9.1.12.0.jar

Found: https://github.com/jruby/jruby/issues/4745 - seems to match exactly.
How do I upgrade the JRuby version now...

You can set the version of JRuby that Gradle uses with the following configuration:

jruby.execVersion '9.1.13.0'

See http://jruby-gradle.org/base/

Actually, since this build doesn't use the JRuby Gradle plugin, it's just a matter of defining the jruby-complete dependency on the classpath. AsciidoctorJ brings in a default version, but you can override it in the normal way. It's just a library.

buildscript {
    dependencies {
        ...
        classpath 'org.jruby:jruby-complete:9.1.13.0'
    }
}

Using JRuby 9.1.14, it now fails on Linux. See https://github.com/junit-team/junit5/issues/1099#issuecomment-345517452 or https://github.com/jruby/jruby/issues/4805#issuecomment-346008259

On Windows, I can create the PDF.

Was this page helpful?
0 / 5 - 0 ratings