Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-5327

Threads not stopped on karaf.restart + bundle(0).stop()

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.2.0.M1
    • Fix Version/s: 4.2.0.M1
    • Component/s: karaf
    • Labels:
      None

      Description

      I was looking at:

      karaf@root()> system:property karaf.restart true
      karaf@root()> stop 0
      

      I expected OSGi/Felix to be stopped, start-level go to 0 and all components/services/threads be stopped.

      However when Karaf came to:

      "main@7301" prio=5 tid=0x1 nid=NA runnable
        java.lang.Thread.State: RUNNABLE
      	  at org.apache.karaf.main.Main.main(Main.java:170)
      

      i.e., when Karaf decided to loop instead of System.exit() (because of karaf.restart=true), I saw the following threads remaining:

      • jline
        "JLine terminal non blocking reader thread@7394" daemon prio=5 tid=0x5e nid=NA runnable
          java.lang.Thread.State: RUNNABLE
        	  at java.io.FileInputStream.readBytes(FileInputStream.java:-1)
        	  at java.io.FileInputStream.read(FileInputStream.java:255)
        	  at org.jline.utils.InputStreamReader.read(InputStreamReader.java:270)
        	  - locked <0x1ce3> (a java.io.FileInputStream)
        	  at org.jline.utils.InputStreamReader.read(InputStreamReader.java:200)
        	  at org.jline.utils.NonBlockingReader.run(NonBlockingReader.java:276)
        	  at java.lang.Thread.run(Thread.java:748)
        
      • shutdown socket thread
        "Karaf Shutdown Socket Thread@7393" daemon prio=5 tid=0x18 nid=NA runnable
          java.lang.Thread.State: RUNNABLE
        	  at java.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java:-1)
        	  at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
        	  at java.net.ServerSocket.implAccept(ServerSocket.java:545)
        	  at java.net.ServerSocket.accept(ServerSocket.java:513)
        	  at org.apache.karaf.main.ShutdownSocketThread.run(ShutdownSocketThread.java:57)
        

      (In fabric8v1 I also saw jetty threads running, but it's pax-web fault).

        Attachments

          Activity

            People

            • Assignee:
              gnt Guillaume Nodet
              Reporter:
              gzres Grzegorz Grzybek
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: