Must-share information (formatted with Markdown):
-
which versions are you using (SonarQube Server / Community Build, Scanner, Plugin, and any relevant extension)
SonarQube latest community build -
how is SonarQube deployed: zip, Docker, Helm
-
what are you trying to achieve
-
what have you tried so far to achieve this
Trying to get sonar working on AWS in Docker container
Getting some sort of memory error when starting up SonarQube community edition on AWS
Tried changing various environment variables to no affect
This is the Dockerfile error and spot in the code I think the problem is
----------------------------------------Dockerfile-------------------------------------
services:
sonarqube:
image: sonarqube:latest
hostname: sonarqube
container_name: sonarqube
read_only: true
depends_on:
db:
condition: service_healthy
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
# JAVA_TOOL_OPTIONS: "-Xms750m -Xmx750m"
ES_JAVA_OPTS: -Xms750m -Xmx750m
# SONAR_ES_JAVA_OPTS: "-Xms750m -Xmx750m"
SONAR_ES_BOOTSTRAP_CHECKS_DISABLE: true
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
- sonarqube_temp:/opt/sonarqube/temp
mem_limit: 2g
ports:
- "9000:9000"
networks:
- sonar-network
db:
image: postgres:latest
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 10s
timeout: 5s
retries: 5
hostname: db
container_name: postgresql
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
networks:
- sonar-network
volumes:
sonarqube_data:
sonarqube_temp:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:
networks:
sonar-network:
driver: bridge
enable_ipv6: false
----------------------------------------error------------------------------------
sonarqube | 2025.02.04 14:57:08 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/elasticsearch]: /opt/java/openjdk/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/elasticsearch -Des.path.conf=/opt/sonarqube/temp/conf/es -Des.distribution.type=tar -cp /opt/sonarqube/elasticsearch/lib/*:/opt/sonarqube/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
sonarqube | 2025.02.04 14:57:08 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
sonarqube | Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts
sonarqube | java.lang.RuntimeException: starting java failed with [137]
sonarqube | output:
sonarqube |
sonarqube | error:
sonarqube |
sonarqube | at org.elasticsearch.server.cli.JvmOption.flagsFinal(JvmOption.java:121)
sonarqube | at org.elasticsearch.server.cli.JvmOption.findFinalOptions(JvmOption.java:88)
sonarqube | at org.elasticsearch.server.cli.MachineDependentHeap.determineHeapSettings(MachineDependentHeap.java:56)
sonarqube | at org.elasticsearch.server.cli.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:146)
sonarqube | at org.elasticsearch.server.cli.JvmOptionsParser.determineJvmOptions(JvmOptionsParser.java:98)
sonarqube | at org.elasticsearch.server.cli.ServerCli.startServer(ServerCli.java:268)
sonarqube | at org.elasticsearch.server.cli.ServerCli.execute(ServerCli.java:111)
sonarqube | at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:55)
sonarqube | at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:95)
sonarqube | at org.elasticsearch.cli.Command.main(Command.java:52)
sonarqube | at org.elasticsearch.launcher.CliToolLauncher.main(CliToolLauncher.java:65)
sonarqube | 2025.02.04 14:57:13 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 70
sonarqube | 2025.02.04 14:57:13 INFO app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
sonarqube | 2025.02.04 14:57:13 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped
--------------------spot in server/sonar-main/src/test/java/org/sonar/application/command/CommandFactoryImplTest.java line 96 -----------------------------------------
@Test
public void constructor_logs_warning_if_env_variable_ES_JAVA_OPTS_is_set() {
when(system2.getenv("ES_JAVA_OPTS")).thenReturn("xyz");
attachMemoryAppenderToLoggerOf(CommandFactoryImpl.class);
new CommandFactoryImpl(new Props(new Properties()), tempDir, system2);
assertThat(listAppender.getLogs())
.extracting(ILoggingEvent::getMessage)
.containsOnly(
"ES_JAVA_OPTS is defined but will be ignored. " +
"Use properties sonar.search.javaOpts and/or sonar.search.javaAdditionalOpts in sonar.properties to change SQ JVM processes options");
}
Do not share screenshots of logs – share the text itself (bonus points for being well-formatted)!