Open Bug 976422 Opened 11 years ago Updated 2 years ago

build-backend fails with missing class file

Categories

(Firefox Build System :: General, defect)

x86
macOS
defect

Tracking

(Not tracked)

People

(Reporter: rnewman, Unassigned)

References

Details

fx-team]$ ./mach build-backend -b AndroidEclipse (02-24 21:02) 0:00.09 /Users/rnewman/moz/hg/fx-team/objdir-droid/_virtualenv/bin/python /Users/rnewman/moz/hg/fx-team/objdir-droid/config.status --backend=AndroidEclipse Reticulating splines... /Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/backend/templates/android_eclipse/build.xml.rej: WARNING: no preprocessor directives found /Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/backend/templates/android_eclipse/build.xml.rej: WARNING: no preprocessor directives found /Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/backend/templates/android_eclipse/build.xml.rej: WARNING: no preprocessor directives found /Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/backend/templates/android_eclipse/build.xml.rej: WARNING: no preprocessor directives found Traceback (most recent call last): File "/Users/rnewman/moz/hg/fx-team/objdir-droid/config.status", line 910, in <module> config_status(**args) File "/Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/config_status.py", line 143, in config_status summary = the_backend.consume(definitions) File "/Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/backend/base.py", line 189, in consume self.consume_object(obj) File "/Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/backend/android_eclipse.py", line 65, in consume_object self._process_android_eclipse_project_data(obj.wrapped, obj.srcdir, obj.objdir) File "/Users/rnewman/moz/hg/fx-team/python/mozbuild/mozbuild/backend/android_eclipse.py", line 214, in _process_android_eclipse_project_data copier.copy(project_directory, skip_if_older=False, remove_unaccounted=True) File "/Users/rnewman/moz/hg/fx-team/python/mozbuild/mozpack/copier.py", line 327, in copy os.remove(f) OSError: [Errno 2] No such file or directory: '/Users/rnewman/moz/hg/fx-team/objdir-droid/android_eclipse/Fennec/bin/classes/ch/boye/httpclientandroidlib/auth/NTUserPrincipal.class'
As said in IRC, I expect this is a race between Eclipse cleaning and the build backend installing. The build backend (process_install_manifest.py) enumerates unaccounted files and then deletes them. Eclipse might remove such a file after enumeration but before deletion. It might be worth making process_install_manifest.py (really, mozbuild/copier.py) more lenient when it encounters an enumerated file that has since been removed, but being quiet about cross-process races is not a great policy.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.