Welcome! Please see the About page for a little more info on how this works.

0 votes
in Clojure by
retagged by

depes.edn:

{:deps {org.deeplearning4j/deeplearning4j-nlp {:mvn/version "1.0.0-M2.1"}}}

It happened before in an older Clojure version, but disappeared, see here:

https://clojurians-log.clojureverse.org/tools-deps/2021-09-16

Now I have it back with a recent clojure CLI:
1.11.1.1200

The workarround is still to limit the number of download threads;

clj -Sthreads 1

So it only happens to me using (the default) multi-threaded downloading.

2 Answers

0 votes
by

I haven't been able to reproduce this and haven't had any other reports from anyone on this for a while, so not going to create a ticket for now.

by
I cannot reproduce neither from work, on a fast network.
I will try again from home later, on a slow line.
by
I can reproduce it  by limiting the bandwidth of my work machine.

So first running:

sudo wondershaper -a eth0 -d 1024 -u 1024

to limit download bandwith to 1MBit/s

and then starting the clj from latest Clojure Docker image

docker run -ti clojure clj -Sdeps '{:deps {org.deeplearning4j/deeplearning4j-nlp {:mvn/version "1.0.0-M2.1"}}}'


fails with:


Downloading: com/twelvemonkeys/imageio/imageio-bmp/3.1.1/imageio-bmp-3.1.1.jar from central
Downloading: org/bytedeco/javacpp/1.5.7/javacpp-1.5.7-linux-arm64.jar from central
Error building classpath. Could not acquire write lock for 'artifact:org.bytedeco:leptonica:1.82.0-1.5.7'
java.lang.IllegalStateException: Could not acquire write lock for 'artifact:org.bytedeco:leptonica:1.82.0-1.5.7'
        at org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire(N
by
Thanks, I think I understand why we're seeing this again and have some things to look at
0 votes
by
by
I can reproduce this:

I'm on Windows, using the Posix launcher under MSYS.  The install script requires a Windows path in the prefix, then it installs fine.

I don't have the problem with the `clj` tool, but rather when running `clojure -M:repl`.

At some point during the download process, downloads just stop.  After a long wait I get the above error message.

My hypothesis is that there's a deadlock somewhere.  NTFS is a lot more picky about file locking than Linuxes are.  I might look there along with the threads...

The workaround described above solves this for me.
by
(I installed temurin-19-jdk on Windows via Scoop and added its bin directory to my path if that matters.)
by
Ahhh-I just noticed the ticket and the progress there.  Thanks for your work on this!
by
Just to add that after nuking ".m2" I got it again on org/bytedeco/mkl/2020.3-1.5.4/mkl-2020.3-1.5.4-linux-x86-redist.jar (which is big)
and indeed "clj -Sthreads 1" fixes it.
...