杰克服务器 OpenSSL 错误与 AdoptOpenJDK 8

问题描述

Debian APT repository 不再包含 OpenJDK 8,可用的最早版本是 OpenJDK 11。对于 AOSP 构建环境,我需要版本 8。 因此,我使用了 AdoptOpenJDK 8

我在以下帖子中遇到了与 OP 类似的问题:

Jack server failed to (re)start

Is openJdk upgrading to 8u292 break my aosp build system?

Rebuild android code with error “SSL error when connecting to the Jack server. Try 'jack-diagnose”

然而,所有解决方案都不适用,因为jdk.tls.disabledAlgorithms包含"TLSv1""TLSv1.1"在我的 java.security 文件中,该文件位于 /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/jre/lib/security/java.security。因为/etc/java-8-openjdk/目录不存在:

jdk.tls.disabledAlgorithms=SSLv3,TLSv1,TLSv1.1,RC4,DES,MD5withRSA,\
    DH keySize < 1024,EC keySize < 224,3DES_EDE_CBC,anon,NULL,\
    include jdk.disabled.namedCurves
jdk.disabled.namedCurves = secp112r1,secp112r2,secp128r1,secp128r2,\
    secp160k1,secp160r1,secp160r2,secp192k1,secp192r1,secp224k1,\
    secp224r1,secp256k1,sect113r1,sect113r2,sect131r1,sect131r2,\
    sect163k1,sect163r1,sect163r2,sect193r1,sect193r2,sect233k1,\
    sect233r1,sect239k1,sect283k1,sect283r1,sect409k1,sect409r1,\
    sect571k1,sect571r1,X9.62 c2tnb191v1,X9.62 c2tnb191v2,\
    X9.62 c2tnb191v3,X9.62 c2tnb239v1,X9.62 c2tnb239v2,X9.62 c2tnb239v3,\
    X9.62 c2tnb359v1,X9.62 c2tnb431r1,X9.62 prime192v2,X9.62 prime192v3,\
    X9.62 prime239v1,X9.62 prime239v2,X9.62 prime239v3,brainpoolP256r1,\
    brainpoolP320r1,brainpoolP384r1,brainpoolP512r1

我试图关注David Dong's blog guide。 虽然,jack-diagnose 报告了同样的错误

error: process ID list Syntax error

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).
Port 8077 is used by another process (pid=),please ensure to free the port or change port configuration in '/home/jimjamz/.jack-settings' and '/home/jimjamz/.jack-server/config.properties'
error: process ID list Syntax error

和端口 8076 相同的错误,我尝试更改 ~/.jack-settings~/.jack-server/config.properties 中的端口(使用 28076、28077 和许多其他的),但我仍然收到同样的错误

jack 服务器日志没有显示任何有趣的内容。 ~/.jack-server/logs/jack-server-0-0.log_:

14:29:14.008: INFO: com.android.jack.server.JackHttpServer: Loading config of jack server version: 1.3-a11 '1.3' (402300 704631c4e9bbfb4e8b052365140f79974b9f4cf4 by android-jack-team@google.com)
14:29:14.087: INFO: com.android.jack.server.JackHttpServer: Starting service connection server on /127.0.0.1:8076
14:29:14.104: INFO: com.android.jack.server.JackHttpServer: Starting admin connection on /127.0.0.1:8077
14:29:14.399: INFO: com.android.jack.server.JackHttpServer: Start timer
14:32:14.402: INFO: com.android.jack.server.JackHttpServer: Server mode changing from WAIT to IDLE
14:44:14.402: INFO: com.android.jack.server.JackHttpServer: Server mode changing from IDLE to DEEP_IDLE
16:29:14.403: INFO: com.android.jack.server.JackHttpServer: Server mode changing from DEEP_IDLE to SLEEP

我做了./jack-admin dump-report,其中包含:

* connect to ::1 port 8077 Failed: Connection refused
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Expire in 150000 ms for 3 (transfer 0x563f0f3b2f00)
* connect to 127.0.0.1 port 8077 Failed: Connection refused
* Failed to connect to localhost port 8077: Connection refused
* Closing connection 0
No Jack server running. Try 'jack-admin start-server'

将端口设置为其他内容时,转储的报告会显示一些附加信息:

* connect to ::1 port 28077 Failed: Connection refused
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Expire in 150000 ms for 3 (transfer 0x55aff5a02f00)
* Connected to localhost (127.0.0.1) port 28077 (#0)
* ALPN,offering h2
* ALPN,offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /home/jimjamz/.jack-server/server.pem
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.3 (OUT),TLS handshake,Client hello (1):
} [512 bytes data]
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:28077 
* Closing connection 0
SSL error when connecting to the Jack server. Try 'jack-diagnose'

我认为这表明它正在尝试(但失败)使用 TLSv1.3,而不是 TLSv1.1 或 TLSv1,后者似乎没有被禁用。

这些症状确实指向了相同的 TLS 问题,但是这些选项已经没有包含在我的 jdk.tls.disabledAlgorithms 中,还有什么办法可以解决它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)