Latest Docker Update crashes application

Since the latest Docker update Release 26.2.0.119303 · SonarSource/sonarqube · GitHub which does not even have a changelog (:face_vomiting:), the application crashes.

Web will show 502 Bad Gateway, docker compose logs will show:

sonarpostgresql  | 
sonarpostgresql  | PostgreSQL Database directory appears to contain a database; Skipping initialization
sonarpostgresql  | 
sonarpostgresql  | 2026-02-05 16:13:14.124 UTC [1] LOG:  starting PostgreSQL 17.7 (Debian 17.7-3.pgdg13+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
sonarpostgresql  | 2026-02-05 16:13:14.124 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
sonarpostgresql  | 2026-02-05 16:13:14.124 UTC [1] LOG:  listening on IPv6 address "::", port 5432
sonarpostgresql  | 2026-02-05 16:13:14.125 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
sonarpostgresql  | 2026-02-05 16:13:14.128 UTC [29] LOG:  database system was shut down at 2026-02-05 16:13:13 UTC
sonarpostgresql  | 2026-02-05 16:13:14.131 UTC [1] LOG:  database system is ready to accept connections
sonarpostgresql  | 2026-02-05 16:13:24.183 UTC [40] WARNING:  database "sonar" has a collation version mismatch
sonarpostgresql  | 2026-02-05 16:13:24.183 UTC [40] DETAIL:  The database was created using collation version 2.36, but the operating system provides version 2.41.
sonarpostgresql  | 2026-02-05 16:13:24.183 UTC [40] HINT:  Rebuild all objects in this database that use the default collation and run ALTER DATABASE sonar REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.
sonarqube        | 2026.02.05 16:13:24 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
sonarqube        | 2026.02.05 16:13:24 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
sonarqube        | 2026.02.05 16:13:25 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/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/elasticsearch/lib/*:/opt/sonarqube/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
sonarqube        | 2026.02.05 16:13:25 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.nio.file.FileSystemException: /tmp/final-flags11232154165339468890: Read-only file system
sonarqube        | 	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
sonarqube        | 	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
sonarqube        | 	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
sonarqube        | 	at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:462)
sonarqube        | 	at java.base/java.nio.file.Files.createDirectory(Files.java:700)
sonarqube        | 	at java.base/java.nio.file.TempFileHelper.create(TempFileHelper.java:134)
sonarqube        | 	at java.base/java.nio.file.TempFileHelper.createTempDirectory(TempFileHelper.java:171)
sonarqube        | 	at java.base/java.nio.file.Files.createTempDirectory(Files.java:1018)
sonarqube        | 	at org.elasticsearch.server.cli.JvmOption.setWorkingDir(JvmOption.java:135)
sonarqube        | 	at org.elasticsearch.server.cli.JvmOption.flagsFinal(JvmOption.java:112)
sonarqube        | 	at org.elasticsearch.server.cli.JvmOption.findFinalOptions(JvmOption.java:90)
sonarqube        | 	at org.elasticsearch.server.cli.MachineDependentHeap.determineHeapSettings(MachineDependentHeap.java:59)
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:269)
sonarqube        | 	at org.elasticsearch.server.cli.ServerCli.execute(ServerCli.java:112)
sonarqube        | 	at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:55)
sonarqube        | 	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:101)
sonarqube        | 	at org.elasticsearch.cli.Command.main(Command.java:54)
sonarqube        | 	at org.elasticsearch.launcher.CliToolLauncher.main(CliToolLauncher.java:65)
sonarqube        | 2026.02.05 16:13:26 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 74
sonarqube        | 2026.02.05 16:13:26 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
sonarqube        | 2026.02.05 16:13:26 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
sonarqube exited with code 0 (restarting)

And that keeps going in a loop.

Nothing changed on my machine or disk otherwise.

Hi,

Can you give us some information about your environment? Let’s start with your OS and Docker compose file (and anything else you think might be relevant.)

Does your compose file deny write to /tmp/? We bumped the Elasticsearch version, so that’s now required.

 
Ann

Ok, thanks

It would make sense to add this to the release notes.

  1. Release notes should be done when a release is done, not hours or days later
  2. Release notes should communicate breaking changes at least, and ideally, anything else too, in a changelog format, not in a unscrutable table like Jira

This are not things I invent when I wake up, these are development standards.

I do not understand why it is not followed in sonar

Hi,

Here’s the link to the update notes which clearly does state

And in fact, the updates for the 26.2 version were (in error) done several days before the release.

Please consider bookmarking the page for future reference.

 
Ann