Closed Bug 1662115 Opened 5 years ago Closed 5 years ago

Perma [tier 2] 0:36.27 python/mozbuild/mozbuild/test/configure/<test>.py::Test<test>::<test>TEST-UNEXPECTED-FAIL

Categories

(Firefox Build System :: General, defect, P5)

defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1662130

People

(Reporter: intermittent-bug-filer, Assigned: rstewart)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Filed by: malexandru [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=314470296&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/TDHn0HfvTnqmQHc3-qkvsQ/runs/0/artifacts/public/logs/live_backing.log


[task 2020-08-31T13:13:56.302Z]  0:33.49 python/mozbuild/mozbuild/test/configure/test_options.py::TestCommandLineHelper::test_precedence PASSED
[task 2020-08-31T13:13:56.302Z]  0:33.49 
[task 2020-08-31T13:13:56.302Z]  0:33.49 ========================== 18 passed in 0.10 seconds ===========================
[task 2020-08-31T13:13:59.074Z]  0:36.26 /builds/worker/checkouts/gecko/python/mozbuild/mozbuild/test/configure/test_moz_configure.py
[task 2020-08-31T13:13:59.074Z]  0:36.27 ============================= test session starts ==============================
[task 2020-08-31T13:13:59.074Z]  0:36.27 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-08-31T13:13:59.074Z]  0:36.27 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-08-31T13:13:59.074Z]  0:36.27 collecting ... collected 5 items
[task 2020-08-31T13:13:59.074Z]  0:36.27 
[task 2020-08-31T13:13:59.074Z]  0:36.27 python/mozbuild/mozbuild/test/configure/test_moz_configure.py::TestTargetLinux::test_target TEST-UNEXPECTED-FAIL
[task 2020-08-31T13:13:59.074Z]  0:36.27 python/mozbuild/mozbuild/test/configure/test_moz_configure.py::TestTargetWindows::test_target TEST-UNEXPECTED-FAIL
[task 2020-08-31T13:13:59.074Z]  0:36.27 python/mozbuild/mozbuild/test/configure/test_moz_configure.py::TestTargetAndroid::test_target TEST-UNEXPECTED-FAIL
[task 2020-08-31T13:13:59.074Z]  0:36.27 python/mozbuild/mozbuild/test/configure/test_moz_configure.py::TestTargetOpenBSD::test_target TEST-UNEXPECTED-FAIL
[task 2020-08-31T13:13:59.074Z]  0:36.27 python/mozbuild/mozbuild/test/configure/test_moz_configure.py::TestMozConfigure::test_nsis_version TEST-UNEXPECTED-FAIL
[task 2020-08-31T13:13:59.075Z]  0:36.27 
[task 2020-08-31T13:13:59.076Z]  0:36.27 =================================== FAILURES ===================================
[task 2020-08-31T13:13:59.077Z]  0:36.27 _________________________ TestTargetLinux.test_target __________________________
[task 2020-08-31T13:13:59.077Z]  0:36.27 
[task 2020-08-31T13:13:59.078Z]  0:36.27 self = <test_moz_configure.TestTargetLinux testMethod=test_target>
[task 2020-08-31T13:13:59.079Z]  0:36.27 
[task 2020-08-31T13:13:59.080Z]  0:36.27     def test_target(self):
[task 2020-08-31T13:13:59.080Z]  0:36.27 >       self.assertEqual(self.get_target([]), self.HOST)
[task 2020-08-31T13:13:59.081Z]  0:36.27 
[task 2020-08-31T13:13:59.081Z]  0:36.27 python/mozbuild/mozbuild/test/configure/test_moz_configure.py:37:
[task 2020-08-31T13:13:59.082Z]  0:36.27 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2020-08-31T13:13:59.082Z]  0:36.27 python/mozbuild/mozbuild/test/configure/test_moz_configure.py:31: in get_target
[task 2020-08-31T13:13:59.082Z]  0:36.27     sandbox = self.get_sandbox({}, {}, args, env, modules=modules)
[task 2020-08-31T13:13:59.082Z]  0:36.27 python/mozbuild/mozbuild/test/configure/common.py:298: in get_sandbox
[task 2020-08-31T13:13:59.083Z]  0:36.27     sandbox.include_file(os.path.join(topsrcdir, 'moz.configure'))
[task 2020-08-31T13:13:59.083Z]  0:36.27 python/mozbuild/mozbuild/configure/__init__.py:438: in include_file
[task 2020-08-31T13:13:59.083Z]  0:36.27     exec_(code, self)
[task 2020-08-31T13:13:59.083Z]  0:36.27 python/mozbuild/mozbuild/util.py:53: in exec_
[task 2020-08-31T13:13:59.083Z]  0:36.27     exec(object, globals, locals)
[task 2020-08-31T13:13:59.083Z]  0:36.27 moz.configure:7: in <module>
[task 2020-08-31T13:13:59.083Z]  0:36.27     include('build/moz.configure/init.configure')
[task 2020-08-31T13:13:59.083Z]  0:36.27 python/mozbuild/mozbuild/configure/__init__.py:775: in include_impl
[task 2020-08-31T13:13:59.083Z]  0:36.27     self.include_file(what)
[task 2020-08-31T13:13:59.083Z]  0:36.27 python/mozbuild/mozbuild/configure/__init__.py:438: in include_file
[task 2020-08-31T13:13:59.083Z]  0:36.27     exec_(code, self)
[task 2020-08-31T13:13:59.083Z]  0:36.27 python/mozbuild/mozbuild/util.py:53: in exec_
[task 2020-08-31T13:13:59.083Z]  0:36.27     exec(object, globals, locals)
[task 2020-08-31T13:13:59.083Z]  0:36.28 build/moz.configure/init.configure:254: in <module>
[task 2020-08-31T13:13:59.083Z]  0:36.28     @imports(_from='six', _import='ensure_text')
[task 2020-08-31T13:13:59.083Z]  0:36.28 python/mozbuild/mozbuild/configure/__init__.py:758: in decorator
[task 2020-08-31T13:13:59.084Z]  0:36.28     depends = DependsFunction(self, func, dependencies, when=when)
[task 2020-08-31T13:13:59.084Z]  0:36.28 python/mozbuild/mozbuild/configure/__init__.py:129: in __init__
[task 2020-08-31T13:13:59.084Z]  0:36.28     sandbox._value_for(self)
[task 2020-08-31T13:13:59.084Z]  0:36.28 python/mozbuild/mozbuild/configure/__init__.py:544: in _value_for
[task 2020-08-31T13:13:59.084Z]  0:36.28     return self._value_for_depends(obj)
[task 2020-08-31T13:13:59.084Z]  0:36.28 python/mozbuild/mozbuild/util.py:1018: in method_call
[task 2020-08-31T13:13:59.084Z]  0:36.28     cache[args] = self.func(instance, *args)
[task 2020-08-31T13:13:59.084Z]  0:36.28 python/mozbuild/mozbuild/configure/__init__.py:553: in _value_for_depends
[task 2020-08-31T13:13:59.085Z]  0:36.28     value = obj.result()
[task 2020-08-31T13:13:59.085Z]  0:36.28 python/mozbuild/mozbuild/util.py:1018: in method_call
[task 2020-08-31T13:13:59.085Z]  0:36.28     cache[args] = self.func(instance, *args)
[task 2020-08-31T13:13:59.085Z]  0:36.28 python/mozbuild/mozbuild/configure/__init__.py:155: in result
[task 2020-08-31T13:13:59.085Z]  0:36.28     return self._func(*resolved_args)
[task 2020-08-31T13:13:59.085Z]  0:36.28 python/mozbuild/mozbuild/configure/__init__.py:1164: in wrapped
[task 2020-08-31T13:13:59.085Z]  0:36.28     return new_func(*args, **kwargs)
[task 2020-08-31T13:13:59.086Z]  0:36.28 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2020-08-31T13:13:59.086Z]  0:36.28 
[task 2020-08-31T13:13:59.086Z]  0:36.28 env_python = NegativeOptionValue()
[task 2020-08-31T13:13:59.086Z]  0:36.28 build_env = <ReadOnlyNamespace {'topsrcdir': '/builds/worker/checkouts/gecko', 'topobjdir': '/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu', 'dist': '/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/dist'}>
[task 2020-08-31T13:13:59.086Z]  0:36.28 mozconfig = {'configure_args': [], 'env': {'added': {}, 'modified': {}, 'removed': {}, 'unmodified': {}}, 'make_extra': [], 'make_flags': [], ...}
[task 2020-08-31T13:13:59.086Z]  0:36.28 help = NegativeOptionValue()
[task 2020-08-31T13:13:59.087Z]  0:36.28 
[task 2020-08-31T13:13:59.087Z]  0:36.28     @depends('PYTHON3', check_build_environment, mozconfig, '--help')
[task 2020-08-31T13:13:59.087Z]  0:36.28     @imports(_from='__builtin__', _import='Exception')
[task 2020-08-31T13:13:59.087Z]  0:36.28     @imports('os')
[task 2020-08-31T13:13:59.087Z]  0:36.28     @imports('sys')
[task 2020-08-31T13:13:59.087Z]  0:36.28     @imports('subprocess')
[task 2020-08-31T13:13:59.087Z]  0:36.28     @imports('distutils.sysconfig')
[task 2020-08-31T13:13:59.087Z]  0:36.28     @imports(_from='mozbuild.configure.util', _import='LineIO')
[task 2020-08-31T13:13:59.088Z]  0:36.28     @imports(_from='mozbuild.virtualenv', _import='VirtualenvManager')
[task 2020-08-31T13:13:59.088Z]  0:36.28     @imports(_from='mozbuild.virtualenv', _import='verify_python_version')
[task 2020-08-31T13:13:59.088Z]  0:36.28     @imports(_from='mozbuild.pythonutil', _import='find_python3_executable')
[task 2020-08-31T13:13:59.089Z]  0:36.28     @imports(_from='mozbuild.pythonutil', _import='python_executable_version')
[task 2020-08-31T13:13:59.089Z]  0:36.28     @imports(_from='six', _import='ensure_text')
[task 2020-08-31T13:13:59.090Z]  0:36.28     def virtualenv_python3(env_python, build_env, mozconfig, help):
[task 2020-08-31T13:13:59.091Z]  0:36.28         # Avoid re-executing python when running configure --help.
[task 2020-08-31T13:13:59.091Z]  0:36.28         if help:
[task 2020-08-31T13:13:59.092Z]  0:36.28             return
[task 2020-08-31T13:13:59.092Z]  0:36.28 
[task 2020-08-31T13:13:59.093Z]  0:36.29         # NOTE: We cannot assume the Python we are calling this code with is the
[task 2020-08-31T13:13:59.094Z]  0:36.29         # Python we want to set up a virtualenv for.
[task 2020-08-31T13:13:59.094Z]  0:36.29         #
[task 2020-08-31T13:13:59.095Z]  0:36.29         # We also cannot assume that the Python the caller is configuring meets our
[task 2020-08-31T13:13:59.095Z]  0:36.29         # build requirements.
[task 2020-08-31T13:13:59.096Z]  0:36.29         #
[task 2020-08-31T13:13:59.097Z]  0:36.29         # Because of this the code is written to re-execute itself with the correct
[task 2020-08-31T13:13:59.097Z]  0:36.29         # interpreter if required.
[task 2020-08-31T13:13:59.098Z]  0:36.29 
[task 2020-08-31T13:13:59.098Z]  0:36.29         log.debug("python3: running with pid %r" % os.getpid())
<...>
[task 2020-08-31T13:13:59.122Z]  0:36.31             sys.exit(subprocess.call([python] + sys.argv))
[task 2020-08-31T13:13:59.123Z]  0:36.31 
[task 2020-08-31T13:13:59.123Z]  0:36.31         # We are now in the virtualenv
[task 2020-08-31T13:13:59.123Z]  0:36.32 >       if not distutils.sysconfig.get_python_lib():
[task 2020-08-31T13:13:59.123Z]  0:36.32 E       AttributeError: module 'distutils' has no attribute 'sysconfig'
[task 2020-08-31T13:13:59.123Z]  0:36.32 
[task 2020-08-31T13:13:59.123Z]  0:36.32 build/moz.configure/init.configure:382: AttributeError
[task 2020-08-31T13:13:59.124Z]  0:36.32 ------------------------------ Captured log call -------------------------------
[task 2020-08-31T13:13:59.124Z]  0:36.32 __init__.py                383 DEBUG    python3: running with pid 1385
[task 2020-08-31T13:13:59.124Z]  0:36.32 __init__.py                383 DEBUG    python3: sys.executable: '/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python'
[task 2020-08-31T13:13:59.124Z]  0:36.32 __init__.py                383 DEBUG    python3: executable from configuration: None
[task 2020-08-31T13:13:59.124Z]  0:36.32 __init__.py                383 DEBUG    python3: found executable: '/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python'
[task 2020-08-31T13:13:59.125Z]  0:36.32 __init__.py                383 DEBUG    python3: venv is up to date
[task 2020-08-31T13:13:59.125Z]  0:36.32 ________________________ TestTargetWindows.test_target _________________________
[task 2020-08-31T13:13:59.125Z]  0:36.32 
[task 2020-08-31T13:13:59.125Z]  0:36.32 self = <test_moz_configure.TestTargetWindows testMethod=test_target>
[task 2020-08-31T13:13:59.125Z]  0:36.32 
[task 2020-08-31T13:13:59.125Z]  0:36.32     def test_target(self):
[task 2020-08-31T13:13:59.126Z]  0:36.32 >       self.assertEqual(self.get_target([]), self.HOST)
[task 2020-08-31T13:13:59.126Z]  0:36.32 
[task 2020-08-31T13:13:59.126Z]  0:36.32 python/mozbuild/mozbuild/test/configure/test_moz_configure.py:54:
[task 2020-08-31T13:13:59.126Z]  0:36.32 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2020-08-31T13:13:59.126Z]  0:36.32 python/mozbuild/mozbuild/test/configure/test_moz_configure.py:31: in get_target
[task 2020-08-31T13:13:59.127Z]  0:36.32     sandbox = self.get_sandbox({}, {}, args, env, modules=modules)

This doesn't look Android (or Gradle) relevant; it looks like a regression from Bug 1638036 that is now being caught due to expanded testing, perhaps?

Component: Android Studio and Gradle Integration → General
Regressed by: 1638036
Has Regression Range: --- → yes
Keywords: regression

My first thought is it would be due to this push, but this test is succeeding on that push and for tests mozilla-central that include these patches. I have NO IDEA what change could have happened over the weekend to regress this test. I assume that whatever it is is related to bug 1662130?

See Also: → 1662130

OK, I can reproduce this locally. I think the push I linked above may be the RC, but I'm still at a loss for why it didn't appear as a test failure immedately.

I strongly suspect this is a virtualenv bug, but fixing it isn't trivial. I wonder what bug 1654457 and bug 1659539 do with this.

Yeah, confirmed, bug 1659539 does away with this.

Depends on: 1659539
Assignee: nobody → rstewart

The patch from bug 1662130 should fix this without requiring bug 1659539 to be implemented.

Status: NEW → RESOLVED
Closed: 5 years ago
No longer depends on: 1659539
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.