Ticket #202 (closed defect: fixed)
changes.pck always get trucated when Buildbot running
| Reported by: | wangvisual | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 0.7.10 |
| Version: | 0.7.6 | Keywords: | |
| Cc: |
Description
The suspect culprit is in master.py:
# this ChangeMaster is a dummy, only used by tests. In the real # buildmaster, where the BuildMaster instance is activated # (startService is called) by twistd, this attribute is overwritten. self.useChanges(ChangeMaster())
When Buildbot start, self.useChanges() will be called again within loadChanges(), and as self.change_svc is not null, so self.change_svc.disownServiceParent() will be called. This will trigger ChangeMaster?.saveYourSelf() and override 'changes.pck' with empty values.
Normally, this won't be a problem, but if buildbot was killed with -9 or machine hang then 'changes.pck' will be useless and waterfull will show empty changes collumn.
Here is the stack trace log when Buildbot start:
2008/03/17 00:31 -0700 [-] twistd 2.5.0 (/depot/Python-2.5/bin/python 2.5.0) starting up 2008/03/17 00:31 -0700 [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'> 2008/03/17 00:31 -0700 [-] Loading buildbot.tac... 2008/03/17 00:32 -0700 [-] Loaded. 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/bin/twistd", line 21, in <module> 2008/03/17 00:32 -0700 [-] run() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/scripts/twistd.py", line 27, in run 2008/03/17 00:32 -0700 [-] app.run(runApp, ServerOptions) 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/application/app.py", line 379, in run 2008/03/17 00:32 -0700 [-] runApp(config) 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/scripts/twistd.py", line 23, in runApp 2008/03/17 00:32 -0700 [-] _SomeApplicationRunner(config).run() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/application/app.py", line 158, in run 2008/03/17 00:32 -0700 [-] self.postApplication() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/scripts/_twistd_unix.py", line 213, in postApplication 2008/03/17 00:32 -0700 [-] startApplication(self.config, self.application) 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/scripts/_twistd_unix.py", line 183, in startApplication 2008/03/17 00:32 -0700 [-] app.startApplication(application, not config['no_save']) 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/application/app.py", line 400, in startApplication 2008/03/17 00:32 -0700 [-] service.IService(application).startService() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/application/service.py", line 233, in startService 2008/03/17 00:32 -0700 [-] service.startService() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/buildbot/master.py", line 400, in startService 2008/03/17 00:32 -0700 [-] self.loadChanges() # must be done before loading the config file 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/buildbot/master.py", line 435, in loadChanges 2008/03/17 00:32 -0700 [-] self.useChanges(changes) 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/buildbot/master.py", line 417, in useChanges 2008/03/17 00:32 -0700 [-] self.change_svc.disownServiceParent() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/application/service.py", line 151, in disownServiceParent 2008/03/17 00:32 -0700 [-] d = self.parent.removeService(self) 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/twisted/application/service.py", line 269, in removeService 2008/03/17 00:32 -0700 [-] return service.stopService() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/buildbot/changes/changes.py", line 279, in stopService 2008/03/17 00:32 -0700 [-] self.saveYourself() 2008/03/17 00:32 -0700 [-] File "/u/ncxmgr/Apps/buildbot/lib/buildbot/changes/changes.py", line 264, in saveYourself 2008/03/17 00:32 -0700 [-] print_stack() 2008/03/17 00:32 -0700 [-] loading configuration from /remote/dept5532a/ncxmgr/Apps/buildbot/master/master.cfg
Change History
Note: See
TracTickets for help on using
tickets.
![[Buildbot Logo]](/chrome/site/header-text-transparent.png)
testing a solution now