Puppet server fails to start on Satellite/Capsule 6.x with `NameError: cannot load Java class org.jruby.ext.psych.PsychLibrary` due to `fapolicyd` service being enabled

Solution Verified - Updated

Environment

  • Satellite 6

Issue

  • Not able to start puppet server in capsule server.

  • Start puppetserver fails with:

    Mar 06 15:50:48 satellite.example.com systemd[1]: Starting puppetserver Service...
    Mar 06 15:50:56 satellite.example.com puppetserver[1761305]: NameError: cannot load Java class org.jruby.ext.psych.PsychLibrary
    Mar 06 15:50:56 satellite.example.com puppetserver[1761305]:           load_ext at org/jruby/ext/jruby/JRubyUtilLibrary.java:201
    Mar 06 15:50:56 satellite.example.com puppetserver[1761305]:             <main> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/psych.rb:7
    Mar 06 15:50:56 satellite.example.com puppetserver[1761305]:            require at org/jruby/RubyKernel.java:974
    Mar 06 15:50:56 satellite.example.com puppetserver[1761305]:            require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83
    

Resolution

  • Disable fapolicydservice.

    systemctl disable --now fapolicyd
    systemctl start puppetserver
    

For more KB articles/solutions related to Red Hat Satellite 6.x Puppet Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Puppet Issues

Root Cause

Diagnostic Steps

  • fapolicyd service is enabled and /var/log/puppetlabs/puppetserver/puppetserver.log shows next error message.

    2025-03-13T11:05:31.382Z ERROR [async-dispatch-2] [p.t.internal] Error during service init!!!
    java.lang.IllegalStateException: Unable to borrow JRubyInstance from pool
            at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34208$borrow_from_pool_BANG__STAR___34213$fn__34214.invoke(jruby_internal.clj:323)
    ...
    ...
    Caused by: org.jruby.embed.EvalFailedException: (NameError) Java class org.jruby.ext.psych.PsychLibrary not found
            at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:135)
    ...
    ...
    
SBR
Product(s)

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.