Greetings,
after upgrading SonarQube Community Build from v25.8.0.112029 to 26.1.0.118079, SonarQube no longer starts, because ElasticSearch crashes at startup with a Java UnsatisfiedLinkError error, no matter the Java version we try.
Error Message:
2026.02.03 14:46:36 ERROR es[o.e.b.Elasticsearch] fatal exception while booting Elasticsearch
java.lang.UnsatisfiedLinkError: no attach in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
Entire Elastic Log:
2026.02.03 14:46:35 INFO es[o.e.b.Elasticsearch] version[8.19.8], pid[4017], build[tar/e34ace04b64e9bfa3f9e785b08e6d81f8efe314b/2025-11-26T23:06:12.342148294Z], OS[Linux/6.4.0-150700.53.28-default/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/21.0.9/21.0.9+10-suse-1500-x8664]
2026.02.03 14:46:35 INFO es[o.e.b.Elasticsearch] JVM home [/usr/lib64/jvm/java-21-openjdk-21], using bundled JDK [false]
2026.02.03 14:46:35 INFO es[o.e.b.Elasticsearch] JVM arguments [-Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j2.formatMsgNoLookups=true, -Djava.locale.providers=SPI,COMPAT, -Dorg.apache.lucene.vectorization.upperJavaFeatureVersion=21, -Des.path.home=/u01/opt/sonarqube/elasticsearch, -Des.distribution.type=tar, -Des.java.type=null, --enable-native-access=org.elasticsearch.nativeaccess,org.apache.lucene.core, --enable-native-access=ALL-UNNAMED, -XX:ReplayDataFile=logs/replay_pid%p.log, -Des.entitlements.enabled=true, -XX:+EnableDynamicAgentLoading, -Djdk.attach.allowAttachSelf=true, --patch-module=java.base=/u01/opt/sonarqube/elasticsearch/lib/entitlement-bridge/elasticsearch-entitlement-bridge-8.19.8.jar, --add-exports=java.base/org.elasticsearch.entitlement.bridge=org.elasticsearch.entitlement,java.logging,java.net.http,java.naming,jdk.net, -XX:+UseG1GC, -Djava.io.tmpdir=/u01/var/sonarqube/temp, -XX:ErrorFile=/u01/opt/sonarqube/logs/es_hs_err_pid%p.log, -Xlog:disable, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djna.tmpdir=/u01/var/sonarqube/temp, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j2.formatMsgNoLookups=true, -Djava.locale.providers=COMPAT, -Des.enforce.bootstrap.checks=true, -Xmx512m, -Xms512m, -XX:MaxDirectMemorySize=256m, -XX:+HeapDumpOnOutOfMemoryError, -XX:G1HeapRegionSize=4m, -XX:InitiatingHeapOccupancyPercent=30, -XX:G1ReservePercent=15, --module-path=/u01/opt/sonarqube/elasticsearch/lib, --add-modules=jdk.net, --add-modules=jdk.management.agent, --add-modules=ALL-MODULE-PATH, -Djdk.module.main=org.elasticsearch.server]
2026.02.03 14:46:35 INFO es[o.e.b.Elasticsearch] Default Locale [en_US]
2026.02.03 14:46:35 INFO es[o.e.n.j.JdkVectorLibrary] vec_caps=2
2026.02.03 14:46:35 INFO es[o.e.n.NativeAccess] Using native vector library; to disable start with -Dorg.elasticsearch.nativeaccess.enableVectorLibrary=false
2026.02.03 14:46:35 INFO es[o.e.n.NativeAccess] Using [jdk] native provider and native methods for [Linux]
2026.02.03 14:46:35 WARN es[o.a.l.i.v.VectorizationProvider] Java vector incubator module is not readable. For optimal vector performance, pass --add-modules jdk.incubator.vector to enable Vector API.
2026.02.03 14:46:35 INFO es[o.e.b.Elasticsearch] Bootstrapping Entitlements
2026.02.03 14:46:36 ERROR es[o.e.b.Elasticsearch] fatal exception while booting Elasticsearchjava.lang.UnsatisfiedLinkError: no attach in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/libat java.lang.ClassLoader.loadLibrary(ClassLoader.java:2458)
~[?:?]at java.lang.Runtime.loadLibrary0(Runtime.java:916)
~[?:?]at java.lang.System.loadLibrary(System.java:2063)
~[?:?]at sun.tools.attach.VirtualMachineImpl.(VirtualMachineImpl.java:324)
~[jdk.attach:?]at sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58)
~[jdk.attach:?]at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207)
~[jdk.attach:?]at org.elasticsearch.entitlement.bootstrap.EntitlementBootstrap.loadAgent(EntitlementBootstrap.java:121)
~[elasticsearch-entitlement-8.19.8.jar:?]at org.elasticsearch.entitlement.bootstrap.EntitlementBootstrap.bootstrap(EntitlementBootstrap.java:103)
~[elasticsearch-entitlement-8.19.8.jar:?]at org.elasticsearch.bootstrap.Elasticsearch.initPhase2(Elasticsearch.java:253)
~[elasticsearch-8.19.8.jar:?]at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:99)
~[elasticsearch-8.19.8.jar:?]
Further Information
- OS: SLES15 SP7
- Java Version: openjdk 21.0.9 2025-10-21
- OpenJDK Runtime Environment (build 21.0.9+10-suse-1500-x8664)
- OpenJDK 64-Bit Server VM (build 21.0.9+10-suse-1500-x8664, mixed mode, sharing)
- Version: Sonarqube Community Build v 26.1.0.118079
- Plugins:
- checkstyle
- delphi
- dependency-check
- findbugs
- pmd
- yaml
- how is SonarQube deployed: zip
- Upgrading SonarQube from v25.8.0.112029 to v26.1.0.118079
- Upgrading to v25.12 failed because of the DB migration bug
- v25.12 does start up though, even after a roll-back
Our Upgrade Steps
- create a backup (mv)
- download and install (unzip followed by mv)
- change configuration file
- copy the Oracle JDBC driver
- copy the plugins
- change permissions (chown)
- restart sonar
Both versions v25.8 and v25.12 do start, without any changes.
Thank you for your help.
Kind regards,
Gilles