Opal with Docker: Rock container start-up takes long and prone to crashes

Hi,

For the last few months we have been deploying new Opal nodes through docker images. I have noticed that the start-up of new machines can take quite long.

The main bottleneck seems to be Rock. In fact, just today, the rock container crashed after a whole hour. How can we troubleshoot this? See below for Docker Compose Config.

Rock container log:

[Info] ROCK_HOME=/srv
First run setup...
[Info] Applying config...
[Info] Node properties
[Warn]   No server public address: self-registration not activated
[Warn]   Setting default node id: rserver
[Info]   Setting default node cluster: default
[Info]   Setting empty node tags
[Info] Consul properties
[Info]   No Consul server: self-registration not activated
[Warn]   No Consul token: self-registration not safe
[Info] Opal properties
[Info]   No Opal server: self-registration not activated
[Warn]   No Opal token: self-registration not valid
[Info] R properties
[Info]   No R repositories, setting default
[Info] Users properties
[Info]   No administrator configured!
[Info]   No manager configured!
[Info]   No user configured!
JAVA_OPTS=-Xmx2G
ROCK_HOME=/srv
ROCK_DIST=/usr/share/rock

     (                           (
     )\ )                  )     )\ )
    (()/(               ( /(    (()/(
     /(_))   (     (    )\())    /(_))
    (_))     )\    )\  ((_)\    (_))
2023-04-12T13:15:04.410948095Z | \   ((_)  ((_) | |(_)   | _ \
    |   /  / _ \ / _|  | / /    |   /
    |_|_\  \___/ \__|  |_\_\    |_|_\

       .:: OBiBa Rock R server ::.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (safepoint.cpp:388), pid=127, tid=0x00000040415ab700
#  guarantee(PageArmed == 0) failed: invariant
#
# JRE version: OpenJDK Runtime Environment (8.0_342-b07) (build 1.8.0_342-b07)
# Java VM: OpenJDK 64-Bit Server VM (25.342-b07 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /srv/hs_err_pid127.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
qemu: uncaught target signal 6 (Aborted) - core dumped
/usr/share/rock/bin/rock: line 54:   127 Aborted                 java $JAVA_OPTS -cp "$CLASSPATH" -DROCK_HOME="${ROCK_HOME}" -DROCK_DIST=${ROCK_DIST} -DROCK_LOG=${ROCK_LOG} org.springframework.boot.loader.JarLauncher $@

Full Docker Compose Configuration:

version: '3'
services:
  opal:
    platform: linux/x86_64
    image: obiba/opal:4.5 #January 2023
    ports:
      - "8843:8443" #Ports opal is exposed on
      - "8880:8080" #Ports opal is exposed on
    links:
      - rock
      - mongo
      - mysqldata
    environment:
      - JAVA_OPTS=-Xms1G -Xmx8G -XX:+UseG1GC
      - OPAL_ADMINISTRATOR_PASSWORD=[PASSWORD]
      - MONGO_HOST=mongo
      - MONGO_PORT=27017
      - MYSQLDATA_HOST=mysqldata
      - MYSQLDATA_USER=opal
      - MYSQLDATA_PASSWORD=[MYSQLDATA PWD]
      - ROCK_HOSTS=rock:8085
    volumes:
      - ./vol:/srv
  mongo:
    platform: linux/x86_64
    image: mongo:4.2
  mysqldata:
    platform: linux/x86_64
    image: mysql:5
    environment:
      - MYSQL_DATABASE=opal
      - MYSQL_ROOT_PASSWORD=[MYSQL ROOT PWD]
      - MYSQL_USER=opal
      - MYSQL_PASSWORD=[MYSQL PWD]
  rock:
    platform: linux/x86_64
    image: datashield/rock-base:6.2-R4.2 #Oct 2022, as recommended by yannick marcon https://datashield.discourse.group/t/ssl-connection-to-localhost-opal-fails/693/2