Page editor becomes unresponsive when editing pages

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

Summary

Problem

The page editor or Confluence as a whole becomes unresponsive and the following appears in the atlassian-synchrony-proxy.log

1 ERROR c.a.s.p.w.WebSocketProxy:49 afterConnectionEstablished - Handshake error

The following appears in catalina.out

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 28 SEVERE [http-nio-8090-exec-41] org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.afterConnectionClosed Unhandled error for ExceptionWebSocketHandlerDecorator [delegate=LoggingWebSocketHandlerDecorator [delegate=PerConnectionWebSocketHandlerProxy[handlerType=class com.atlassian.synchrony.proxy.websocket.WebSocketProxy]]] java.util.concurrent.TimeoutException at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1771) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915) at com.atlassian.synchrony.proxy.websocket.WebSocketUpstreamHandler.getSynchronySession(WebSocketUpstreamHandler.java:64) at com.atlassian.synchrony.proxy.websocket.WebSocketProxy.tryCloseRemoteSession(WebSocketProxy.java:94) at com.atlassian.synchrony.proxy.websocket.WebSocketProxy.afterConnectionClosed(WebSocketProxy.java:78) at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.afterConnectionClosed(PerConnectionWebSocketHandler.java:97) at org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(WebSocketHandlerDecorator.java:85) at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(LoggingWebSocketHandlerDecorator.java:72) at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.afterConnectionClosed(ExceptionWebSocketHandlerDecorator.java:78) at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.onClose(StandardWebSocketHandlerAdapter.java:141) at org.apache.tomcat.websocket.WsSession.fireEndpointOnClose(WsSession.java:535) at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:481) at org.apache.tomcat.websocket.WsSession.close(WsSession.java:445) at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.closeInternal(StandardWebSocketSession.java:217) at org.springframework.web.socket.adapter.AbstractWebSocketSession.close(AbstractWebSocketSession.java:140) at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.tryCloseWithError(ExceptionWebSocketHandlerDecorator.java:94) at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.afterConnectionEstablished(ExceptionWebSocketHandlerDecorator.java:51) at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.onOpen(StandardWebSocketHandlerAdapter.java:100) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:133) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:816) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

Diagnosis

Environment

  • Confluence Server 6.x

  • Collaborative Editing is enabled

Cause

This issue is caused by websockets session being terminated during or after the handshake, leaving the session open on the server when it's not actually connected to the client.

Some environments such as those that use an F5 Load Balancer may encounter as described as in the following articles:

However this is not limited to one specific vendor and is exacerbated by Confluence not detecting and closing these connections.

A product bug has been opened to determine how to fix the root cause of the problem:

Solution

Resolution

This issue is fixed in Confluence 7.0.1. You should upgrade to Confluence 7.0 or later.

Workaround

If you're unable to upgrade to Confluence 7.0 or later, a temporary workaround is to switch Synchrony into "Limited" mode.

Follow the steps below to perform the workaround (if Confluence is unresponsive, perform a restart before proceeding).

  • The Administering Collaborative Editing article describes how to change Synchrony's operating modes

    1. Go to

      (Auto-migrated image: description temporarily unavailable)

      > General Configuration > Collaborative editing.

    2. Choose Change mode.

    3. Select "Limited" and choose Change.

ℹ️ Synchrony can also be changed to "Off" mode, but any shared drafts will become unavailable while in "Off" mode.

Please open a support request if further assistance or help diagnosing the is needed.

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.