请分享您的想法参加 2024年Clojure状态调查!

欢迎!请参阅 关于 页面了解更多此网站的工作信息。

+4
tools.deps
重新标记

depes.edn

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

之前在较老版本的Clojure中出现过,但已经消失了,见此处

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

现在我用最新的 clojure CLI又遇到了这个问题
1.11.1.1200

解决方法是仍然限制下载线程数量;

clj -Sthreads 1

所以这仅仅在我使用(默认的)多线程下载时发生。

2 个答案

+2

我已经无法重现这个问题,而且有一段时间没有从其他人那里收到有关这个问题的任何报告,因此现在不打算创建票据。

by
无论是在工作了,还是在快速网络上,我都无法复现这个问题。
我将稍后在家中,在低速网络上进行再次尝试。
by
我通过对工作机的带宽进行限制,可以复现这个问题。

所以首先运行

sudo wondershaper -a eth0 -d 1024 -u 1024

以限制下载带宽至1MBit/s

然后从最新的Clojure Docker镜像启动clj

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


失败,错误如下:


从central下载:com/twelvemonkeys/imageio/imageio-bmp/3.1.1/imageio-bmp-3.1.1.jar
从central下载:org/bytedeco/javacpp/1.5.7/javacpp-1.5.7-linux-arm64.jar
构建classpath时出错。无法获取'artifact:org.bytedeco:leptonica:1.82.0-1.5.7'的写锁
java.lang.IllegalStateException: 无法获取'artifact:org.bytedeco:leptonica:1.82.0-1.5.7'的写锁
        at org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire(N
by
谢谢,我想我明白为什么又看到了这个问题,并且有一些事情要查看。
0 投票
by
我能复现这个问题

我在Windows上使用MSYS下的Posix启动器。安装脚本需要在prefix中指定Windows路径,然后就可以正常安装。

我在`clj`工具中没有遇到问题,而是在运行`clojure -M:repl`时出现问题。

下载过程中某个时刻下载突然停止。等待很长时间后,我收到上面的错误信息。

我的假设是某个地方发生了死锁。NTFS对文件锁定的要求比Linux严格得多。我可能会在那里以及线程中寻找...

上述的解决方案解决了我的问题。
(如果这很重要,我在Windows上通过Scoop安装了temurin-19-jdk并将其bin目录添加到我的路径中。)
哦,我刚注意到这个工单和那里的进度。感谢你在这个问题上的工作!
在删除".m2"之后,我又在org/bytedeco/mkl/2020.3-1.5.4/mkl-2020.3-1.5.4-linux-x86-redist.jar(这是一个大文件)中遇到了。
的确,“clj -Sthreads 1”可以解决这个问题。
作者:
你好,

我也在这加一点,在我的 MBP M1 上可以100%重现此问题。

```
构建类路径错误。无法获取 'artifact:org.apache:apache:25' 的写入锁。
java.lang IllegalStatisticalException: 无法获取 'artifact:org.apache:apache:25' 的写入锁
    在 org.eclipse.aether.internal.impl.synccontext.named-NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire(NamedLockFactoryAdapter.java:165)
    在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:233)
    在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212)
...
...
```

```
❯ clj --version
Clojure CLI 版本 1.11.1.1413
```

```
❯ java --version
openjdk 20.0.2 2023-07-18
OpenJDK 运行时环境 Temurin-20.0.2+9 (构建 20.0.2+9)
OpenJDK 64位服务器 QM Temurin-20.0.2+9 (构建 20.0.2+9, 混合模式)
```
作者:
我已经对所有依赖项进行了升级,包括 Maven 解析器中相当大的跳跃和许多与锁定相关的更新,想了解一下在这些情况下大家是否有什么不同。这个版本还没有作为稳定版发布,但如果你使用的是 Mac,你可以先运行 `brew uninstall clojure`,然后运行 `brew install clojure/tools/[email protected]` 来获取预发布 CLI。当然,请先删除所有的 -Sthreads 1 相关的修改。
作者:
编辑了 作者:
不知道这有没有帮助,但我今天在最新的 Clojure 中再次出现了这个问题
```
2:46:25 错误:从 central 下载 org/bytedeco/mkl/2020.3-1.5.4/mkl-2020.3-1.5.4-linux-x86_64-redist.jar 失败
12:46:26 错误:构建类路径错误。无法获取 'artifact:org.bytedeco:mkl:2020.3-1.5.4' 的写入锁
12:46:26 错误:java.lang IllegalStatisticalException: 无法获取 'artifact:org.bytedeco:mkl:2020.3-1.5.4' 的写入锁
....
```
使用 1.11.3.1456

它在Docker构建内部,所以每次创建容器时都能重现。
常规修复有效:" -Sthreads 1 "

在此期间,我已经将我的互联网连接升级为光纤,但这问题仍然存在……
因此,我关于它在“缓慢的网络”上发生的初步假设是错误的。
Clojure 1.12上仍然存在这个问题。
有时,与之前一样。

[2024-09-09T21:19:21.048Z] 下载中:org/bytedeco/mkl/2020.3-1.5.4/mkl-2020.3-1.5.4-linux-x86-redist.jar 从中央仓库
[2024-09-09T21:19:22.032Z] 构建classpath出错。无法获得'artifact:org.bytedeco:mkl:2020.3-1.5.4'的写锁
[2024-09-09T21:19:22.032Z] java.lang.IllegalStateException: 无法获得'artifact:org.bytedeco:mkl:2020.3-1.5.4'的写锁
    在 org.eclipse.aether.internal.impl.synccontext.named-NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire(NamedLockFactoryAdapter.java:165)
[2024-09-09T21:19:22.032Z]
    在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:233)
    在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212)
    在o
是的,我正在进行将旧Maven库升级到一组新库的部分升级,我认为这会有所帮助,但这是一个大变化。
...