• Bug#1104386: puppetserver: FTBFS randomly: make[1]: *** [debian/rules:6

    From Lucas Nussbaum@21:1/5 to All on Tue Apr 29 16:00:04 2025
    Source: puppetserver
    Version: 8.7.0-4
    Severity: important
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-20250428 ftbfs-trixie ftbfs-randomly

    Hi,

    Your package fails to build randomly on amd64: In the exact same
    environment, sometimes it builds fine, and sometimes it fails.

    Relevant part (hopefully):
    make[1]: Entering directory '/build/reproducible-path/puppetserver-8.7.0'
    # make facter and puppet gems available to the testsuite
    # upstream uses git submodules here, but we can use Debian sources instead for component in facter puppet resource_api; do \
    mkdir -p ruby/${component}/lib; \
    if [ "$component" = "puppet" ]; then package=puppet-agent ; \
    elif [ "$component" = "resource_api" ]; then package=ruby-puppet-resource-api ; \
    else package=$component; fi; \
    dpkg -L $package | grep -Po "^/usr/lib/ruby/vendor_ruby/\K.*" | \
    while read file; do \
    if [ -d /usr/lib/ruby/vendor_ruby/$file ]; then \
    mkdir -p ruby/${component}/lib/$file; \
    else \
    ln -sf /usr/lib/ruby/vendor_ruby/$file ruby/${component}/lib/$file; \
    fi; \
    done; \
    done
    # symlink vendored gems to the test suite's custom gem-home
    # (see test/unit/puppetlabs/services/jruby/jruby_puppet_testutils.clj)
    mkdir -p /tmp/tmp.SxLxLHtjqL/.puppetlabs/opt/server/data/puppetserver
    ln -s /build/reproducible-path/puppetserver-8.7.0/target/vendored-jruby-gems /tmp/tmp.SxLxLHtjqL/.puppetlabs/opt/server/data/puppetserver/jruby-gems
    # regenerate tls certificates used in https tests
    cd dev-resources/puppetlabs && ( \
    for testdir in puppetserver/ruby/http_client_test puppetserver/certificate_authority_test/master/conf puppetserver/certificate_authority_test/update_crls services/ca/certificate_authority_core_test/update_crls services/certificate_authority/
    certificate_authority_int_test/ca_true_test/master/conf services/certificate_authority/certificate_authority_int_test/infracrl_test/master/conf; do \
    cp -a $testdir ${testdir}.clean; \
    done )
    ruby /build/reproducible-path/puppetserver-8.7.0/dev-resources/regen_certs.rb Regenerating PKI for puppetlabs.puppetserver.ruby.http-client-test ... Regenerating PKI for puppetlabs.puppetserver.certificate-authority-test ... Regenerating PKI for puppetlabs.puppetserver.certificate-authority-test/update-crls ...
    Regenerating PKI for puppetlabs.services.ca.certificate-authority-core-test ...
    Regenerating PKI for puppetlabs.services.certificate-authority.certificate-authority-int-test...
    # run unit and integration tests _JAVA_OPTIONS=-Duser.home=/tmp/tmp.SxLxLHtjqL lein test
    Picked up _JAVA_OPTIONS: -Duser.home=/tmp/tmp.SxLxLHtjqL
    Picked up _JAVA_OPTIONS: -Duser.home=/tmp/tmp.SxLxLHtjqL
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/usr/share/java/logback-classic.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/usr/share/java/logback-classic-1.2.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    02:17:05,169 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [file:/build/reproducible-path/puppetserver-8.7.0/dev-resources/logback-test.xml]
    02:17:05,170 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs multiple times on the classpath.
    02:17:05,170 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/usr/share/java/trapperkeeper-metrics-1.5.0.jar!/logback-test.xml]
    02:17:05,170 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/usr/share/java/trapperkeeper-metrics-test-1.5.0.jar!/logback-test.xml]
    02:17:05,170 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [file:/build/reproducible-path/puppetserver-8.7.0/dev-resources/logback-test.xml]
    02:17:05,228 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
    02:17:05,233 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
    02:17:05,236 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
    02:17:05,240 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    02:17:05,280 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.eclipse.jetty] to WARN
    02:17:05,280 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.http] to WARN
    02:17:05,280 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to WARN
    02:17:05,280 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
    02:17:05,280 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
    02:17:05,281 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3e5beab5 - Registering current configuration as safe fallback point

    SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

    lein test puppetlabs.general-puppet.general-puppet-int-test

    lein test puppetlabs.puppetserver.auth-conf-test

    lein test puppetlabs.puppetserver.bootstrap-int-test

    lein test puppetlabs.puppetserver.certificate-authority-test

    lein test puppetlabs.puppetserver.error-handling-int-test

    lein test puppetlabs.puppetserver.ringutils-test

    lein test puppetlabs.puppetserver.ruby.http-client-test

    lein test puppetlabs.services.analytics.analytics-service-test

    lein test puppetlabs.services.ca.certificate-authority-core-test

    lein test puppetlabs.services.ca.certificate-authority-disabled-test

    lein test puppetlabs.services.certificate-authority.certificate-authority-int-test

    lein test puppetlabs.services.config.puppet-server-config-core-test

    lein test puppetlabs.services.config.puppet-server-config-service-test

    lein test puppetlabs.services.jruby.class-info-test

    lein test puppetlabs.services.jruby.jruby-metrics-service-test

    lein test puppetlabs.services.jruby.jruby-puppet-core-test

    lein test puppetlabs.services.jruby.jruby-puppet-pool-int-test
    Profiling enabled; ^C shutdown will now dump profile info

    lein test puppetlabs.services.jruby.jruby-puppet-service-test

    lein test puppetlabs.services.jruby.module-info-test

    lein test puppetlabs.services.jruby.puppet-environments-int-test

    lein test puppetlabs.services.jruby.puppet-environments-test

    lein test puppetlabs.services.jruby.request-handler-test

    lein test puppetlabs.services.jruby.service-macros-test

    lein test puppetlabs.services.jruby.tasks-test

    lein test :only puppetlabs.services.jruby.tasks-test/puppetlabs.services.jruby.tasks-test

    ERROR in (puppetlabs.services.jruby.tasks-test) (internal.clj:627)
    Uncaught exception in test fixture
    expected: nil
    actual: clojure.lang.ExceptionInfo: Error during app shutdown!
    {:errors (#error {
    :cause "Lock can't be granted because a pill has been inserted"
    :via
    [{:type java.lang.InterruptedException
    :message "Lock can't be granted because a pill has been inserted"
    :at [com.puppetlabs.jruby_utils.pool.JRubyPool lockWithTimeout "JRubyPool.java" 390]}]
    :trace
    [[com.puppetlabs.jruby_utils.pool.JRubyPool lockWithTimeout "JRubyPool.java" 390]
    [jdk.internal.reflect.DirectMethodHandleAccessor invoke "DirectMethodHandleAccessor.java" 103]
    [java.lang.reflect.Method invoke "Method.java" 580]
    [clojure.lang.Reflector invokeMatchingMethod "Reflector.java" 196]
    [clojure.lang.Reflector invokeInstanceMethodOfClass "Reflector.java" 106]
    [clojure.lang.Reflector invokeInstanceMethod "Reflector.java" 98]
    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval27028$borrow_all_jrubies__27033$fn__27034$fn__27035 invoke "jruby_agents.clj" 144]
    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval27028$borrow_all_jrubies__27033$fn__27034 invoke "jruby_agents.clj" 143]
    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval27028$borrow_all_jrubies__27033 invoke "jruby_agents.clj" 135]
    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval27125$drain_and_refill_pool_BANG___27134$fn__27137 invoke "jruby_agents.clj" 215]
    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval27125$drain_and_refill_pool_BANG___27134 invoke "jruby_agents.clj" 197]
    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval27166$flush_pool_for_shutdown_BANG___27171$fn__27172 invoke "jruby_agents.clj" 236]
    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval27166$flush_pool_for_shutdown_BANG___27171 invoke "jruby_agents.clj" 224]
    [puppetlabs.services.jruby_pool_manager.impl.instance_pool$eval29364$fn__29389 invoke "instance_pool.clj" 20]
    [puppetlabs.services.protocols.jruby_pool$eval27627$fn__27737$G__27616__27742 invoke "jruby_pool.clj" 3]
    [puppetlabs.services.jruby_pool_manager.jruby_core$eval28255$flush_pool_for_shutdown_BANG___28260$fn__28261 invoke "jruby_core.clj" 251]
    [puppetlabs.services.jruby_pool_manager.jruby_core$eval28255$flush_pool_for_shutdown_BANG___28260 invoke "jruby_core.clj" 246]
    [puppetlabs.services.jruby.jruby_puppet_service$reify__38796$service_fnk__5972__auto___positional$reify__38810 stop "jruby_puppet_service.clj" 50]
    [puppetlabs.trapperkeeper.services$eval5770$fn__5784$G__5762__5787 invoke "services.clj" 7]
    [puppetlabs.trapperkeeper.services$eval5770$fn__5784$G__5761__5791 invoke "services.clj" 7]
    [puppetlabs.trapperkeeper.internal$eval16292$run_lifecycle_fn_BANG___16299$fn__16300 invoke "internal.clj" 196]
    [puppetlabs.trapperkeeper.internal$eval16292$run_lifecycle_fn_BANG___16299 invoke "internal.clj" 179]
    [puppetlabs.trapperkeeper.internal$eval16878$shutdown_BANG___16883$fn__16884$shutdown_fn__16886$fn__16888 invoke "internal.clj" 464]
    [clojure.core$keep$fn__8691 invoke "core.clj" 7533]
    [clojure.lang.LazySeq force "LazySeq.java" 50]
    [clojure.lang.LazySeq realize "LazySeq.java" 89]
    [clojure.lang.LazySeq seq "LazySeq.java" 106]
    [clojure.lang.RT seq "RT.java" 555]
    [clojure.core$seq__5486 invokeStatic "core.clj" 139]
    [clojure.core$dorun invokeStatic "core.clj" 3141]
    [clojure.core$doall invokeStatic "core.clj" 3156]
    [clojure.core$doall invoke "core.clj" 3156]
    [puppetlabs.trapperkeeper.internal$eval16878$shutdown_BANG___16883$fn__16884$shutdown_fn__16886 invoke "internal.clj" 460]
    [puppetlabs.trapperkeeper.internal$eval16366$initialize_lifecycle_worker__16377$fn__16378$fn__16541$state_machine__13528__auto____16566$fn__16569$fn__16591 invoke "internal.clj" 274]
    [puppetlabs.trapperkeeper.internal$eval16366$initialize_lifecycle_worker__16377$fn__16378$fn__16541$state_machine__13528__auto____16566$fn__16569 invoke "internal.clj" 258]
    [puppetlabs.trapperkeeper.internal$eval16366$initialize_lifecycle_worker__16377$fn__16378$fn__16541$state_machine__13528__auto____16566 invoke "internal.clj" 249]
    [clojure.core.async.impl.ioc_macros$run_state_machine invokeStatic "ioc_macros.clj" 978]
    [clojure.core.async.impl.ioc_macros$run_state_machine invoke "ioc_macros.clj" 977]
    [clojure.core.async.impl.ioc_macros$run_state_machine_wrapped invokeStatic "ioc_macros.clj" 982]
    [clojure.core.async.impl.ioc_macros$run_state_machine_wrapped invoke "ioc_macros.clj" 980]
    [clojure.core.async$ioc_alts_BANG_$fn__13775 invoke "async.clj" 421]
    [clojure.core.async$do_alts$fn__13706$fn__13709 invoke "async.clj" 288]
    [clojure.core.async.impl.channels.ManyToManyChannel$fn__7449 invoke "channels.clj" 139]
    [clojure.lang.AFn run "AFn.java" 22]
    [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1144]
    [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 642]
    [clojure.core.async.impl.concurrent$counted_thread_factory$reify__7302$fn__7303 invoke "concurrent.clj" 29]
    [clojure.lang.AFn run "AFn.java" 22]
    [java.lang.Thread run "Thread.java" 1583]]})}
    at puppetlabs.trapperkeeper.internal$eval16958$build_app_STAR___16967$fn$reify__16979.stop (internal.clj:627)
    puppetlabs.services.jruby.tasks_test$with_running_server$fn__62283.invoke (tasks_test.clj:38)
    clojure.core$with_redefs_fn.invokeStatic (core.clj:7706)
    clojure.core$with_redefs_fn.invoke (core.clj:7690)
    puppetlabs.services.jruby.tasks_test$with_running_server.invokeStatic (tasks_test.clj:38)
    puppetlabs.services.jruby.tasks_test$with_running_server.invoke (tasks_test.clj:33)
    clojure.test$compose_fixtures$fn__9888$fn__9889.invoke (test.clj:694)
    clojure.test$default_fixture.invokeStatic (test.clj:687)
    clojure.test$default_fixture.invoke (test.clj:683)
    clojure.test$compose_fixtures$fn__9888.invoke (test.clj:694)
    clojure.test$test_vars$fn__9920.invoke (test.clj:735)
    schema.test$validate_schemas$fn46096__46105$fn__46106.invoke (test.cljc:12)
    schema.test$validate_schemas$fn46096__46105.invoke (test.cljc:12)
    clojure.lang.AFn.applyToHelper (AFn.java:152)
    clojure.lang.AFn.applyTo (AFn.java:144)
    clojure.lang.AFunction$1.doInvoke (AFunction.java:33)
    clojure.lang.RestFn.invoke (RestFn.java:400)
    schema.test$validate_schemas.invokeStatic (test.cljc:12)
    schema.test$validate_schemas.invoke (test.cljc:7)
    clojure.test$compose_fixtures$fn__9888$fn__9889.invoke (test.clj:694)
    clojure.test$default_fixture.invokeStatic (test.clj:687)
    clojure.test$default_fixture.invoke (test.clj:683)
    clojure.test$compose_fixtures$fn__9888.invoke (test.clj:694)
    clojure.test$test_vars.invokeStatic (test.clj:731)
    clojure.test$test_all_vars.invokeStatic (test.clj:737)
    clojure.test$test_ns.invokeStatic (test.clj:758)
    clojure.test$test_ns.invoke (test.clj:743)
    user$eval225$fn__288.invoke (form-init9294449238353913047.clj:1)
    clojure.lang.AFn.applyToHelper (AFn.java:156)
    clojure.lang.AFn.applyTo (AFn.java:144)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$apply.invoke (core.clj:662)
    leiningen.core.injected$compose_hooks$fn__152.doInvoke (form-init9294449238353913047.clj:1)
    clojure.lang.RestFn.applyTo (RestFn.java:140)
    clojure.core$apply.invokeStatic (core.clj:667)
    clojure.core$apply.invoke (core.clj:662)
    leiningen.core.injected$run_hooks.invokeStatic (form-init9294449238353913047.clj:1)
    leiningen.core.injected$run_hooks.invoke (form-init9294449238353913047.clj:1)
    leiningen.core.injected$prepare_for_hooks$fn__157$fn__158.doInvoke (form-init9294449238353913047.clj:1)
    clojure.lang.RestFn.applyTo (RestFn.java:140)
    clojure.lang.AFunction$1.doInvoke (AFunction.java:33)
    clojure.lang.RestFn.invoke (RestFn.java:411)
    clojure.core$map$fn__5954.invoke (core.clj:2772)
    clojure.lang.LazySeq.force (LazySeq.java:50)
    clojure.lang.LazySeq.realize (LazySeq.java:89)
    clojure.lang.LazySeq.seq (LazySeq.java:106)
    clojure.lang.Cons.next (Cons.java:41)
    clojure.lang.RT.next (RT.java:733)
    clojure.core$next__5470.invokeStatic (core.clj:64)
    clojure.core$reduce1.invokeStatic (core.clj:946)
    clojure.core$reduce1.invokeStatic (core.clj:936)
    clojure.core$merge_with.invokeStatic (core.clj:3083)
    clojure.core$merge_with.doInvoke (core.clj:3075)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.test$run_tests.invokeStatic (test.clj:768)
    clojure.test$run_tests.doInvoke (test.clj:768)
    clojure.lang.RestFn.applyTo (RestFn.java:140)
    clojure.core$apply.invokeStatic (core.clj:667)
    clojure.core$apply.invoke (core.clj:662)
    user$eval225$fn__298$fn__331.invoke (form-init9294449238353913047.clj:1)
    user$eval225$fn__298$fn__299.invoke (form-init9294449238353913047.clj:1)
    user$eval225$fn__298.invoke (form-init9294449238353913047.clj:1)
    user$eval225.invokeStatic (form-init9294449238353913047.clj:1)
    user$eval225.invoke (form-init9294449238353913047.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7700)
    clojure.lang.Compiler.eval (Compiler.java:7690)
    clojure.lang.Compiler.load (Compiler.java:8165)
    clojure.lang.Compiler.loadFile (Compiler.java:8103)
    clojure.main$load_script.invokeStatic (main.clj:476)
    clojure.main$init_opt.invokeStatic (main.clj:478)
    clojure.main$init_opt.invoke (main.clj:478)
    clojure.main$initialize.invokeStatic (main.clj:509)
    clojure.main$null_opt.invokeStatic (main.clj:543)
    clojure.main$null_opt.invoke (main.clj:540)
    clojure.main$main.invokeStatic (main.clj:665)
    clojure.main$main.doInvoke (main.clj:617)
    clojure.lang.RestFn.applyTo (RestFn.java:140)
    clojure.lang.Var.applyTo (Var.java:707)
    clojure.main.main (main.java:40)

    lein test puppetlabs.services.master.environment-classes-int-test

    lein test puppetlabs.services.master.environment-modules-int-test
    2025-04-29 02:26:45,384 WARN [pool-410-thread-1] [puppetserver] Puppet Could not retrieve either serverip or serverip6 fact
    2025-04-29 02:26:45,425 WARN [async-dispatch-38] [p.s.m.master-service] JDK 21.0.7 is neither tested nor supported. Please use JDK 11 or 17

    lein test puppetlabs.services.master.environment-transports-int-test

    lein test puppetlabs.services.master.master-core-test
    2025-04-29 02:27:08,160 ERROR [main] [p.p.jruby-request] Error 400 on SERVER at /v4/catalog: Invalid input: {"environment" (not (puppetlabs.services.master.master-core/valid-env-name? ""))}

    lein test puppetlabs.services.master.master-service-test

    lein test puppetlabs.services.master.plans-int-test

    lein test puppetlabs.services.master.tasks-int-test

    lein test puppetlabs.services.puppet-admin.puppet-admin-int-test

    lein test puppetlabs.services.puppet-profiler.puppet-profiler-core-test

    lein test puppetlabs.services.puppet-profiler.puppet-profiler-service-test

    lein test puppetlabs.services.request-handler.request-handler-core-test 2025-04-29 02:28:59,442 WARN [async-dispatch-25] [p.s.m.master-service] JDK 21.0.7 is neither tested nor supported. Please use JDK 11 or 17

    lein test puppetlabs.services.versioned-code-service.versioned-code-core-test

    lein test puppetlabs.services.versioned-code-service.versioned-code-service-test

    lein test puppetlabs.testutils.task-coordinator-test

    Ran 218 tests containing 12741 assertions.
    0 failures, 1 errors.
    Tests failed.
    make[1]: *** [debian/rules:66: override_dh_auto_test] Error 1


    The full build log is available from: http://qa-logs.debian.net/2025/04/28/puppetserver_8.7.0-4_unstable.log

    You can find other build logs (including successful ones) in: http://qa-logs.debian.net/2025/04/28/

    All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250428;users=lucas@debian.org
    or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250428&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

    A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

    If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects

    If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)