You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Initial debugging steps
Before creating a report, especially around exceptions being thrown when running Leiningen, please check if the error still occurs after:
Updating to using the latest released version of Leiningen (lein upgrade).
Moving your ~/.lein/profiles.clj (if present) out of the way. This contains third-party dependencies and plugins that can cause problems inside Leiningen.
Updating any old versions of plugins in your project.clj, especially if the problem is with a plugin not working. Old versions of plugins like nREPL and CIDER (as well as others) can cause problems with newer versions of Leiningen.
(If you are using Java 9 or newer), updating your dependencies to their most recent versions. Recent JDK's have introduced changes which can break some Clojure libraries.
Describe the bug lein deps would hang after bumping Netty TomcatNative BoringSSL Static to 2.0.50.Final. CPU load increases in the meantime.
To Reproduce
Steps to reproduce the behavior:
Create a new project: lein new my-project
Add the netty-tcnative-boringssl-static version 2.0.50.Final to the dependencies: :dependencies [[io.netty/netty-tcnative-boringssl-static "2.0.50.Final"]]
Run lein deps
Actual behavior lein deps hangs and exits due to StackOverflowError on my machine.
Expected behavior
Successfully install the netty-tcnative-boringssl-static dep.
Environment
Leiningen Version: 2.9.8
Leiningen installation method: manual
JDK Version: openjdk version "1.8.0_282"
OS: macOS 12.4
Anything else that might be relevant to your problem?
Additional context 2.0.50.Final is the first version that causes the problem and it introduced circular dependency since this version.
See related issues of netty-tcnative-boringssl-static on GitHub:
This was tricky to debug, but I think it has to do with an assumption in the cycle detection of the pedantic implementation. We have code that does (some #{node} parents) where node and parents are DefaultDependencyNode objects from Aether, so that code assumes that they hash consistently, but the boringssl ones do not.
The fix is quite simple; turn everything into a string before doing cycle detection.
Fixes#2798
This is caused by what seems like a bug in Aether's DependencyNode
implementation; most nodes will hash correctly such that
(some #{node} parents)
works to do cycle detection, but certain ones in Netty's boringssl do
not hash correctly, so we have to convert them to strings before using
them for cycle detection purposes.
Initial debugging steps
Before creating a report, especially around exceptions being thrown when running Leiningen, please check if the error still occurs after:
lein upgrade
).~/.lein/profiles.clj
(if present) out of the way. This contains third-party dependencies and plugins that can cause problems inside Leiningen.project.clj
, especially if the problem is with a plugin not working. Old versions of plugins like nREPL and CIDER (as well as others) can cause problems with newer versions of Leiningen.Describe the bug
lein deps
would hang after bumping Netty TomcatNative BoringSSL Static to2.0.50.Final
. CPU load increases in the meantime.To Reproduce
Steps to reproduce the behavior:
lein new my-project
netty-tcnative-boringssl-static
version2.0.50.Final
to the dependencies::dependencies [[io.netty/netty-tcnative-boringssl-static "2.0.50.Final"]]
lein deps
Actual behavior
lein deps
hangs and exits due toStackOverflowError
on my machine.Expected behavior
Successfully install the
netty-tcnative-boringssl-static
dep.Environment
Additional context
2.0.50.Final
is the first version that causes the problem and it introduced circular dependency since this version.See related issues of netty-tcnative-boringssl-static on GitHub:
The text was updated successfully, but these errors were encountered: