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

compat install_archive needs update to new protocal #1514

Closed
fredrikekre opened this issue Nov 29, 2019 · 15 comments
Closed

compat install_archive needs update to new protocal #1514

fredrikekre opened this issue Nov 29, 2019 · 15 comments
Assignees

Comments

@fredrikekre
Copy link
Member

#1444 (comment)

@timholy
Copy link
Member

timholy commented Nov 30, 2019

Possibly because of this, essentially all packages are currently failing their nightly tests (e.g., JuliaDebug/JuliaInterpreter.jl#352, many others).

@StefanKarpinski
Copy link
Member

Yes, I’ll try to fix this today. It’s unfortunate that the file this is in is apparently untested yet relied upon by the entire ecosystem. I’m also unclear why there’s a whole seemingly near copy of normal Pkg code that’s just for testing, but I guess the simplest solution is just to fix it...

@timholy
Copy link
Member

timholy commented Nov 30, 2019

Wonderful. I'll hold off on tagging packages that build docs, just so the docs stay fully up to date.

@KristofferC
Copy link
Member

#1427 should get rid of the duplication.

@StefanKarpinski
Copy link
Member

I have a tentative fix but I can't test since I don't know how to reproduce this problem. How does one trigger this issue?

@fredrikekre
Copy link
Member Author

You trigger it by having [target] style test deps (that needs to be downloaded).

@StefanKarpinski
Copy link
Member

Can you give me some code I can run to trigger this? I've tried running tests for Primes and JuliaDebugger, but they work fine without this patch.

@fredrikekre
Copy link
Member Author

Not at a computer right now, but did you try with an empty depot path?

@StefanKarpinski
Copy link
Member

If I empty the DEPOT_PATH it tells me that there's no active project. As soon as someone comes up with a way to repro the issue and test that the fix actually fixes it, we can merge.

@StefanKarpinski
Copy link
Member

I realize it's post-Thanksgiving weekend, but this seems somewhat urgent. Can no one give me a way to reproduce this issue?

@KristofferC
Copy link
Member

Or we merge #1427 that gets rid of this file.

@StefanKarpinski
Copy link
Member

I'd be very happy what that as well.

@timholy
Copy link
Member

timholy commented Dec 1, 2019

I think you can just copy what happens when this goes awry in a Travis test? E.g., https://travis-ci.org/JuliaDebug/JuliaInterpreter.jl/jobs/619205659?utm_medium=notification&utm_source=github_status

@StefanKarpinski
Copy link
Member

You would think, but...

$ export JULIA_PROJECT=@.
$ julia -q
julia> import Pkg

julia> Pkg.test(coverage=true)
   Testing Primes
 Resolving package versions...
No changes
Test Summary:    | Pass  Total
totient(::Int16) | 1001   1001
Test Summary:    | Pass  Total
totient(::Int32) | 1001   1001
Test Summary:    | Pass  Total
totient(::Int64) | 1001   1001
Test Summary:     | Pass  Total
totient(::BigInt) | 1001   1001
Test Summary:         | Pass  Total
totient() correctness |   83     83
Test Summary:      | Pass  Total
nextprime(::Int64) |  155    155
Test Summary:      | Pass  Total
nextprime(::Int32) |  155    155
Test Summary:       | Pass  Total
nextprime(::BigInt) |  155    155
Test Summary:      | Pass  Total
prevprime(::Int64) |  183    183
Test Summary:      | Pass  Total
prevprime(::Int32) |  183    183
Test Summary:       | Pass  Total
prevprime(::BigInt) |  183    183
Test Summary:  | Pass  Total
prime(::Int64) |   20     20
Test Summary:  | Pass  Total
prime(::Int32) |   20     20
Test Summary:   | Pass  Total
prime(::BigInt) |   20     20
Test Summary:       | Pass  Total
nextprimes(::Int32) |   51     51
Test Summary:       | Pass  Total
nextprimes(::Int64) |   51     51
Test Summary:        | Pass  Total
nextprimes(::BigInt) |   51     51
Test Summary:       | Pass  Total
prevprimes(::Int32) |   34     34
Test Summary:       | Pass  Total
prevprimes(::Int64) |   34     34
Test Summary:        | Pass  Total
prevprimes(::BigInt) |   34     34
   Testing Primes tests passed

@StefanKarpinski
Copy link
Member

Ah, it seems like the issue is that I already had all of Primes' dependencies installed. When I tried with JuliaInterpreter, which has some dependencies I didn't have installed, I can trigger this:

julia> import Pkg

julia> Pkg.test(coverage=true)
   Testing JuliaInterpreter
 Resolving package versions...
ERROR: Error when installing package Tensors:
MethodError: no method matching install_archive(::Array{String,1}, ::Base.SHA1, ::String)
Closest candidates are:
  install_archive(!Matched::Array{Pair{String,Bool},1}, ::Base.SHA1, ::String) at /Users/stefan/dev/julia/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:461
Stacktrace:
 [1] macro expansion at /Users/stefan/dev/julia/usr/share/julia/stdlib/v1.4/Pkg/src/backwards_compatible_isolation.jl:233 [inlined]
 [2] (::Pkg.Operations.var"#24#27"{Symbol,Pkg.Types.Context,Dict{Base.UUID,Base.SHA1},Dict{Base.UUID,Array{String,1}},Channel{Any},Channel{Any}})() at ./task.jl:349

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

4 participants