paritytech/parity-db

Database reopening regression on Windows

nazar-pc opened this issue · 3 comments

Somewhere between 0.4.9 and 0.4.11 (can't test 0.4.10 because it is broken on Windows) there was a regression introduced that prevents database from being reopened on restart when used with Substrate, the error looks like this:

Error: SubstrateService(Other("Failed to build a full node: Client(Backend("IO Error: Access is denied. (os error 5)"))"))

Downgrading 0.4.11 to 0.4.9 fixes the issue. Not happening on Linux or macOS, first start on Windows succeeds as well.

Frontier already requires at least 0.4.10, so would be nice to fix upstream in parity-db so we don't have to use fork of parity-db with fake version bump.

arkpar commented

Do you mean that the error occurs after the node process is restarted? Does reboot help?

IIRC substrate does not oficially support windows. What toolchain do you compile with? msvc or gnu? Is there a build script or instructions?

Do you mean that the error occurs after the node process is restarted?

Yes

Does reboot help?

Didn't check, should I? That seems overkill anyway.

IIRC substrate does not oficially support windows. What toolchain do you compile with? msvc or gnu? Is there a build script or instructions?

It is not officially supported, but also when there are issues they are getting fixed. I understand that there is no upstream CI, but we do run things in our CI and we have a few hunder users on Windows with expectation of thousands more, so it is important to us even if upstream doesn't care.

We build with MSVC, here are exact commands in CI (build can be triggered manually even in a fork): https://github.com/subspace/subspace/blob/14b552d9b1dd499b7bf78c2636db469a726b873e/.github/workflows/snapshot-build.yml#L168-L172

In latest revision we have downgraded to 0.4.9, but if you check out this, it should be reproducible (there are also prebuilt executables attached there): https://github.com/subspace/subspace/releases/tag/snapshot-2023-oct-06

arkpar commented

Fixed in 0.4.12