Uploaded image for project: 'JBoss Remoting (3+)'
  1. JBoss Remoting (3+)
  2. REM3-232

AbstractHandleableCloseable.close infinite wait

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 3.3.8.Final
    • 3.3.4.Final
    • None

      In a context where Endpoint is closed although some connections are in progress, we are observing that the close method can never return. Log analysis has shown that the following scenario can happen (using Wildly CLI process):

      • The CLI creates a new Endpoint.
      • The CLI attemps to connect to the server. It takes 10 seconds for the server to reply to the connection and the client to receive the "authentication complete".
      • The CLI main thread detects that the connection failed (there is a timeout for connection of 5 seconds) and throws an Exception. This does fire the shutdownhook.
      • The Endpoint is closed synchronously and the Remoting remote connection provider is closed (locking the connectionLock then unlocking it). The Endpoint has been switched to CLOSING state.
      • Just after the close of the provider, we can see a trace that shows that the .ClientConnectionOpenListener$Authentication is registered. It means that although the provider has been closed, it is accepting a new connection and updates its data structure. There is a check to see if the EndpoinImpl has not been closed (isCloseFlagSet). The EndpointImpl is in CLOSING, so the new incoming connection is not closed.

      This scenario should be causing the hang that we are observing.

            elguardian@gmail.com Enrique González Martínez (Inactive)
            jdenise@redhat.com Jean Francois Denise
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: