#8030 azure pipelines fail at "Install prerequisites" of Tox job
Closed: fixed 4 years ago by fcami. Opened 4 years ago by fcami.

Issue

"Install prerequisites" does:

        sudo dnf -y install nss-tools
        python3 -m pip install --upgrade pip setuptools pycodestyle

The second command fails with:

python3: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
##[error]Bash exited with code '127'.
##[section]Finishing: Install prerequisites

Log available at: https://dev.azure.com/freeipa/freeipa/_build/results?buildId=805&view=logs&jobId=2fb0eb09-97d5-54f0-ea8f-50bdaefda98e


Metadata Update from @fcami:
- Issue tagged with: test-failure

4 years ago

Hi, @fcami.
In this AP job Python specific version (3.6, for instance) is taken from tools dir (/__t/Python/3.6.9/x64/bin), but there is no corresponding libpython.
Just now I've checked this on host (vmImage: 'Ubuntu-16.04', not within container), it works as expected.
Unfortunately, there are no detail docs on it
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/use-python-version?view=azure-devops

I think AP issue should be opened to clarify behavior.
Concerning Tox job I don't know why is Python version pinned to 3.6. May it be relaxed to 3.7?
My proposal is completely removing UsePythonVersion@0 task from this job.

Hi @slev
Thanks for the investigations!
I've opened a PR to switch to 3.7. I'm not sure why it was pinned on 3.6 anyway.

Metadata Update from @fcami:
- Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/3492

4 years ago

It was pinned to the version because we needed to on to some above the default. Since then, an upgrade happened, it seems, so we need to move up.

master:

  • 70b96d7 azure-pipelines.yml: switch to Python 3.7

ipa-4-8:

  • f4bbe00 azure-pipelines.yml: switch to Python 3.7

Metadata Update from @fcami:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Hi, @abbra , @fcami.
This is a strace log of the current Tox job.
strace_python37.log
You can see that due to UsePythonVersion@0 Python3.7 was used from /__t/Python/3.7.4.
When /__t/Python/3.7.4/x64/bin/python3 (Ubuntu's python) is launched, ld loads container's libpython. So, it is a luck, that this job passed. I think, this is not what we want.

I've opened an upstream ticket https://github.com/microsoft/azure-pipelines-tasks/issues/11070

Login to comment on this ticket.

Metadata
Attachments 1
Attached 4 years ago View Comment