[Pkg-puppet-devel] Bug#990872: puppetdb.jar crashes out of the box with clojure classpath error
Gabriel G. Rosa
gabriel.g.rosa at gmail.com
Sat Jul 10 07:14:22 BST 2021
Package: puppetdb
Version: 6.2.0-5
Severity: grave
Justification: renders package unusable
Dear Maintainer,
When installing puppetdb and configuring it to listen on http port, the
puppetdb.jar crashes with the following lines in syslog:
Jul 9 23:01:46 puppet java[25194]: Syntax error (FileNotFoundException) compiling at (clojure/core/async/impl/ioc_macros.clj:1:1).
Jul 9 23:01:46 puppet java[25194]: Could not locate clojure/tools/analyzer__init.class, clojure/tools/analyzer.clj or clojure/tools/analyzer.cljc on classpath.
Jul 9 23:01:46 puppet java[25194]: Full report at:
Jul 9 23:01:46 puppet java[25194]: /tmp/clojure-1064777479875377538.edn
Here's the full text of the dumpfile:
{:clojure.main/message
"Syntax error (FileNotFoundException) compiling at (clojure/core/async/impl/ioc_macros.clj:1:1).\nCould not locate clojure/tools/analyzer__init.class, clojure/tools/analyzer.clj or clojure/tools/analyzer.cljc on classpath.\n",
:clojure.main/triage
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 1,
:clojure.error/column 1,
:clojure.error/source "ioc_macros.clj",
:clojure.error/path "clojure/core/async/impl/ioc_macros.clj",
:clojure.error/class java.io.FileNotFoundException,
:clojure.error/cause
"Could not locate clojure/tools/analyzer__init.class, clojure/tools/analyzer.clj or clojure/tools/analyzer.cljc on classpath."},
:clojure.main/trace
{:via
[{:type clojure.lang.Compiler$CompilerException,
:message
"Syntax error compiling at (clojure/core/async/impl/ioc_macros.clj:1:1).",
:data
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 1,
:clojure.error/column 1,
:clojure.error/source "clojure/core/async/impl/ioc_macros.clj"},
:at [clojure.lang.Compiler load "Compiler.java" 7652]}
{:type java.io.FileNotFoundException,
:message
"Could not locate clojure/tools/analyzer__init.class, clojure/tools/analyzer.clj or clojure/tools/analyzer.cljc on classpath.",
:at [clojure.lang.RT load "RT.java" 462]}],
:trace
[[clojure.lang.RT load "RT.java" 462]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__6857 invoke "core.clj" 6115]
[clojure.core$load invokeStatic "core.clj" 6114]
[clojure.core$load doInvoke "core.clj" 6098]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5897]
[clojure.core$load_one invoke "core.clj" 5892]
[clojure.core$load_lib$fn__6797 invoke "core.clj" 5937]
[clojure.core$load_lib invokeStatic "core.clj" 5936]
[clojure.core$load_lib doInvoke "core.clj" 5917]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$load_libs invokeStatic "core.clj" 5974]
[clojure.core$load_libs doInvoke "core.clj" 5958]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$require invokeStatic "core.clj" 5996]
[clojure.core$require doInvoke "core.clj" 5996]
[clojure.lang.RestFn invoke "RestFn.java" 930]
[clojure.core.async.impl.ioc_macros$eval7174$loading__6738__auto____7175
invoke
"ioc_macros.clj"
12]
[clojure.core.async.impl.ioc_macros$eval7174
invokeStatic
"ioc_macros.clj"
12]
[clojure.core.async.impl.ioc_macros$eval7174
invoke
"ioc_macros.clj"
12]
[clojure.lang.Compiler eval "Compiler.java" 7181]
[clojure.lang.Compiler eval "Compiler.java" 7170]
[clojure.lang.Compiler load "Compiler.java" 7640]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__6857 invoke "core.clj" 6115]
[clojure.core$load invokeStatic "core.clj" 6114]
[clojure.core$load doInvoke "core.clj" 6098]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5897]
[clojure.core$load_one invoke "core.clj" 5892]
[clojure.core$load_lib$fn__6797 invoke "core.clj" 5937]
[clojure.core$load_lib invokeStatic "core.clj" 5936]
[clojure.core$load_lib doInvoke "core.clj" 5917]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$load_libs invokeStatic "core.clj" 5974]
[clojure.core$load_libs doInvoke "core.clj" 5958]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$require invokeStatic "core.clj" 5996]
[clojure.core$require doInvoke "core.clj" 5996]
[clojure.lang.RestFn invoke "RestFn.java" 619]
[clojure.core.async$eval6541$loading__6738__auto____6542
invoke
"async.clj"
9]
[clojure.core.async$eval6541 invokeStatic "async.clj" 9]
[clojure.core.async$eval6541 invoke "async.clj" 9]
[clojure.lang.Compiler eval "Compiler.java" 7181]
[clojure.lang.Compiler eval "Compiler.java" 7170]
[clojure.lang.Compiler load "Compiler.java" 7640]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__6857 invoke "core.clj" 6115]
[clojure.core$load invokeStatic "core.clj" 6114]
[clojure.core$load doInvoke "core.clj" 6098]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5897]
[clojure.core$load_one invoke "core.clj" 5892]
[clojure.core$load_lib$fn__6797 invoke "core.clj" 5937]
[clojure.core$load_lib invokeStatic "core.clj" 5936]
[clojure.core$load_lib doInvoke "core.clj" 5917]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$load_libs invokeStatic "core.clj" 5974]
[clojure.core$load_libs doInvoke "core.clj" 5958]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$require invokeStatic "core.clj" 5996]
[clojure.core$require doInvoke "core.clj" 5996]
[clojure.lang.RestFn invoke "RestFn.java" 3894]
[puppetlabs.puppetdb.queue$eval6339$loading__6738__auto____6340
invoke
"queue.clj"
1]
[puppetlabs.puppetdb.queue$eval6339 invokeStatic "queue.clj" 1]
[puppetlabs.puppetdb.queue$eval6339 invoke "queue.clj" 1]
[clojure.lang.Compiler eval "Compiler.java" 7181]
[clojure.lang.Compiler eval "Compiler.java" 7170]
[clojure.lang.Compiler load "Compiler.java" 7640]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__6857 invoke "core.clj" 6115]
[clojure.core$load invokeStatic "core.clj" 6114]
[clojure.core$load doInvoke "core.clj" 6098]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5897]
[clojure.core$load_one invoke "core.clj" 5892]
[clojure.core$load_lib$fn__6797 invoke "core.clj" 5937]
[clojure.core$load_lib invokeStatic "core.clj" 5936]
[clojure.core$load_lib doInvoke "core.clj" 5917]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$load_libs invokeStatic "core.clj" 5974]
[clojure.core$load_libs doInvoke "core.clj" 5958]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$require invokeStatic "core.clj" 5996]
[clojure.core$require doInvoke "core.clj" 5996]
[clojure.lang.RestFn invoke "RestFn.java" 703]
[puppetlabs.puppetdb.command.dlo$eval6320$loading__6738__auto____6321
invoke
"dlo.clj"
1]
[puppetlabs.puppetdb.command.dlo$eval6320 invokeStatic "dlo.clj" 1]
[puppetlabs.puppetdb.command.dlo$eval6320 invoke "dlo.clj" 1]
[clojure.lang.Compiler eval "Compiler.java" 7181]
[clojure.lang.Compiler eval "Compiler.java" 7170]
[clojure.lang.Compiler load "Compiler.java" 7640]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__6857 invoke "core.clj" 6115]
[clojure.core$load invokeStatic "core.clj" 6114]
[clojure.core$load doInvoke "core.clj" 6098]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5897]
[clojure.core$load_one invoke "core.clj" 5892]
[clojure.core$load_lib$fn__6797 invoke "core.clj" 5937]
[clojure.core$load_lib invokeStatic "core.clj" 5936]
[clojure.core$load_lib doInvoke "core.clj" 5917]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$load_libs invokeStatic "core.clj" 5974]
[clojure.core$load_libs doInvoke "core.clj" 5958]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$require invokeStatic "core.clj" 5996]
[clojure.core$require doInvoke "core.clj" 5996]
[clojure.lang.RestFn invoke "RestFn.java" 3894]
[puppetlabs.puppetdb.cli.services$eval183$loading__6738__auto____184
invoke
"services.clj"
1]
[puppetlabs.puppetdb.cli.services$eval183
invokeStatic
"services.clj"
1]
[puppetlabs.puppetdb.cli.services$eval183 invoke "services.clj" 1]
[clojure.lang.Compiler eval "Compiler.java" 7181]
[clojure.lang.Compiler eval "Compiler.java" 7170]
[clojure.lang.Compiler load "Compiler.java" 7640]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__6857 invoke "core.clj" 6115]
[clojure.core$load invokeStatic "core.clj" 6114]
[clojure.core$load doInvoke "core.clj" 6098]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5897]
[clojure.core$load_one invoke "core.clj" 5892]
[clojure.core$load_lib$fn__6797 invoke "core.clj" 5937]
[clojure.core$load_lib invokeStatic "core.clj" 5936]
[clojure.core$load_lib doInvoke "core.clj" 5917]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$load_libs invokeStatic "core.clj" 5974]
[clojure.core$load_libs doInvoke "core.clj" 5958]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$require invokeStatic "core.clj" 5996]
[clojure.core$require doInvoke "core.clj" 5996]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[puppetlabs.puppetdb.core$run_resolved invokeStatic "core.clj" 33]
[puppetlabs.puppetdb.core$run_resolved invoke "core.clj" 31]
[puppetlabs.puppetdb.core$run_subcommand invokeStatic "core.clj" 42]
[puppetlabs.puppetdb.core$run_subcommand invoke "core.clj" 36]
[puppetlabs.puppetdb.core$_main invokeStatic "core.clj" 53]
[puppetlabs.puppetdb.core$_main doInvoke "core.clj" 51]
[clojure.lang.RestFn applyTo "RestFn.java" 139]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.core$apply invokeStatic "core.clj" 667]
[clojure.main$main_opt invokeStatic "main.clj" 514]
[clojure.main$main_opt invoke "main.clj" 510]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause
"Could not locate clojure/tools/analyzer__init.class, clojure/tools/analyzer.clj or clojure/tools/analyzer.cljc on classpath.",
:phase :compile-syntax-check}}
-- System Information:
Debian Release: 11.0
APT prefers testing-security
APT policy: (500, 'testing-security'), (500, 'unstable'), (500, 'testing')
Architecture: arm64 (aarch64)
Kernel: Linux 5.10.0-7-arm64 (SMP w/1 CPU thread)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages puppetdb depends on:
ii adduser 3.118
ii dbconfig-pgsql 2.0.19
ii debconf [debconf-2.0] 1.5.75
ii default-jre-headless 2:1.11-72
ii init-system-helpers 1.60
ii libasm-java 9.1-1
ii libat-at-clojure 1.2.0-1.1
ii libbidi-clojure 2.1.6-1
ii libcheshire-clojure 5.7.1-1.1
ii libclj-digest-clojure 1.4.9+dfsg-1
ii libclj-http-clojure 2.3.0-1.1
ii libclj-stacktrace-clojure 0.2.7-1
ii libclj-time-clojure 0.15.2-1
ii libclojure-java 1.10.2-1
ii libcommons-compress-java 1.20-1
ii libcommons-lang3-java 3.11-1
ii libcommons-logging-java 1.2-2
ii libcompojure-clojure 1.6.0-1.1
ii libcore-async-clojure 1.3.610-4
ii libcore-match-clojure 1.0.0-1
ii libcore-memoize-clojure 0.7.1-1
ii libdata-priority-map-clojure 0.0.9-1
ii libdujour-version-check-clojure 0.2.3-1
ii libfast-zip-visit-clojure 1.0.2-2
ii libgeronimo-j2ee-management-1.1-spec-java 1.0.1-1.1
ii libgeronimo-jms-1.1-spec-java 1.1.1-1
ii libhikaricp-java 2.7.9-1
ii libhoneysql-clojure 0.8.2-2
ii libinstaparse-clojure 1.4.7-1.1
ii libjava-jdbc-clojure 0.7.10-1
ii libjava-jmx-clojure 0.3.4-1.1
ii libkitchensink-clojure 3.1.1-3
ii libmath-combinatorics-clojure 0.1.4-1.1
ii libmath-numeric-tower-clojure 0.0.4-1.1
ii libmetrics-clojure 2.9.0-2.1
ii libpantomime-clojure 2.1.0+dfsg-2
ii libpostgresql-jdbc-java 42.2.22-1
ii libprismatic-schema-clojure 1.1.12-1
ii libpuppetlabs-http-client-clojure 1.2.0-2
ii libpuppetlabs-i18n-clojure 0.9.0-2
ii libraynes-fs-clojure 1.5.2-1
ii libring-core-clojure 1.6.2-4
ii librobert-hooke-clojure 1.3.0-4
ii libslf4j-java 1.7.30-1
ii libslingshot-clojure 0.12.2-3
ii libspecter-clojure 1.0.2-2.1
ii libstockpile-clojure 0.0.4-1.1
ii libtools-logging-clojure 0.2.3-6
ii libtools-macro-clojure 0.1.5-2
ii libtools-namespace-clojure 0.2.11-1.1
ii libtrapperkeeper-clojure 3.1.0-2
ii libtrapperkeeper-metrics-clojure 1.3.1-2
ii libtrapperkeeper-status-clojure 1.1.1-2
ii libtrapperkeeper-webserver-jetty9-clojure 4.1.0-4
ii libversioneer-clojure 0.2.0-1
ii lsb-base 11.1.0
ii ucf 3.0043
puppetdb recommends no packages.
Versions of packages puppetdb suggests:
pn postgresql <none>
pn postgresql-contrib <none>
-- Configuration Files:
/etc/puppetdb/conf.d/jetty.ini changed:
[jetty]
port = 8080
/etc/puppetdb/conf.d/repl.ini changed:
[nrepl]
enabled = false
port = 8082
host = 0.0.0.0
/etc/puppetdb/logback.xml changed:
<configuration scan="true" scanPeriod="60 seconds">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX} %-5p [%c{2}] %m%n</pattern>
</encoder>
</appender>
<appender name="F1" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/puppetdb/puppetdb.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>/var/log/puppetdb/puppetdb-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total-->
<maxFileSize>200MB</maxFileSize>
<maxHistory>90</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX} %-5p [%c{2}] %m%n</pattern>
</encoder>
</appender>
<!-- Supress internal Spring Framework logging -->
<logger name="org.springframework.jms.connection" level="debug"/>
<appender name="STATUS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/puppetdb/puppetdb-status.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>/var/log/puppetdb/puppetdb-status-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total-->
<maxFileSize>200MB</maxFileSize>
<maxHistory>90</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<!-- note that this will only log the JSON message (%m) and a newline (%n)-->
<pattern>%m%n</pattern>
</encoder>
</appender>
<!-- without additivity="false", the status log messages will be sent to every other appender as well-->
<logger name="puppetlabs.trapperkeeper.services.status.status-debug-logging" level="debug" additivity="false">
<appender-ref ref="STATUS"/>
</logger>
<root level="debug">
<appender-ref ref="${logappender:-DUMMY}" />
<appender-ref ref="F1" />
</root>
</configuration>
-- debconf information:
puppetdb/database-type: pgsql
* puppetdb/dbconfig-install: true
puppetdb/internal/skip-preseed: false
* puppetdb/remote/newhost: db.local
puppetdb/purge: false
* puppetdb/pgsql/admin-user: postgres
puppetdb/dbconfig-upgrade: true
* puppetdb/db/app-user: puppet at localhost
* puppetdb/pgsql/authmethod-user: password
puppetdb/pgsql/no-empty-passwords:
puppetdb/install-error: retry
puppetdb/upgrade-backup: true
* puppetdb/remote/port: 5432
puppetdb/missing-db-package-error: abort
* puppetdb/dbconfig-remove: true
* puppetdb/db/dbname: puppet
puppetdb/pgsql/manualconf:
puppetdb/internal/reconfiguring: false
puppetdb/pgsql/changeconf: false
* puppetdb/pgsql/authmethod-admin: password
puppetdb/upgrade-error: abort
puppetdb/dbconfig-reinstall: false
* puppetdb/remote/host: db.local
puppetdb/remove-error: abort
* puppetdb/passwords-do-not-match:
* puppetdb/pgsql/method: TCP/IP
More information about the Pkg-puppet-devel
mailing list