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

inability to handle multiprocess target add breaks rustup #926

Closed
oceanlewis opened this issue Jan 17, 2017 · 1 comment
Closed

inability to handle multiprocess target add breaks rustup #926

oceanlewis opened this issue Jan 17, 2017 · 1 comment

Comments

@oceanlewis
Copy link

oceanlewis commented Jan 17, 2017

Just found this last night while "saving myself some time" during a rustup installation. I wrote a short ruby script to install some architectures to a machine using the following script:

architectures = %w{ <architectures here> }

architectures.each do |_arch|
    out = IO.popen("rustup target add #{_arch}")
    puts out
end

After spinning off a process to download each architecture and promptly failing I went to install each architecture synchronously with:

architectures = %w{ <architectures here> }

architectures.each do |_arch|
    out = `rustup target add #{_arch}`
    puts out
end

and found that I could no longer install any targets, either with a script or as a rustup target add $TARGET from the shell. Deleting the ~/.rustup/tmp directory to fix the issue didn't work. I ended up just deleting the .rustup directory and reinstalling targets synchronously.

Either a lock to prevent multiple occurrences of rustup operating within the same .rustup directory or a check for running rustup processes, each with and a subsequent fail wirg an appropriate error message would fix the issue.

@brson
Copy link
Contributor

brson commented Mar 17, 2017

Thank you for the report @lewisinc!

Effectively the same problem as #988.

rustup just has no notion of concurrent execution.

@brson brson closed this as completed Mar 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants