openJdk 升级到 8u292 会破坏我的 aosp 构建系统吗?
Is openJdk upgrading to 8u292 break my aosp build system?
软件环境:
- Ubuntu 20.04 LTS 服务器;
- Android AOSP 8.0;
- OpenJDK 8;
昨天我将我的 OpenJDK 从 8u282 升级到 8u292,它运行良好。现在破损的建筑日志说:
Ensuring Jack server is installed and started
FAILED: setup-jack-server
/bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 2>&1 || (exit 0) ) && (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 ||
exit 0 ) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 4.11.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.32.CANDIDATE.jar 4.32.CANDIDATE || exit 47 )"
Jack server already installed in "~/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp ~/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log
SSL error when connecting to the Jack server. Try 'jack-diagnose'
SSL error when connecting to the Jack server. Try 'jack-diagnose'
ninja: build stopped: subcommand failed.
10:11:50 ninja failed with: exit status 1
我检查了 ~/.jack-server/log/xxxx-0-0.log 中的日志。它与错误无关。
我使用curl
命令连接到服务器,它说:
$ curl https://127.0.0.1:8076/jack
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 127.0.0.1:8076
我更改了prebuilts/sdk/tools/jack-admin中的脚本以打印$CURL_CODE,与我的shell curl命令相同,报告错误代码35。
这个url讨论了类似的问题:
https://forums.gentoo.org/viewtopic-t-1060536-start-0.html
但我不确定。
这里是提示上述错误的源脚本link:
https://android-opengrok.bangnimang.net/android-8.1.0_r81/xref/prebuilts/sdk/tools/jack-admin?r=692a2a62#89
我觉得很有可能是这样的:
基本上,从 8u291 开始,他们已经关闭(默认)对 TLS 1.0 和 1.1 的支持。这些版本的 TLS 是旧的、不安全的并且已弃用;见 https://en.wikipedia.org/wiki/Transport_Layer_Security
8u291 发行说明中提到了这一点。
我的建议是找出您的构建系统未使用 TLS 1.2 或更高版本的原因。然后升级/修复它。
您可以通过 运行 curl
和 --tlsv1.2
选项来测试这是否是问题所在。
我有同样的问题,通过在文件 /etc/java-8-openjdk/security/java.security.
的 jdk.tls.disabledAlgorithms 配置中删除“TLSv1, TLSv1.1” 解决了这个问题
正在删除文件 /etc/java-8-openjdk/security/java.security.
中 jdk.tls.disabledAlgorithms 配置中的“TLSv1、TLSv1.1”
对我有用。
Ubuntu 更新 jdk 8u292 背景,因此很难与 jdk 相关。
首先,一些信息 link 更改插孔端口,我已经更改了插孔端口但它不起作用。
其次,我尝试更新ubuntu16.04.2和ubuntu16.04.7。但仍然出现“连接到 Jack 服务器时出现 SSL 错误。尝试 'jack-diagnose'”的错误。
非常感谢@Guillaume P。
软件环境:
- Ubuntu 20.04 LTS 服务器;
- Android AOSP 8.0;
- OpenJDK 8;
昨天我将我的 OpenJDK 从 8u282 升级到 8u292,它运行良好。现在破损的建筑日志说:
Ensuring Jack server is installed and started
FAILED: setup-jack-server
/bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 2>&1 || (exit 0) ) && (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 ||
exit 0 ) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 4.11.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.32.CANDIDATE.jar 4.32.CANDIDATE || exit 47 )"
Jack server already installed in "~/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp ~/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log
SSL error when connecting to the Jack server. Try 'jack-diagnose'
SSL error when connecting to the Jack server. Try 'jack-diagnose'
ninja: build stopped: subcommand failed.
10:11:50 ninja failed with: exit status 1
我检查了 ~/.jack-server/log/xxxx-0-0.log 中的日志。它与错误无关。
我使用curl
命令连接到服务器,它说:
$ curl https://127.0.0.1:8076/jack
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 127.0.0.1:8076
我更改了prebuilts/sdk/tools/jack-admin中的脚本以打印$CURL_CODE,与我的shell curl命令相同,报告错误代码35。
这个url讨论了类似的问题: https://forums.gentoo.org/viewtopic-t-1060536-start-0.html
但我不确定。
这里是提示上述错误的源脚本link: https://android-opengrok.bangnimang.net/android-8.1.0_r81/xref/prebuilts/sdk/tools/jack-admin?r=692a2a62#89
我觉得很有可能是这样的:
基本上,从 8u291 开始,他们已经关闭(默认)对 TLS 1.0 和 1.1 的支持。这些版本的 TLS 是旧的、不安全的并且已弃用;见 https://en.wikipedia.org/wiki/Transport_Layer_Security
8u291 发行说明中提到了这一点。
我的建议是找出您的构建系统未使用 TLS 1.2 或更高版本的原因。然后升级/修复它。
您可以通过 运行 curl
和 --tlsv1.2
选项来测试这是否是问题所在。
我有同样的问题,通过在文件 /etc/java-8-openjdk/security/java.security.
的 jdk.tls.disabledAlgorithms 配置中删除“TLSv1, TLSv1.1” 解决了这个问题正在删除文件 /etc/java-8-openjdk/security/java.security.
中 jdk.tls.disabledAlgorithms 配置中的“TLSv1、TLSv1.1”对我有用。
Ubuntu 更新 jdk 8u292 背景,因此很难与 jdk 相关。
首先,一些信息 link 更改插孔端口,我已经更改了插孔端口但它不起作用。
其次,我尝试更新ubuntu16.04.2和ubuntu16.04.7。但仍然出现“连接到 Jack 服务器时出现 SSL 错误。尝试 'jack-diagnose'”的错误。
非常感谢@Guillaume P。