[Pkg-puppet-devel] Bug#990872: puppetdb.jar crashes out of the box with clojure classpath error

Louis-Philippe Véronneau pollo at debian.org
Sat Jul 10 19:08:00 BST 2021


On Fri, 09 Jul 2021 23:14:22 -0700 "Gabriel G. Rosa"
<gabriel.g.rosa at gmail.com> 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
    │   │   ├── add_binding_atom.clj
    │   │   ├── cleanup.clj
    │   │   ├── collect_closed_overs.clj
    │   │   ├── constant_lifter.clj
    │   │   ├── elide_meta.clj
    │   │   ├── emit_form.clj
    │   │   ├── index_vector_nodes.clj
    │   │   ├── source_info.clj
    │   │   ├── trim.clj
    │   │   ├── uniquify.clj
    │   │   └── warn_earmuff.clj
    │   ├── passes.clj
    │   └── utils.clj
    └── analyzer.clj

Although this package is built using the old "lets use `jar cf` to cram
things in a jar manually" way instead of using leiningen directly and
would certainly benefit in being migrated to it, I don't think this is a
bug in puppetdb's packaging per say, but spawns from either one of those
libs.

Which one though... ¯\_(ツ)_/¯

[1]:
https://salsa.debian.org/clojure-team/puppetlabs-ring-middleware-clojure/-/blob/debian/main/debian/tests/control#L5-7

-- 
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   pollo at debian.org / veronneau.org
  ⠈⠳⣄

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-puppet-devel/attachments/20210710/76043c83/attachment.sig>


More information about the Pkg-puppet-devel mailing list