Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alpine install for pip is failing for Helix Dockerfile #796

Closed
mthalman opened this issue Feb 9, 2023 · 13 comments
Closed

Alpine install for pip is failing for Helix Dockerfile #796

mthalman opened this issue Feb 9, 2023 · 13 comments

Comments

@mthalman
Copy link
Member

mthalman commented Feb 9, 2023

This seems limited to Alpine 3.13/3.14 for arm32. Failing build: https://dev.azure.com/dnceng/internal/_build/results?buildId=2108949&view=results (internal Microsoft link).

Error message:

  error: failed to get `pyo3` as a dependency of package `cryptography-rust v0.1.0 (/tmp/pip-install-m4ha1wge/cryptography_f2bd3052840644a780dff887d34f7c93/src/rust)`

I've tried updating the Dockerfile to latest versions of pip stuff and it didn't help:

python -m pip install --upgrade pip==23.0 && \
python -m pip install virtualenv==20.19.0 && \
@riarenas
Copy link
Member

riarenas commented Feb 9, 2023

@MattGal any insights? I know you've been dealing with pip shenanigans in helix lately.

@MattGal
Copy link
Member

MattGal commented Feb 9, 2023

@riarenas yeah I think that's actually why Cargo was added in https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blame/main/src/alpine/3.15/helix/arm32v7/Dockerfile#L9 .

Based off the logs, it's unclear whether retry would actually work if you didn't hit a clone problem with the depth of cloning. It looks like it had problems with crates.io on Attempt 1 and never tried again in Attempt 2?

   running build_rust
      Updating crates.io index
  warning: spurious network error (2 tries remaining): error inflating zlib stream; class=Zlib (5)
  warning: spurious network error (1 tries remaining): error inflating zlib stream; class=Zlib (5)

I can help dig further if this doesn't go away on retries though. I have had luck with Debug assistance topic 5 for this same problem in the past though I don't think we needed it on Alpine (5) If you are experiencing issues with Rust for *this release only* you may set the environment variable CRYPTOGRAPHY_DONT_BUILD_RUST=1)

@riarenas
Copy link
Member

riarenas commented Feb 9, 2023

@MattGal yeah. That build is now blocked forever due to the clone depth problems. You're saying there's a chance this is transient? we could try a new build.

@MattGal
Copy link
Member

MattGal commented Feb 9, 2023

@MattGal yeah. That build is now blocked forever due to the clone depth problems. You're saying there's a chance this is transient? we could try a new build.

Fairly certain based off the logs yeah. Can we just make the automation clone at a depth of 10 vs 1 or something? Seems like that would still work exactly as desired for the next 9 commits instead of insta-breaking.

@riarenas
Copy link
Member

riarenas commented Feb 9, 2023

#791 tracks the dotnet/versions cloning issue.

@mthalman
Copy link
Member Author

mthalman commented Feb 9, 2023

@MattGal - I don't think this is a transient issue. I was able to repeatedly repro it by locally building https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/main/src/alpine/3.14/helix/arm32v7/Dockerfile.

@MattGal
Copy link
Member

MattGal commented Feb 9, 2023

@MattGal - I don't think this is a transient issue. I was able to repeatedly repro it by locally building https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/main/src/alpine/3.14/helix/arm32v7/Dockerfile.

Right on, I'll spend a few minutes wrestling with it when I finish my inbox and let you know if I find a viable workaround.

@ChadNedzlek
Copy link
Member

pyca/cryptography#5771

@ChadNedzlek
Copy link
Member

Apparently the cryptography package just decided to give up support for a huge number of platforms. We need to pin the package back to a previous version and... never update it again? That sounds fun.

@mthalman
Copy link
Member Author

Any update here? This will block this week's release.

@MattGal
Copy link
Member

MattGal commented Feb 13, 2023

@mthalman I was away Friday for training, but Thursday I was able to build https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/main/src/alpine/3.14/helix/arm32v7/Dockerfile without issue on a DPS_v5 Azure VM. I'll give it a shot on an old Tegra machine if I can this morning, but without a repro finding a hacky workaround is going to be more difficult.

@MattGal
Copy link
Member

MattGal commented Feb 13, 2023

@mthalman not only can I not repro the problem for the arm Alpine Helix docker thing you asked about on a "real" Tegra in addition to the Azure VM I used, I see green builds of that image in this build https://dev.azure.com/dnceng/internal/_build/results?buildId=2111090&view=logs&j=1bd276f8-9fb5-54c7-5be2-bbe0faefcec6&t=78f2343a-ba72-59a4-e152-58a1d5b13d94.

Help me understand what I'm missing. I get that Chad found an issue about similar subjects that was closed two years ago but I feel like we dealt with that problem two years ago. If you can help me get a repro I'll try to fix it, but seeing the image successfully published to Staging makes me feel like it's not really a problem.

@mthalman
Copy link
Member Author

Closing since this doesn't seem to be affecting the build anymore.

@mthalman mthalman closed this as not planned Won't fix, can't repro, duplicate, stale Feb 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

4 participants