Confluence Data Center frequently crashes when running on a Virtual Machine
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
The Confluence node has experienced a crash.
The Java process is not currently running, and it was not shut down manually.
Files with names resembling hs_err_pidxxxxx.log are being generated in the application's bin directory, containing text similar to the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
# A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffd8700696d, pid=9388, tid=10092 # # JRE version: OpenJDK Runtime Environment Temurin-17.0.8.1+1 (17.0.8.1+1) (build 17.0.8.1+1) # Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.8.1+1 (17.0.8.1+1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) # Problematic frame: # C [vm3dgl64.dll+0xe3696d] # # Core dump will be written. Default location: E:\Confluence\bin\hs_err_pid9388.mdmp # # JFR recording file will be written. Location: E:\Confluence\bin\hs_err_pid9388.jfr # # If you would like to submit a bug report, please visit: # https://github.com/adoptium/adoptium-support/issues # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- S U M M A R Y ------------ Command Line: -Dcatalina.base=E:\Confluence -Dcatalina.home=E:\Confluence -Djava.io.tmpdir=E:\Confluence\temp -XX:MaxPermSize=256m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=E:\Confluence\conf\logging.properties -Dhttp.proxyHost=proxy.wip.ybs.com -Dhttps.proxyHost=proxy.wip.ybs.com -Dhttp.nonProxyHosts=localhost, *.ybs.com, 10.0.0.0/8 -Dhttps.nonProxyHosts=localhost, *.ybs.com, 10.0.0.0/8 -Dhttp.proxyUser=ybs\confluence -Dhttp.proxyPassword=WrUhamE9 -Dhttp.auth.ntlm.domain=ybs -Dhttps.proxyUser=ybs\confluence -Dhttps.proxyPassword=WrUhamE9 -XX:+IgnoreUnrecognizedVMOptions -Djdk.tls.server.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.1,TLSv1.2 -Djava.locale.providers=JRE,SPI,CLDR -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -Xloggc:"E:\Confluence\logs\gc-%t.log" -XX:+IgnoreUnrecognizedVMOptions -Djdk.tls.server.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.1,TLSv1.2 -Djava.locale.providers=JRE,SPI,CLDR -XX:+IgnoreUnrecognizedVMOptions -Xlog:gc*:file="E:\Confluence\logs\gc-%%t.log":tags,time,uptime,level:filecount=5,filesize=2M -Djdk.tls.server.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.1,TLSv1.2 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-opens=java.base/sun.util.locale=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-exports=java.base/sun.security.action=ALL-UNNAMED --add-exports=java.base/sun.util.calendar=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xml.internal.utils=ALL-UNNAMED --add-exports=java.desktop/sun.font=ALL-UNNAMED --add-exports=java.base/sun.security.util=ALL-UNNAMED exit abort -Xms8192m -Xmx8192m Host: Intel(R) Xeon(R) Gold 6338 CPU @ 2.00GHz, 8 cores, 19G, Windows Server 2016 , 64 bit Build 14393 (10.0.14393.7330) Time: Thu Nov 28 11:57:16 2024 GMT Standard Time elapsed time: 1388.459774 seconds (0d 0h 23m 8s) --------------- T H R E A D --------------- Current thread (0x00000000fd423800): JavaThread "Java2D Queue Flusher" daemon [_thread_in_native, id=10092, stack(0x000000007fcb0000,0x000000007fdb0000)] Stack: [0x000000007fcb0000,0x000000007fdb0000], sp=0x000000007fdac890, free space=1010k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [vm3dgl64.dll+0xe3696d]
Cause
JVM appears to be crashing when calling C code from vm3dgl64.dll - a DLL that is not part of Confluence or Java.
vm3dgl64.dll belongs to VMware's SVGA 3D OpenGL driver, and is bundled recently in VMware Tools 12.5.0.
Environment
Confluence running on Windows Virtual Machines
VMware Tools 12.5.0 installed on the Host machine of the VMs
Workaround
Shut down Confluence
Uninstall (or revert on a previous version) VMware Tools 12.5.0
Restart your Windows host
Start Confluence
ℹ️ You may contact the vmware support directly for the issue with the tool
Was this helpful?