Bug#990872: puppetdb.jar crashes out of the box with clojure classpath error

2021-07-11 Thread Gabriel G. Rosa
On Sat, 10 Jul 2021 14:08:00 -0400 =?UTF-8?Q?Louis-Philippe_V=c3=a9ronneau?= 
 wrote:
> On Fri, 09 Jul 2021 23:14:22 -0700 "Gabriel G. Rosa"
>  wrote:
> > 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
> 
> I've seen that error elsewhere while running clojure testsuites for
> packages depending on libcore-async-clojure [1] and never got to debug it...
> 
> I've just re-built libcore-async-clojure and libtools-analyzer-clojure
> locally and their full testsuites passes though.
> 
> I've also checked, and libtools-analyzer-clojure does ship the right jar
> files:
> 
> usr/
> └── share
> ├── doc
> │   └── libtools-analyzer-clojure
> │   ├── changelog.Debian.gz
> │   ├── changelog.gz
> │   ├── CONTRIBUTING.md
> │   ├── copyright
> │   └── README.md.gz
> ├── java
> │   ├── tools.analyzer-1.0.0.jar
> │   └── tools.analyzer.jar -> tools.analyzer-1.0.0.jar
> └── maven-repo
> └── org
> └── clojure
> └── tools.analyzer
> ├── 1.0.0
> │   ├── tools.analyzer-1.0.0.jar
> │   └── tools.analyzer-1.0.0.pom
> └── debian
> ├── tools.analyzer-debian.jar ->
> ../1.0.0/tools.analyzer-1.0.0.jar
> └── tools.analyzer-debian.pom
> 
> Those jars do contain the right clojure files too...
> 
> clojure/
> └── tools
> ├── analyzer
> │   ├── ast
> │   │   └── query.clj
> │   ├── ast.clj
> │   ├── env.clj
> │   ├── passes



So if I include a few extra jars in the command line, it gets me a little 
further:

grosa@puppet:~$ sudo /usr/bin/java -Xmx192m -Djava.security.egd=/dev/urandom 
-XX:OnOutOfMemoryError="kill -9 %p" -cp 
/usr/share/puppetdb/puppetdb.jar:/usr/share/java/tools.analyzer.jar:/usr/share/java/tools.analyzer.jvm.jar
 clojure.main -m puppetlabs.puppetdb.core services --config 
/etc/puppetdb/conf.d --bootstrap-config /etc/puppetdb/bootstrap.cfg 
--restart-file /run/puppetdb/restart
Syntax error (ClassNotFoundException) compiling . at 
(puppetlabs/http/client/async.clj:60:5).
org.apache.http.nio.protocol.HttpAsyncResponseConsumer

Full report at:
/tmp/clojure-11985391683440035019.edn



clojure-11985391683440035019.edn
Description: Binary data


But still not at a working puppetdb http listener… Sorry I am fumbling in the 
dark a bit — I am not at all familiar with java and clojure. Should I be filing 
a bug report against a different package?

Thanks,
-G



Bug#990872: puppetdb.jar crashes out of the box with clojure classpath error

2021-07-09 Thread Gabriel G. Rosa
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__auto7175
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__auto6542
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]
   [cloju