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

Bug in compilation when multiple versions are used with many contracts #4550

Conversation

ChristopherDedominici
Copy link
Contributor

@ChristopherDedominici ChristopherDedominici commented Oct 31, 2023

See issue: #4490

PROBLEM
If multiple requests to download the same version of a compiler are sent, the download occurs multiple times.

SOLUTION
Modify the existing mutex logic to check if a compiler of a specific version has already been downloaded or is currently being downloaded.

Copy link

changeset-bot bot commented Oct 31, 2023

🦋 Changeset detected

Latest commit: 5d211ba

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
hardhat Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

vercel bot commented Oct 31, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
hardhat ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 3, 2023 3:38pm
hardhat-storybook ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 3, 2023 3:38pm

…used-with-many-contracts' of github.com:NomicFoundation/hardhat into bug/4490-bug-in-compilation-when-multiple-versions-are-used-with-many-contracts
// Since only one process at a time can acquire the mutex, we avoid the risk of downloading the same compiler multiple times.
// This is because the mutex blocks access until a compiler has been fully downloaded, preventing any new process
// from checking whether that version of the compiler exists. Without mutex it might incorrectly
// return false, indicating that the compiler isn't present, even though it is currently being downloaded.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for this!

@ChristopherDedominici ChristopherDedominici merged commit c52a5d6 into main Nov 7, 2023
78 checks passed
@ChristopherDedominici ChristopherDedominici deleted the bug/4490-bug-in-compilation-when-multiple-versions-are-used-with-many-contracts branch November 7, 2023 13:16
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status:ready This issue is ready to be worked on
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Bug in compilation when multiple versions are used with many contracts
3 participants