Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-734

Remote shell bundle can prevent felix shutdown

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • shell.remote-1.0.2
    • shell.remote-1.0.4
    • Remote Shell
    • None
    • Sun JDK 1.6.0_02,
      Windows XP Pro,
      felix 1.2.1, shell-remote 1.0.2

    Description

      On one of our PCs, issuing a shutdown command to felix remote shell would hang indefinitely. We could go to the console window and still type in commands to the local shell, and a 'ps' showed that bundle 0 and the remote-shell bundle were in "stopping" states.

      The problem was in remote.shell's Listener.java. The deactivate method seemed to be expecting the m_ServerSocket.close() call on line 70 to cause an exception in the waiting thread at line 104, the m_ServerSocket.accept() call.

      For most of our machines, this seems to work as expected. But the one that did waited forever for the thread join to happen, and could never shutdown.

      To address this, we set the serverSocket's SOTimeout field, so that it it will timeout, go through the do/while loop, and reevaluate the m_stop variable. The timeout is configurable via the bundle context property "osgi.shell.telnet.SocketTimeout" and defaults to 0, the current behavior.

      Patch will be attached shortly.

      Attachments

        1. RemoteShellListenerPatch.txt
          2 kB
          Patrick Forhan

        Activity

          People

            fmeschbe Felix Meschberger
            pforhan Patrick Forhan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: