Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-91652

Confluence throws error relating to GLIBC_2.14 on old Linux OS

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a bug
    • Low
    • None
    • 8.6.0, 8.5.1, 7.19.14, 8.3.3, 8.4.3, 8.5.3
    • Server - Platform
    • None

    Description

      Issue Summary

      On older Linux OS, Confluence 7.19.14 and Confluence 8.5.1 throws an error relating to GLIBC_2.14 on a new install or upgrade:

      ...
      Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.atlassian.security.auth.trustedapps.BouncyCastleEncryptionProvider
      ...
      Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: /opt/atlassian/confluence/temp/bc-lts-jni1ncdrmdgf-libs/libbc-lts-avx.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/atlassian/confluence/temp/bc-lts-jni1ncdrmdgf-libs/libbc-lts-avx.so) [in thread "http-nio-8090-exec-1"]
      ...
      

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Install an old Linux distribution that is bundled with a GLIBC version older than 2.14
        • E.g. Oracle Linux 6 - bundled with GLIBC_2.12, RHEL 6 - bundled with GLIBC_2.12
      2. Install a fresh installation of an affected Confluence version
      3. Follow the installation wizard until the Database setup screen, press Next

      Alternatively, upgrading to an affected Confluence version will also encounter the same log message below.

      Expected Results

      Confluence installation or startup should proceed without any errors relating to GLIBC_2.14.

      Actual Results

      The below exception is thrown in the atlassian-confluence.log file:

      ...
      Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.atlassian.security.auth.trustedapps.BouncyCastleEncryptionProvider
      	at jdk.internal.reflect.GeneratedConstructorAccessor119.newInstance(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
      	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
      	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211)
      	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1326)
      	... 483 more
      Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: /opt/atlassian/confluence/temp/bc-lts-jni1ncdrmdgf-libs/libbc-lts-avx.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/atlassian/confluence/temp/bc-lts-jni1ncdrmdgf-libs/libbc-lts-avx.so) [in thread "http-nio-8090-exec-1"]
      	at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
      	at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source)
      	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
      	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
      	at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
      	at java.base/java.lang.Runtime.load0(Unknown Source)
      	at java.base/java.lang.System.load(Unknown Source)
      	at org.bouncycastle.crypto.NativeLoader$3.run(NativeLoader.java:562)
      	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
      	at org.bouncycastle.crypto.NativeLoader.loadDriver(NativeLoader.java:556)
      	at org.bouncycastle.crypto.CryptoServicesRegistrar.<clinit>(CryptoServicesRegistrar.java:139)
      	at org.bouncycastle.jce.provider.BouncyCastleProvider.<clinit>(BouncyCastleProvider.java:60)
      	at com.atlassian.security.auth.trustedapps.BouncyCastleEncryptionProvider.<clinit>(BouncyCastleEncryptionProvider.java:44)
      ...
      

      Workaround

      As per Supported Platforms:

      Confluence is only supported on operating system versions that have an active vendor support.

      Please upgrade the Linux OS to a newer version that has GLIBC_2.14 or newer. To check the OS bundled GLIBC version, run:

      ldd --version
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              hlam@atlassian.com Eric Lam
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: