1
votes

I am trying to build an android image, the build system by default uses jack server which keeps on failing again and again. Can any body tell me how can i fix it.

I get the following error during build

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 )" Writing client settings in /home/test/.jack-settings Installing jack server in "/home/test/.jack-server"

Warning: The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /home/test/.jack-server/server.jks -destkeystore /home/test/.jack-server/server.jks -deststoretype pkcs12".

Warning: The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /home/test/.jack-server/client.jks -destkeystore /home/test/.jack-server/client.jks -deststoretype pkcs12". Communication error with Jack server (58), try 'jack-diagnose' or see Jack server log Failed to contact Jack server: Problem reading /home/test/.jack-server/client.pem. Try 'jack-diagnose' Failed to contact Jack server: Problem reading /home/test/.jack-server/client.pem. Try 'jack-diagnose'

Jack server diagnose also dosen't give any usefull information

./prebuilts/sdk/tools/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/test/.jack-settings' and '/home/test/.jack-server/config.properties' 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 8076 is used by another process (pid=), please ensure to free the port or change port configuration in '/home/test/.jack-settings' and '/home/test/.jack-server/config.properties'

and jack program throws an error for open SSL connect.

SSL error when connecting to the Jack server, retrying with debug

  • Trying 127.0.0.1...
  • TCP_NODELAY set
  • Connected to localhost (127.0.0.1) port 8076 (#0)
  • ALPN, offering h2
  • ALPN, offering http/1.1
  • successfully set certificate verify locations:
  • CAfile: /home/test/.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:8076
  • Closing connection 0

Can anybody please help me out in resolving this. I am struggling to get a clean build.

1
as it says, it is using a non-standard format for certificate verification (pem). openssl is unable to connect to it. Change the code to a supported standard.stark
Hi stark, thanks for commenting. This is a fresh piece of code, downloaded from a maintained repository. So i believe there shouldn't be a need to change the code. If at all it is required, then what particularly I should change? can you please elaborate?Puneet Sharma

1 Answers

1
votes

When Jack diagnose gives error 35 (SSL error) the following steps worked for me

  1. Edit java.security file under /etc/java-8-openjdk/security/
  2. Remove TLSv1, TLSv1.1 from jdk.tls.disabledAlgorithms
  3. Restart the jack server:
    • cd <aosp-home-dir>/prebuilts/sdk/tools/
    • ./jack-admin kill-server
    • ./jack-admin start-server