-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Pkg.free deletes data on 0.6 RC3 #17994
Comments
Oh, and this is on Windows. |
And I just executed another command in the same session, this is how that looks:
When I look in the SQLite folder and do a
There is a |
Same (similar) here: _
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.5.0-rc3+0 (2016-08-22 23:43 UTC)
_/ |\__'_|_|_|\__'_| | Official http://julialang.org/ release
|__/ | x86_64-unknown-linux-gnu
julia> Pkg.add("GLM")
ERROR: GitError(Code:ENOTFOUND, Class:Repository, Could not find repository from 'Compat')
in Base.LibGit2.GitRepo(::String) at ./libgit2/repository.jl:11
in with(::Function, ::Type{Base.LibGit2.GitRepo}, ::String, ::Vararg{String,N}) at ./libgit2/types.jl:644
in installed(::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}) at ./pkg/read.jl:207
in resolve at ./pkg/entry.jl:476 [inlined]
in edit(::Function, ::String, ::Base.Pkg.Types.VersionSet, ::Vararg{Base.Pkg.Types.VersionSet,N}) at ./pkg/entry.jl:30
in (::Base.Pkg.Entry.##2#5{String,Base.Pkg.Types.VersionSet})() at ./task.jl:360
in sync_end() at ./task.jl:311
in macro expansion at ./task.jl:327 [inlined]
in add(::String, ::Base.Pkg.Types.VersionSet) at ./pkg/entry.jl:51
in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}})() at ./pkg/dir.jl:31
in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}}, ::String) at ./file.jl:59
in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{Any,N}) at ./pkg/dir.jl:31
in add(::String) at ./pkg/pkg.jl:100
julia> versioninfo()
Julia Version 0.5.0-rc3+0
Commit e6f843b (2016-08-22 23:43 UTC)
Platform Info:
System: Linux (x86_64-unknown-linux-gnu)
CPU: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Nehalem)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.7.1 (ORCJIT, westmere) |
Compat is missing a |
same:
|
check the contents of |
ok hold it for a second, the problem is gone - i was running up against a quota limit (remote machine). seems i got stuck in a bad place where that last .git folder in Compat couldn't be written anymore. took me couple of runs to figure out it was the disk quota (errors messages kept changing).
|
After that, almost any call of
while a normal
|
Thanks for the test case, that should be very helpful for tracking this down. |
I just got this again for a number of A
Here is the output of the session when the problem occurred:
When I then enter into the folder of that package and issue a
There is a
I believe this should be release blocking for julia 0.6. Before I did CC @tkelman as the release master. |
Would be good to try walking through these test sequences of operations and determine if this is windows-specific or can happen on mac or linux too |
This bug is really weird. I get it regularly, every couple of days, but so far I can't detect any pattern of when it occurs... For me it is always when I do a One thing that might be a commonality (but I'm not sure!) is that I often open two julia prompts, I do a |
HEAD
not found) on 0.5 RC2
I really think this bug should get release blocking status. This is a fairly common code path |
@tkelman should figure out if this should have the 0.6.0 tag. |
If it's been around for nearly a year and only a handful of people have hit it, I'm inclined to say it can wait until a point release. If people (especially those familiar with the libgit2 bindings and how Pkg is using them) can give it some attention and get it debugged and fixed in the next few days, great, it can make 0.6.0. |
We don't know that. We know how many have spoken up here.
Could someone ping those folks? I don't know who is working on this part of the code. |
Has anyone pinged the folks that are maintaining that part of the code? This is a really serious bug that deletes, permanently, work in package directories. I was just hit by this bug again and lost another round of work. Yes, at this point I should know better and just not call My gut impression is that I've never run into this bug on my first |
Can you confirm that every time it happened you had two Julia sessions open in parallel and run Pkg operations in each of them? |
No, not a 100% sure. In fact I'm pretty sure that the last time this happened I just had one julia session open, but I am sure that I did a |
My code above is 100% reliable to reproduce this in my computer, and I open only one session. I guess from the symptom is when |
Just an observation--don't know if this is helpful: I recently added Tabulars.jl. It was broken and unregistered. When I attempted Pkg.update() I received a similar error. ERROR: GitError(Code:ENOTFOUND, Class:Reference, Revspec 'HEAD' not found.) I noticed that the Compat package also was trying to update. When I removed the Tabulars.jl and then ran Pkg.update() again, the issue resolved itself. |
I have a similar problem with the installation of several packages:
using Julia 0.6.0:
|
Is there a timeline for fixing this? I really want to update from 0.4 to something more recent, but this is blocking. |
@JaredCrean2 Do you mean you experience it all the time? |
No, I think 0.4 is unaffected by this bug, so I am delaying updating to a newer version to avoid being affected. |
AFAICT only a limited share of Windows users are affected by this bug (it's unclear what triggers it), so I wouldn't consider it as a reason not to upgrade without trying. |
@axel-sdk's post showed he was running on macOS, so the problem may be more widespread. Until more is known about what causes this, I don't think the possibility of losing research progress because of this bug is an acceptable risk. |
Well, you can avoid calling I've been able to reproduce the problem systematically under Windows 10 using the instructions given by @ylxdzsw. It's actually quite easy to reproduce at will once you've run the commands: after deleting the Thanks to this, I think I have made some progress with the debugging. It seems the problem comes the combination of two things:
It's not clear to me why the second step fails, though. Listing file handles of julia.exe does not show any file under the package directory once each operation has completed. Also, restarting Julia before calling |
This test is supposed to fail on Windows only. Fix is coming.
I have a fix for the corruption of git files at #24048. But since it calles Can the reporters confirm that they would have expected |
Unregistered packages shouldn't be added to REQUIRE should they? If a package is only installed as a dependency of something else, I don't think Pkg.free should change that. |
Good catch, I guess they shouldn't.
In theory I agree, but apparently people have been surprised by the behavior where Overall it seems that the simplest fix would be to go back to moving removed packages to |
Is this PR getting close to being merge-able? |
I have the same problem, I am getting the same error:
When I look in any of my folders in
xpost at discourse |
Obsolete with new package manager. |
At this point I cleaned the Mimi folder, i.e. undid all the workspace edits.
The text was updated successfully, but these errors were encountered: