Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-19200

ProcessTreeKiller does not work on windows 7

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • core
    • None
    • Windows 7

      Hello,

      the process tree killer seems to fail on windows 7 while it works on a windows xp.
      I install todays Jenkins ver. 1.527, add a node which runs windows 7, add a new job that runs the batch command "start calc" (which creates a spawned process) and tie it to this node.

      The node connects to the master with
      java -jar slave.jar -jnlpUrl http://10.216.47.91:8080/computer/win7/slave-agent.jnlp

      When i start the job the console output shows:
      d:\temp\workspace\1>start calc
      d:\temp\workspace\1>exit 0
      Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
      Finished: SUCCESS
      so far, so good

      On the slave, the calculator opens and stays open. The console running slave.jar says:
      Aug 14, 2013 5:22:56 PM hudson.Proc$LocalProc join
      WARNING: Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
      java.lang.Exception
      at hudson.Proc$LocalProc.join(Proc.java:329)
      at hudson.Launcher$RemoteLaunchCallable$1.join(Launcher.java:1003)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:299)
      at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:280)
      at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:239)
      at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:326)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:63)
      at java.lang.Thread.run(Unknown Source)

      This happens independently if i run java in a cmd.exe with or without admin privileges. If i execute the job on the master, the same happens.
      When i look into the process list with process explorer, the calc.exe has the BUILD_ID set.
      Can somebody reproduce this? Shouldn't the process tree killer find and terminate this process?
      Thanks!

            Unassigned Unassigned
            stefanwaigand Stefan Waigand
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: