[Buildbot] #3512: [windows] pid file missing

Buildbot trac trac at buildbot.net
Tue May 10 07:27:52 UTC 2016


#3512: [windows] pid file missing
-----------------------------+------------------------
Reporter:  xonqnopp          |       Owner:
    Type:  defect            |      Status:  new
Priority:  patches-accepted  |   Milestone:  undecided
 Version:  0.8.12            |  Resolution:
Keywords:  windows pid       |
-----------------------------+------------------------

Comment (by xonqnopp):

 First here is my code in `master.cfg`:

 {{{
 ## We need to trick twistd as it does not do what it is supposed to:
 if not os.path.exists("twistd.pid"):
     with open("twistd.pid", "w") as pidfile:
         pidfile.write("{}".format(os.getpid()))
 else:
     realpid = os.getpid()
     filepid = 0
     with open("twistd.pid", "r") as pidfile:
         filepid = int(pidfile.read())
     if filepid == 0 or filepid != realpid:
         with open("twistd.pid", "w") as pidfile:
             pidfile.write("{}".format(realpid))
 }}}

 When running buildbot manually, it works well. The problem is that the PID
 file is never deleted... The only danger is if you execute:

 {{{
 buildbot start
 buildbot stop
 buildbot stop
 }}}

 as it would try to kill the process having the PID stored in the file. In
 the best case, there is no process with this PID and it issues an error.
 In the worst case, you would kill another random process...

 I did not try the workaround with buildbot running as a windows service,
 since I cannot do this on my computer and the only one we have configured
 so is not to be broken :-S

 It also does not work for the slaves because the workaround is in the
 `master.cfg` file...

--
Ticket URL: <http://trac.buildbot.net/ticket/3512#comment:4>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the bugs mailing list