Error creating revocation database: revocation database error

The node was running fine, I decided to restart it (gracefully), then noticed the container got stuck in a restart loop. Upon inspecting the logs, I saw this error message:
FATAL Unrecoverable error {"error": "Error creating revocation database: revocation database error: boltdb error: open config/revocations.db: read-only file system\n\tstorj.io/storj/storage/boltdb.New:43\n\tstorj.io/storj/pkg/revocation.newDBBolt:50\n\tstorj.io/storj/pkg/revocation.NewDB:33\n\tstorj.io/storj/pkg/revocation.NewDBFromCfg:21\n\tmain.cmdRun:162\n\tstorj.io/storj/pkg/process.cleanup.func1.2:278\n\tstorj.io/storj/pkg/process.cleanup.func1:296\n\tgithub.com/spf13/cobra.(*Command).execute:826\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:914\n\tgithub.com/spf13/cobra.(*Command).Execute:864\n\tstorj.io/storj/pkg/process.Exec:74\n\tmain.main:315\n\truntime.main:203", "errorVerbose": "Error creating revocation database: revocation database error: boltdb error: open config/revocations.db: read-only file system\n\tstorj.io/storj/storage/boltdb.New:43\n\tstorj.io/storj/pkg/revocation.newDBBolt:50\n\tstorj.io/storj/pkg/revocation.NewDB:33\n\tstorj.io/storj/pkg/revocation.NewDBFromCfg:21\n\tmain.cmdRun:162\n\tstorj.io/storj/pkg/process.cleanup.func1.2:278\n\tstorj.io/storj/pkg/process.cleanup.func1:296\n\tgithub.com/spf13/cobra.(*Command).execute:826\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:914\n\tgithub.com/spf13/cobra.(*Command).Execute:864\n\tstorj.io/storj/pkg/process.Exec:74\n\tmain.main:315\n\truntime.main:203\n\tmain.cmdRun:164\n\tstorj.io/storj/pkg/process.cleanup.func1.2:278\n\tstorj.io/storj/pkg/process.cleanup.func1:296\n\tgithub.com/spf13/cobra.(*Command).execute:826\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:914\n\tgithub.com/spf13/cobra.(*Command).Execute:864\n\tstorj.io/storj/pkg/process.Exec:74\n\tmain.main:315\n\truntime.main:203"}

The drive has free space, config is unchanged, permissions all look fine.
I can’t find anyone reporting the same error, perhaps the fix might be trivial.

Hi @fragamemnon

Welcome to our forum!

Please check your permission on filesystem (data dir for storj)

Also, check that your disk is mounted correctly (via fstab) and accessible.

Hello @Odmin, thanks for the prompt reply!

The drive is mounted normally and I am able to perform write operations on it, I also tried manually re-mounting it with -o rw, yet the issue persists.
fstab mount parameters are unchanged, but I don’t see how they would matter. After the last reboot (some 400-ish hours ago), the node automatically started up and ran fine, which means that if it was a bad mount, it would’ve thrown an error out back then.
If anything happened to the mount, it must have happened within the current uptime.

FWIW, there is no indication of failing drive health.
Just in case, I will try migrating all data to another drive and post an update.

I resolved the problem in a very dubious and clumsy way. I was experimenting with the revocations.db file and while toying around I renamed it, touch-ed another file with the same name, then at some point named the original back to revocations.db… and the node client read it.

This is not a proper solution, but …well, it happened.