New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 802357 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

[CQ Failure] Tests passing on everything but linux trusty 64

Project Member Reported by wylieb@chromium.org, Jan 16 2018

Issue description

Relying on new python deps here: https://chromium-review.googlesource.com/c/infra/infra/+/819975

Passes locally and everything but Infra Linux Trusty 64 Tester.

The failure on Infra Linux Trusty 64 Tester is here: https://ci.chromium.org/p/infra/builds/b8957825613350636608

Added python deps to third_party here: https://chromium-review.googlesource.com/c/infra/infra/+/829982

Not sure what's going on -- hoping you folks can help me get this passing.
 

Comment 1 by estaab@chromium.org, Jan 22 2018

Owner: no...@chromium.org
Status: Assigned (was: Untriaged)
Robbie is out this week - Nodir, do you know what the problem could be or who might know more?
The internet seems to think this Attribute a problem with six versions < 1.9.0. So, I did a test to see what version of six the trybots are running during these tests... It's 1.9.0. I tried downloading six 1.9.0 to ensure that module exists and it does.

>>> from six import python_2_unicode_compatible
>>> six.__version__
'1.9.0' 

So, this is kind of confusing. It could be that the tests linked by Brandon are using a different version of six? I don't know why that would be the case. They're new, so I don't have them to test with. I ended up asking Robbie some questions about Python environment stuff.

When I asked Robbie about the Python environment used by a given recipe, this is what he said:

"good question :)
it's a trick question, however
the recipe engine has its own environment
when it runs some python step
e.g. api.python(...)
that step could have its own environment
in particular, any script a recipe runs
should have it's own environment defined somewhere that lives with that script"

My understanding of Python environments/dependencies/imports/etc is tenuous at best, but I don't think test.py has it's own environment defined somewhere. This would also explain why the test passes on Mac, but not on Linux. Because maybe it's using the system Python?  

I also asked Robbie about that and he said that it depends... appengine apps sometimes do weird things with sys.path, for example. Also Python caches imports, further adding to our headache. 

He suggested putting in lots of print statements: print sys.path, PYTHONPATH, sys.prefix, etc... 

So anyway, this is a place to start. 

Comment 3 by no...@chromium.org, Jan 23 2018

FWIW test.py uses ENV's python https://cs.chromium.org/chromium/infra/test.py?q=test.py&sq=package:chromium&rcl=b22009518fd7c2600ebfff1547832256d98bd831&l=82
which must have a recent-enough six.py (i've verified that six.py in ENV on my local machine has python_2_unicode_compatible

Comment 4 by no...@chromium.org, Feb 1 2018

Robbie, do you have cycles for this?

Comment 5 by st...@chromium.org, Feb 1 2018

Cc: wylieb@chromium.org
Note: wylieb@ is not blocked on this now, because Brandon is taking a different approach other than the CL above. That said, that CL will be abandoned.
However, there seems a bug in the infra test environment setup somewhere.

Comment 6 by no...@chromium.org, Mar 23 2018

does this problem still exist?

Comment 7 by st...@chromium.org, Mar 26 2018

Status: WontFix (was: Assigned)
Not sure whether it still exists, but as the original CL was abandoned, this is not a blocking issue for Brandon.

Thus, mark this bug as wontfix

Sign in to add a comment