MordechaiHadad / bob

A version manager for neovim
MIT License
1.45k stars 35 forks source link

Error: File exists (os error 17) #216

Closed icholy closed 4 weeks ago

icholy commented 4 months ago

I started getting this error today:

$ bob update --all
Jun 01 21:26:15.463  INFO Fetching latest version
Jun 01 21:26:15.927  INFO Stable is already updated!
Jun 01 21:26:16.016  INFO Looking for nightly updates
Jun 01 21:26:16.016  INFO Creating rollback: nightly-a18652e
Jun 01 21:26:16.016 ERROR Error: File exists (os error 17)
MordechaiHadad commented 4 months ago

I started getting this error today:

$ bob update --all
Jun 01 21:26:15.463  INFO Fetching latest version
Jun 01 21:26:15.927  INFO Stable is already updated!
Jun 01 21:26:16.016  INFO Looking for nightly updates
Jun 01 21:26:16.016  INFO Creating rollback: nightly-a18652e
Jun 01 21:26:16.016 ERROR Error: File exists (os error 17)

Is this still happening?

icholy commented 4 months ago

No, but it can happen if a download fails.

icholy commented 4 months ago

Let me know if you want repro steps

MordechaiHadad commented 4 months ago

Let me know if you want repro steps

Would prefer yes

lpnh commented 3 months ago

I encountered this issue today, and it makes sense that it is related to a failed download. In my case, I had the nightly version and two rollbacks:

bob list
┌────────────────────┬─────────────┐
│  Version           │  Status     │
├────────────────────┼─────────────┤
│  nightly-aa6b9c6   │  Installed  │
│  nightly           │  Used       │
│  nightly-e702030   │  Installed  │
└────────────────────┴─────────────┘

For some reason, probably due to a failed download, the nightly version was the same as the rollback nightly-e702030 :

NVIM v0.11.0-dev-322+ge7020306a
Build type: RelWithDebInfo
LuaJIT 2.1.1716656478
Run "nvim -V1 -v" for more info

When updating, bob is likely trying to check the current version and then create the corresponding rollback version. Since both versions are the same, it results in the error "File exists".

I fixed it by uninstalling the nightly-e702030 version with bob uninstall nightly-e702030. Then I updated it as usual, and bob was able to create the rollback version I had just uninstalled, as you can see:

bob list
┌────────────────────┬─────────────┐
│  Version           │  Status     │
├────────────────────┼─────────────┤
│  nightly-aa6b9c6   │  Installed  │
│  nightly           │  Used       │
│  nightly-e702030   │  Installed  │
└────────────────────┴─────────────┘

As expected, the nightly and rollback versions are no longer the same:

NVIM v0.11.0-dev-323+g8f5e90811
Build type: RelWithDebInfo
LuaJIT 2.1.1716656478
Run "nvim -V1 -v" for more info
MordechaiHadad commented 1 month ago

Do you guys still get this error on newer versions? and if so what are ways I could reproduce this?

MordechaiHadad commented 4 weeks ago

Closing due to inactivity, please do reopen this issue if this issue persists.