Closed Bug 1042790 Opened 10 years ago Closed 10 years ago

clobberer step is failing to clobber

Categories

(Infrastructure & Operations Graveyard :: CIDuty, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jlund, Unassigned)

References

Details

07:33:04 INFO - Removing lost+found.deleteme/ 07:33:04 INFO - Couldn't clobber properly, bailing out. 07:33:04 ERROR - Return code: 1 07:33:04 INFO - retry: Failed, sleeping 60 seconds before retrying 07:34:04 INFO - retry: Calling <bound method B2GBuild.run_command of <__main__.B2GBuild object at 0x1a6b5d0>> with args: [['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-020', u'http://buildbot-master70.srv.releng.use1.mozilla.com:8001/']], kwargs: {'error_list': [{'substr': 'Error contacting server', 'explanation': 'Error contacting server for clobberer information.', 'level': 'error'}], 'cwd': '/builds/slave'}, attempt #2 07:34:04 INFO - Running command: ['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-020', u'http://buildbot-master70.srv.releng.use1.mozilla.com:8001/'] in /builds/slave 07:34:04 INFO - Copy/paste: python /builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py -s scripts -s logs -s buildprops.json -s token -t 168 http://clobberer.pvt.build.mozilla.org/index.php b2g-inbound b2g_b2g-inbound_emulator_dep /builds/slave bld-linux64-spot-020 http://buildbot-master70.srv.releng.use1.mozilla.com:8001/ 07:34:04 INFO - Checking clobber URL: http://clobberer.pvt.build.mozilla.org/index.php?master=http%3A%2F%2Fbuildbot-master70.srv.releng.use1.mozilla.com%3A8001%2F&slave=bld-linux64-spot-020&builddir=%2Fbuilds%2Fslave&branch=b2g-inbound&buildername=b2g_b2g-inbound_emulator_dep 07:34:04 INFO - b2g_b2g-in_emu-jb-d_dep-000000:Our last clobber date: None 07:34:04 INFO - b2g_b2g-in_emu-jb-d_dep-000000:Server clobber date: 2014-07-23 07:24:05 07:34:04 INFO - tb-c-cen-l64-l10n-dep-00000000:Our last clobber date: None 07:34:04 INFO - tb-c-cen-l64-l10n-dep-00000000:Server clobber date: 2014-07-23 06:07:03 07:34:04 INFO - /builds/slave:Our last clobber date: 2014-07-23 04:34:13 07:34:04 INFO - /builds/slave:Server clobber date: 2014-07-23 07:24:05 07:34:04 INFO - /builds/slave:Server is forcing a clobber, initiated by cbook@mozilla.com 07:34:04 INFO - /builds/slave:Clobbering... 07:34:04 INFO - Removing lost+found.deleteme/ 07:34:04 INFO - Couldn't clobber properly, bailing out. 07:34:04 ERROR - Return code: 1 07:34:04 INFO - retry: Failed, sleeping 120 seconds before retrying 07:36:04 INFO - retry: Calling <bound method B2GBuild.run_command of <__main__.B2GBuild object at 0x1a6b5d0>> with args: [['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-020', u'http://buildbot-master70.srv.releng.use1.mozilla.com:8001/']], kwargs: {'error_list': [{'substr': 'Error contacting server', 'explanation': 'Error contacting server for clobberer information.', 'level': 'error'}], 'cwd': '/builds/slave'}, attempt #3 07:36:04 INFO - Running command: ['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-020', u'http://buildbot-master70.srv.releng.use1.mozilla.com:8001/'] in /builds/slave 07:36:04 INFO - Copy/paste: python /builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py -s scripts -s logs -s buildprops.json -s token -t 168 http://clobberer.pvt.build.mozilla.org/index.php b2g-inbound b2g_b2g-inbound_emulator_dep /builds/slave bld-linux64-spot-020 http://buildbot-master70.srv.releng.use1.mozilla.com:8001/ 07:36:05 INFO - Checking clobber URL: http://clobberer.pvt.build.mozilla.org/index.php?master=http%3A%2F%2Fbuildbot-master70.srv.releng.use1.mozilla.com%3A8001%2F&slave=bld-linux64-spot-020&builddir=%2Fbuilds%2Fslave&branch=b2g-inbound&buildername=b2g_b2g-inbound_emulator_dep 07:36:05 INFO - b2g_b2g-in_emu-jb-d_dep-000000:Our last clobber date: None 07:36:05 INFO - b2g_b2g-in_emu-jb-d_dep-000000:Server clobber date: 2014-07-23 07:24:05 07:36:05 INFO - tb-c-cen-l64-l10n-dep-00000000:Our last clobber date: None 07:36:05 INFO - tb-c-cen-l64-l10n-dep-00000000:Server clobber date: 2014-07-23 06:07:03 07:36:05 INFO - /builds/slave/b2g_m-aurora_flame_eng_dep-000 doesn't exist, skipping 07:36:05 INFO - b2g_b2g-in_emu_dep-00000000000:Our last clobber date: None 07:36:05 INFO - b2g_b2g-in_emu_dep-00000000000:Server clobber date: 2014-07-23 07:24:05 07:36:05 INFO - /builds/slave:Our last clobber date: 2014-07-23 04:34:13 07:36:05 INFO - /builds/slave:Server clobber date: 2014-07-23 07:24:05 07:36:05 INFO - /builds/slave:Server is forcing a clobber, initiated by cbook@mozilla.com 07:36:05 INFO - /builds/slave:Clobbering... 07:36:05 INFO - Removing lost+found.deleteme/ 07:36:05 INFO - Couldn't clobber properly, bailing out. 07:36:05 ERROR - Return code: 1 07:36:05 ERROR - <bound method B2GBuild.run_command of <__main__.B2GBuild object at 0x1a6b5d0>> failed after 3 tries! 07:36:05 FATAL - failed to clobber build 07:36:05 FATAL - Running post_fatal callback... 07:36:05 FATAL - Exiting 2 program finished with exit code 2
thus far this has only been seen on b2g platforms. and all "07:34:04 INFO - /builds/slave:Server is forcing a clobber, initiated by cbook@mozilla.com" So it looks like it is limited to b2g builders. clobberer hosts and AWS instances are suspects.
jobs are still occasionally failing. callek pointed out this could be fall out of my fx desktop build patch: http://hg.mozilla.org/build/mozharness/rev/da2e0cf4a096
it looks like they keep clobbering builddirs fine until it gets to: 07:36:05 INFO - Removing lost+found.deleteme/ 07:36:05 INFO - Couldn't clobber properly, bailing out. looking here you can see it is owned by root: [cltbld@bld-linux64-spot-024.build.releng.use1.mozilla.com slave]$ ls -la total 5388 drwx------ 2 root root 16384 Jul 23 2014 lost+found.deleteme
it appears to not just be limited to lost+found.deleteme 07:38:24 INFO - Removing mock_mozilla/ 07:38:24 INFO - Couldn't clobber properly, bailing out. 07:38:24 ERROR - Return code: 1 07:38:24 INFO - retry: Failed, sleeping 60 seconds before retrying 07:39:24 INFO - retry: Calling <bound method B2GBuild.run_command of <__main__.B2GBuild object at 0xfaf5d0>> with args: [['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-027', u'http://buildbot-master71.srv.releng.use1.mozilla.com:8001/']], kwargs: {'error_list': [{'substr': 'Error contacting server', 'explanation': 'Error contacting server for clobberer information.', 'level': 'error'}], 'cwd': '/builds/slave'}, attempt #2 07:39:24 INFO - Running command: ['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-027', u'http://buildbot-master71.srv.releng.use1.mozilla.com:8001/'] in /builds/slave 07:39:24 INFO - Copy/paste: python /builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py -s scripts -s logs -s buildprops.json -s token -t 168 http://clobberer.pvt.build.mozilla.org/index.php b2g-inbound b2g_b2g-inbound_emulator_dep /builds/slave bld-linux64-spot-027 http://buildbot-master71.srv.releng.use1.mozilla.com:8001/ 07:39:24 INFO - python: can't open file '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py': [Errno 2] No such file or directory 07:39:24 ERROR - Return code: 2 07:39:24 INFO - retry: Failed, sleeping 120 seconds before retrying 07:41:24 INFO - retry: Calling <bound method B2GBuild.run_command of <__main__.B2GBuild object at 0xfaf5d0>> with args: [['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-027', u'http://buildbot-master71.srv.releng.use1.mozilla.com:8001/']], kwargs: {'error_list': [{'substr': 'Error contacting server', 'explanation': 'Error contacting server for clobberer information.', 'level': 'error'}], 'cwd': '/builds/slave'}, attempt #3 07:41:24 INFO - Running command: ['python', '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py', '-s', 'scripts', '-s', 'logs', '-s', 'buildprops.json', '-s', 'token', '-t', '168', 'http://clobberer.pvt.build.mozilla.org/index.php', u'b2g-inbound', u'b2g_b2g-inbound_emulator_dep', '/builds/slave', u'bld-linux64-spot-027', u'http://buildbot-master71.srv.releng.use1.mozilla.com:8001/'] in /builds/slave 07:41:24 INFO - Copy/paste: python /builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py -s scripts -s logs -s buildprops.json -s token -t 168 http://clobberer.pvt.build.mozilla.org/index.php b2g-inbound b2g_b2g-inbound_emulator_dep /builds/slave bld-linux64-spot-027 http://buildbot-master71.srv.releng.use1.mozilla.com:8001/ 07:41:24 INFO - python: can't open file '/builds/slave/b2g_b2g-in_emu_dep-00000000000/scripts/external_tools/clobberer.py': [Errno 2] No such file or directory 07:41:24 ERROR - Return code: 2 07:41:24 ERROR - <bound method B2GBuild.run_command of <__main__.B2GBuild object at 0xfaf5d0>> failed after 3 tries! 07:41:24 FATAL - failed to clobber build 07:41:24 FATAL - Running post_fatal callback... 07:41:24 FATAL - Exiting 2 I think there is something going on due to my previous patch: diff --git a/external_tools/clobberer.py b/external_tools/clobberer.py --- a/external_tools/clobberer.py +++ b/external_tools/clobberer.py @@ -1,10 +1,10 @@ -#!/usr/bin/python +#!/usr/bin/env python # vim:sts=2 sw=2 import sys import shutil import urllib2 import urllib import os import traceback import time if os.name == 'nt': diff --git a/mozharness/mozilla/purge.py b/mozharness/mozilla/purge.py --- a/mozharness/mozilla/purge.py +++ b/mozharness/mozilla/purge.py @@ -27,38 +27,42 @@ class PurgeMixin(object): clobber_tool = os.path.join(external_tools_path, 'clobberer.py') default_skips = ['info', 'rel-*', 'tb-rel-*'] default_maxage = 14 default_periodic_clobber = 7 * 24 def purge_builds(self, basedirs=None, min_size=None, skip=None, max_age=None): # Try clobbering first c = self.config + dirs = self.query_abs_dirs() if 'clobberer_url' in c: self.clobberer() min_size = min_size or c['purge_minsize'] max_age = max_age or c.get('purge_maxage') or self.default_maxage skip = skip or c.get('purge_skip') or self.default_skips if not basedirs: # some platforms using this method (like linux) supply more than # one basedir basedirs = [] - assert self.buildbot_config - basedirs.append(os.path.dirname(self.buildbot_config['properties']['basedir'])) + basedirs.append(os.path.dirname(dirs['base_work_dir'])) if self.config.get('purge_basedirs'): basedirs.extend(self.config.get('purge_basedirs')) + try: + python = self.query_python_path() + except AttributeError: + # we are not inheriting from VirtualenvMixin + python = self.query_exe('python') + # Add --dry-run if you don't want to do this for realz - cmd = [self.purge_tool, - '-s', str(min_size), - ] + cmd = [python, self.purge_tool, '-s', str(min_size)] if max_age: cmd.extend(['--max-age', str(max_age)]) for s in skip: cmd.extend(['--not', s]) cmd.extend(basedirs) @@ -68,50 +72,57 @@ class PurgeMixin(object): share_base = c.get('vcs_share_base', os.environ.get("HG_SHARE_BASE_DIR", None)) if share_base: env['HG_SHARE_BASE_DIR'] = share_base retval = self.run_command(cmd, env=env) if retval != 0: self.fatal("failed to purge builds", exit_code=2) def clobberer(self): c = self.config + dirs = self.query_abs_dirs() if not self.buildbot_config: self.fatal("clobberer requires self.buildbot_config (usually from $PROPERTIES_FILE)") periodic_clobber = c.get('periodic_clobber') or self.default_periodic_clobber clobberer_url = c['clobberer_url'] - builddir = os.path.basename(self.buildbot_config['properties']['basedir']) + builddir = os.path.dirname(dirs['base_work_dir']) branch = self.buildbot_config['properties']['branch'] buildername = self.buildbot_config['properties']['buildername'] slave = self.buildbot_config['properties']['slavename'] master = self.buildbot_config['properties']['master'] + + try: + python = self.query_python_path() + except AttributeError: + # we are not inheriting from VirtualenvMixin + python = self.query_exe('python') + # Add --dry-run if you don't want to do this for realz - cmd = [self.clobber_tool] + cmd = [python, self.clobber_tool] # TODO configurable list cmd.extend(['-s', 'scripts']) cmd.extend(['-s', 'logs']) cmd.extend(['-s', 'buildprops.json']) cmd.extend(['-s', 'token']) if periodic_clobber: cmd.extend(['-t', str(periodic_clobber)]) cmd.extend([clobberer_url, branch, buildername, builddir, slave, master]) error_list = [{ 'substr': 'Error contacting server', 'level': ERROR, 'explanation': 'Error contacting server for clobberer information.' }] retval = self.retry(self.run_command, attempts=3, good_statuses=(0,), args=[cmd], - kwargs={'cwd':os.path.dirname(self.buildbot_config['properties']['basedir']), - 'error_list':error_list}) + kwargs={'cwd': builddir, 'error_list': error_list}) if retval != 0: self.fatal("failed to clobber build", exit_code=2) def clobber(self, always_clobber_dirs=None): """ Mozilla clobberer-type clobber. """ c = self.config if c.get('is_automation'): # Nightly builds always clobber you can see that it may affect the interpreter. I am going to back this out
resolved per c#5
Status: NEW → RESOLVED
Closed: 10 years ago
Depends on: 858797
Resolution: --- → FIXED
Product: Release Engineering → Infrastructure & Operations
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.