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

Collaborative Editing cannot be enabled on Confluence 6.15.8 installed on Microsoft Windows

      Issue Summary

      Collaborative Editing cannot be enabled on Confluence 6.13.7/6.15.8 when Confluence Server is running on Microsoft Windows

      Environment

      Reproducible on:

      • Microsoft Windows 7
      • Microsoft Windows Server 2019

      Steps to Reproduce

      1. Install Confluence 6.15.8 on Microsoft Windows (install as Service or run as a Batch)
      2. Check Confluence Administration » General Configuration » Collaborative Editing
        • It's disabled out of the box
        • Try to enable Collaborative Editing and it will fail

      Expected Results

      Collaborative Editing should work

      Actual Results

      Collaborative Editing fails to enable

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

      2019-08-28 15:22:23,466 INFO [Catalina-utility-1] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 6.15.8 [build 8100 based on commit hash 6ef1ce95c788ac159314a8fa6387047b8d1cc9fb] - synchrony version 2.1.0-release-confluence_6.15-32f7299a
      ...
      ..
      2019-08-28 15:23:54,165 WARN [lifecycle:thread-33] [plugins.synchrony.bootstrap.SynchronyInteropBootstrap] onStart An exception occurred while waiting for Synchrony to start: java.lang.UnsatisfiedLinkError: C:\Confluence\temp\jna--344906899\jna8656034719827676394.dll: Can't find dependent libraries
      
      2019-08-28 15:25:22,705 INFO [Long running task: EnableTask] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] startup Starting Synchrony and enabling Collaborative Editing
      2019-08-28 15:25:22,720 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] isSynchronyProxyEnabled proxy port present: true
      2019-08-28 15:25:22,736 INFO [Long running task: EnableTask] [plugins.synchrony.tasks.AbstractConfigLongRunningTask] execute Removed 0 stale shared drafts.
      2019-08-28 15:25:22,798 ERROR [Long running task: EnableTask] [confluence.util.longrunning.ConfluenceAbstractLongRunningTask] run Long running task "EnableTask" failed to run.
       -- url: /rest/synchrony-interop/enable | referer: http://127.0.0.1:8090/admin/confluence-collaborative-editor-plugin/configure.action | traceId: c22f5cc5969cee5c | userName: atlassian
      java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.platform.win32.WinNT$OSVERSIONINFOEX
      	at oshi.software.os.windows.WindowsOSVersionInfoEx.<init>(WindowsOSVersionInfoEx.java:47)
      	at oshi.software.os.windows.WindowsOperatingSystem.<init>(WindowsOperatingSystem.java:54)
      	at oshi.SystemInfo.getOperatingSystem(SystemInfo.java:92)
      	at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyProcessManager.getConfluenceProcessId(DefaultSynchronyProcessManager.java:688)
      	at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyProcessManager.setupEnvironment(DefaultSynchronyProcessManager.java:389)
      	at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyProcessManager.trySetup(DefaultSynchronyProcessManager.java:696)
      	at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyProcessManager.lambda$startProcess$1(DefaultSynchronyProcessManager.java:590)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      

      Root Cause

      An update to the bundled AdoptOpenJDK8u222-b10 in Confluence 6.15.8 has resulted in a library dependency issue resulting in the Synchrony process failing to start.

      Resolution

      An urgent release has been made to address this issue.

      • Please upgrade to Confluence 6.13.8 if you are on the 6.13 Enterprise Release.
      • Please upgrade to Confluence 6.15.9 if you are on the 6.15 release.

      Workaround

      Downgrade the bundled Java AdoptOpenJDK from 1.8.0_222-10 to previously bundled JVM (i.e. 1.8.0_202-b08) resolves the issue.

      Substitute C:\Program Files\Atlassian\Confluence below if you have Confluence installed in a non-default location.

      1. Download AdoptOpenJDK 8u202-b08 from https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u202-b08/OpenJDK8U-jre_x64_windows_hotspot_8u202b08.zip
      2. Shutdown Confluence
      3. Rename C:\Program Files\Atlassian\Confluence\jre to C:\Program Files\Atlassian\Confluence\jre8u222-b10
      4. Extract OpenJDK8U-jre_x64_windows_hotspot_8u202b08.zip to C:\Program Files\Atlassian\Confluence - it will extract with a sub-directory called jdk8u202-b08-jre
        • Rename the new C:\Program Files\Atlassian\Confluence\jdk8u202-b08-jre to C:\Program Files\Atlassian\Confluence\jre
      5. Start Confluence and Collaborative Editing should now start

            [CONFSERVER-58784] Collaborative Editing cannot be enabled on Confluence 6.15.8 installed on Microsoft Windows

            If you're running the Confluence 6.13 Enterprise release, a fix for this issue is now available in Confluence 6.13.13, which you can find in the Download Archives.

            Ellen Oates added a comment - If you're running the Confluence 6.13 Enterprise release, a fix for this issue is now available in Confluence 6.13.13, which you can find in the Download Archives .

            Piotr Janik added a comment - - edited

            richatkins I like the approach in JetBrains' YouTrack. During the first run after installation/upgrading, it uses whatever Java 8/11 is found on the system, then the app is set to use the embedded JRE & restarted. The current TAR.GZ's by Atlassian don't even contain JREs – this is, for whatever reason, restricted to BINs.

            Piotr Janik added a comment - - edited richatkins I like the approach in JetBrains' YouTrack. During the first run after installation/upgrading, it uses whatever Java 8/11 is found on the system, then the app is set to use the embedded JRE & restarted. The current TAR.GZ's by Atlassian don't even contain JREs – this is, for whatever reason, restricted to BINs.

            Reopening as the underlying issue was never resolved - ensuring that Confluence and Synchrony can run with the latest JDK.

            Richard Atkins added a comment - Reopening as the underlying issue was never resolved - ensuring that Confluence and Synchrony can run with the latest JDK.

            Zac Xu added a comment -

            If you're running the Confluence 6.6 Enterprise release, a fix for this issue is now available in Confluence 6.6.17, which you can find in the Download Archives.

            Zac Xu added a comment - If you're running the Confluence 6.6 Enterprise release, a fix for this issue is now available in Confluence 6.6.17, which you can find in the Download Archives .

            What if we don't use the bundled JVM? I tried the latest adoptopenjdk (232) with 6.13.8 on Windows Server 2019 and ran into this problem. We would prefer to be able to update adoptopenjdk separate from Confluence.

            Nathanael Motz added a comment - What if we don't use the bundled JVM? I tried the latest adoptopenjdk (232) with 6.13.8 on Windows Server 2019 and ran into this problem. We would prefer to be able to update adoptopenjdk separate from Confluence.

            Quan Pham added a comment -

            A fix for this issue is available to Server and Data Center customers in Confluence 6.15.9
            Upgrade now or check out the Release Notes to see what other issues are resolved.

            Quan Pham added a comment - A fix for this issue is available to Server and Data Center customers in Confluence 6.15.9 Upgrade now or check out the Release Notes to see what other issues are resolved.

            Quan Pham added a comment -

            A fix for this issue is available to Server and Data Center customers in Confluence 6.13.8
            Upgrade now or check out the Release Notes to see what other issues are resolved.

            If you're running the Confluence 6.13 Enterprise release, a fix for this issue is now available in Confluence 6.13.8, which you can find in the Download Archives.

            Quan Pham added a comment - A fix for this issue is available to Server and Data Center customers in Confluence 6.13.8 Upgrade now or check out the Release Notes to see what other issues are resolved. If you're running the Confluence 6.13 Enterprise release, a fix for this issue is now available in Confluence 6.13.8, which you can find in the Download Archives .

            Within the OSHI library, the constructor of WindowsOSVersionInfoEx instantiates WmiQueryHandler which imports com.sun.jna.platform.win32.WinNT resulting in a NoClassDefFoundError.

            Unknown as to why the WinNT class is undefined, interesting that a downgrade of the JVM resolves the issue.

            Damion Brown added a comment - Within the OSHI library, the constructor of  WindowsOSVersionInfoEx instantiates WmiQueryHandler which imports com.sun.jna.platform.win32.WinNT resulting in a NoClassDefFoundError. Unknown as to why the WinNT class is undefined, interesting that a downgrade of the JVM resolves the issue.

              richatkins Richard Atkins
              hlam@atlassian.com Eric Lam
              Affected customers:
              3 This affects my team
              Watchers:
              31 Start watching this issue

                Created:
                Updated:
                Resolved: