Sonarqube 8.6.1 — ошибка HeapDumpOnOutOfMemoryError

#java #jvm #sonarqube #heap-memory #heap-dump

#java #jvm #sonarqube #куча-память #куча-дамп

Вопрос:

Установил Sonarqube на мой Mac и настроил его локально. У меня есть Java 11 и postgres 13.1. Я смог запустить его несколько раз, но затем он начал выдавать HeapDumpOnOutOfMemoryError, я перепробовал довольно много потенциальных решений, включая изменение размера кучи из файла sonar.properties, но ошибка все еще появляется. Пожалуйста, найдите журналы терминала ниже,

 wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    | 
jvm 1    | 2021.01.29 17:59:34 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /Users/.../sonarqube/temp
jvm 1    | 2021.01.29 17:59:34 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9005
jvm 1    | 2021.01.29 17:59:34 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/Users/…/sonarqube/elasticsearch]: /Users/…/sonarqube/elasticsearch/bin/elasticsearch
jvm 1    | 2021.01.29 17:59:34 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
jvm 1    | Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
jvm 1    | 2021.01.29 17:59:35 INFO  app[][o.e.p.PluginsService] no modules loaded
jvm 1    | 2021.01.29 17:59:35 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
jvm 1    | 2021.01.29 17:59:48 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
jvm 1    | 2021.01.29 17:59:48 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/Users/…/sonarqube]: /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/Users/.../sonarqube/temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Xmx512m -Xms128m -XX: HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/common/*:/Users/…/sonarqube/lib/jdbc/postgresql/postgresql-42.2.11.jar org.sonar.server.app.WebServer /Users/…/sonarqube/temp/sq-process4739419519904490611properties
jvm 1    | 2021.01.29 17:59:52 INFO  app[][o.s.a.SchedulerImpl] Process[web] is stopped
jvm 1    | 2021.01.29 17:59:52 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
jvm 1    | 2021.01.29 17:59:52 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
jvm 1    | 2021.01.29 17:59:52 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 143
wrapper  | <-- Wrapper Stopped
 

(Добавлены точки в пути, где это применимо, пока он не достиг папки «sonarqube»)

Вот раздел эластичного поиска из файла sonar.properties,

 #JVM options of Elasticsearch process*
*#sonar.search.javaOpts=-Xmx128m -Xms2048m -XX: HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-Xmx2048m -Xms2048m -XX:MaxDirectMemorySize=1024m
#Same as previous property, but allows to not repeat all other settings like -Xmx
#sonar.search.javaAdditionalOpts=
*# Elasticsearch port. Default is 9001. Use 0 to get a free port.
#As a security precaution, should be blocked by a firewall and not exposed to the Internet.
sonar.search.port=9005
#Elasticsearch host. The search server will bind this address and the search client will connect to it.
#Default is loopback address.
#As a security precaution, should NOT be set to a publicly available address.
#sonar.search.host=*
 

и файл jvm.options, в котором я также изменил размер кучи

 ## JVM configuration
################################################################
##IMPORTANT: JVM heap size
################################################################
##
##You should always set the min and max JVM heap
##size to the same value. For example, to set
##the heap to 4 GB, set:
##
-Xms4g
-Xmx4g
##
##See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
##for more information
##

################################################################
*#Xms represents the initial size of total heap space
#Xmx represents the maximum size of total heap space

Xms4g
Xmx4g
 

Пожалуйста, дайте мне знать, как решить эту проблему, застрял на этом уже неделю.

Комментарии:

1. Что заставляет вас говорить, что это ошибка HeapDumpOnOutOfMemoryError ? Возможно, это скорее проблема с конфигурацией. Порт уже используется? Неправильная / неполная конфигурация базы данных?

2. Ошибка HeapDumpOnOutOfMemoryError — это то, что отображается в журналах терминала до того, как оболочка остановит себя

3. Нет в журналах, которые вы показали.

4. Привет. Посмотрите на 14-ю строку журналов терминала

5. Это аргумент процесса, а не генерируемое исключение.