# Error opening revocation database: revocation database: boltdb: input/output error

**URL:** <https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494>\
**Category:** troubleshooting\
**Tags:** docker, raspberry\
**Created:** [November 10, 2024, 2:12pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494 "2024-11-10T14:12:30Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 2:12pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/1 "2024-11-10T14:12:30Z")

</div>

Hi there,

i tried to start a node on docker but I only get that error.  
Files on dockerhost are located there:  
/mnt/storage/storagenode  
/mnt/storage/identity/storagenode  
They belong to a normal user and got 755 permissions.

For setting up and starting I use this commands and execute with a normal user which is in the docker group. \<\> stands for sensitive data I removed.

docker run --rm -e SETUP=“true”   
–mount type=bind,source=“/mnt/storage/identity/storagenode”,destination=/app/identity   
–mount type=bind,source=“/mnt/storage/storagenode”,destination=/app/config   
–name storagenode storjlabs/storagenode:latest

docker run -d --restart always --stop-timeout 300   
-p 28967:28967/tcp   
-p 28967:28967/udp   
-p 127.0.0.1:14002:14002   
-e WALLET=“\<\>”   
-e EMAIL=“\<\>”   
-e ADDRESS=“\<\>:28967”   
-e STORAGE=“1.7TB”   
–memory=800m   
–log-opt max-size=50m   
–log-opt max-file=10   
–mount type=bind,source=/mnt/storage/identity/storagenode,destination=/app/identity   
–mount type=bind,source=/mnt/storage/storagenode,destination=/app/config   
–name storagenode storjlabs/storagenode:latest

Any ideas? It is a complely new node.

---

<div class="post-metadata">

**Author:** ![arrogantrabbit](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/arrogantrabbit/32/11200_2.png) [@arrogantrabbit](https://forum.storj.io/u/arrogantrabbit)\
**Post date:** [November 10, 2024, 5:17pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/2 "2024-11-10T17:17:29Z")

</div>

IO error is most often caused by bad media.

Post the log file up to that message. Paste it between pair of three backticks.

Required reading: [Posting code or preformatted text - Using Discourse - Discourse Meta](https://meta.discourse.org/t/posting-code-or-preformatted-text/188910)

Also, what is “normal user” and how does it differ from abnormal?

What OS is it? Where is the storage located? What media is it on? What filesystem?

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 5:30pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/3 "2024-11-10T17:30:50Z")

</div>

I´m on a Raspi 4 with 2 sdds attached. I created a lvm over both sdds with ext4 and mounted it to /mnt/storage. Added to fstab ofc. The normal user should indicate that it is not the root user.

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 5:31pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/4 "2024-11-10T17:31:23Z")

</div>

Here we go with the log:

```plaintext
2024-11-10 17:22:16,700 INFO Set uid to user 0 succeeded
2024-11-10 17:22:16,708 INFO RPC interface 'supervisor' initialized
2024-11-10 17:22:16,708 INFO supervisord started with pid 1
2024-11-10 17:22:17,712 INFO spawned: 'processes-exit-eventlistener' with pid 49
2024-11-10 17:22:17,717 INFO spawned: 'storagenode' with pid 50
2024-11-10 17:22:17,722 INFO spawned: 'storagenode-updater' with pid 51
2024-11-10T17:22:17Z	INFO	Configuration loaded	{"Process": "storagenode-updater", "Location": "/app/config/config.yaml"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "storage.allocated-bandwidth"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "operator.wallet-features"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "console.address"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "storage.allocated-disk-space"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "healthcheck.details"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "contact.external-address"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "healthcheck.enabled"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "server.address"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "operator.email"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "operator.wallet"}
2024-11-10T17:22:17Z	INFO	Invalid configuration file key	{"Process": "storagenode-updater", "Key": "server.private-address"}
2024-11-10T17:22:17Z	INFO	Anonymized tracing enabled	{"Process": "storagenode-updater"}
2024-11-10T17:22:17Z	INFO	Running on version	{"Process": "storagenode-updater", "Service": "storagenode-updater", "Version": "v1.115.5"}
2024-11-10T17:22:17Z	INFO	Downloading versions.	{"Process": "storagenode-updater", "Server Address": "https://version.storj.io"}
2024-11-10T17:22:17Z	INFO	Configuration loaded	{"Process": "storagenode", "Location": "/app/config/config.yaml"}
2024-11-10T17:22:17Z	INFO	Anonymized tracing enabled	{"Process": "storagenode"}
2024-11-10T17:22:17Z	INFO	Operator email	{"Process": "storagenode", "Address": "<>"}
2024-11-10T17:22:17Z	INFO	Operator wallet	{"Process": "storagenode", "Address": "<>"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "info"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "bandwidth"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "orders"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "piece_expiration"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "pieceinfo"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "piece_spaced_used"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "reputation"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "storage_usage"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "used_serial"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "satellites"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "notifications"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "heldamount"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "pricing"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "secret"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "garbage_collection_filewalker_progress"}
2024-11-10T17:22:17Z	INFO	db	database does not exist	{"Process": "storagenode", "database": "used_space_per_prefix"}

```

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 5:32pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/5 "2024-11-10T17:32:07Z")

</div>

Part 2 because of too much “Links”…

```plaintext
2024-11-10T17:22:17Z	ERROR	failure during run	{"Process": "storagenode", "error": "Error opening revocation database: revocation database: boltdb: input/output error\n\tstorj.io/storj/private/kvstore/boltdb.New:46\n\tstorj.io/storj/private/revocation.openDBBolt:52\n\tstorj.io/storj/private/revocation.OpenDB:35\n\tstorj.io/storj/private/revocation.OpenDBFromCfg:23\n\tmain.cmdRun:76\n\tmain.newRunCmd.func1:33\n\tstorj.io/common/process.cleanup.func1.4:392\n\tstorj.io/common/process.cleanup.func1:410\n\tgithub.com/spf13/cobra.(*Command).execute:983\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:1115\n\tgithub.com/spf13/cobra.(*Command).Execute:1039\n\tstorj.io/common/process.ExecWithCustomOptions:112\n\tmain.main:34\n\truntime.main:271", "errorVerbose": "Error opening revocation database: revocation database: boltdb: input/output error\n\tstorj.io/storj/private/kvstore/boltdb.New:46\n\tstorj.io/storj/private/revocation.openDBBolt:52\n\tstorj.io/storj/private/revocation.OpenDB:35\n\tstorj.io/storj/private/revocation.OpenDBFromCfg:23\n\tmain.cmdRun:76\n\tmain.newRunCmd.func1:33\n\tstorj.io/common/process.cleanup.func1.4:392\n\tstorj.io/common/process.cleanup.func1:410\n\tgithub.com/spf13/cobra.(*Command).execute:983\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:1115\n\tgithub.com/spf13/cobra.(*Command).Execute:1039\n\tstorj.io/common/process.ExecWithCustomOptions:112\n\tmain.main:34\n\truntime.main:271\n\tmain.cmdRun:78\n\tmain.newRunCmd.func1:33\n\tstorj.io/common/process.cleanup.func1.4:392\n\tstorj.io/common/process.cleanup.func1:410\n\tgithub.com/spf13/cobra.(*Command).execute:983\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:1115\n\tgithub.com/spf13/cobra.(*Command).Execute:1039\n\tstorj.io/common/process.ExecWithCustomOptions:112\n\tmain.main:34\n\truntime.main:271"}

```

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 5:32pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/6 "2024-11-10T17:32:56Z")

</div>

Part 3:

```plaintext
Error: Error opening revocation database: revocation database: boltdb: input/output error
	storj/storj/private/kvstore/boltdb.New:46
	storj/storj/private/revocation.openDBBolt:52
	storj/storj/private/revocation.OpenDB:35
	storj./storj/private/revocation.OpenDBFromCfg:23
	main.cmdRun:76
	main.newRunCmd.func1:33
	storj/common/process.cleanup.func1.4:392
	storj/common/process.cleanup.func1:410
	github/spf13/cobra.(*Command).execute:983
	github/spf13/cobra.(*Command).ExecuteC:1115
	github/spf13/cobra.(*Command).Execute:1039
	storj/common/process.ExecWithCustomOptions:112
	main.main:34
	runtime.main:271
2024-11-10 17:22:17,849 WARN exited: storagenode (exit status 1; not expected)

```

---

<div class="post-metadata">

**Author:** ![arrogantrabbit](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/arrogantrabbit/32/11200_2.png) [@arrogantrabbit](https://forum.storj.io/u/arrogantrabbit)\
**Post date:** [November 10, 2024, 7:56pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/7 "2024-11-10T19:56:06Z")

</div>

Wrong backticks. Have you not noticed they did not work in the preview while typing the post?

Attention to details is important.

You said non-root user, but what is this then?

> [@rouv](#):
>
> 2024-11-10 17:22:16,700 INFO Set uid to user 0 succeeded

1. Check that the filesystem where databases are is writable by the user that actually runs the node, from within a container: open shell there and check
2. On raspberrry pi 4 you need to disable UAS or connect USB drives to black USB ports.
3. What OS is your pi running? Is SELinux or AppArmor enabled?
4. Tangential comment: I would not use docker on a resource constrained system. Consider switching to podman and run them rootless with systemd

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 8:09pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/8 "2024-11-10T20:09:33Z")

</div>

Sorry for wrong backticks.

UAS did the trick.

But now the node stays offline. Perhaps it takes some time.

---

<div class="post-metadata">

**Author:** ![arrogantrabbit](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/arrogantrabbit/32/11200_2.png) [@arrogantrabbit](https://forum.storj.io/u/arrogantrabbit)\
**Post date:** [November 10, 2024, 8:21pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/9 "2024-11-10T20:21:53Z")

</div>

No, it shall be online immediately. Check the logs, check your port forwarding settings, check your DDNS, check if you have public IP — some internet providers use carrier grade NAT to conserve addresses

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 8:31pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/10 "2024-11-10T20:31:03Z")

</div>

Ok, then I have to check.  
Pi is directly behind a FritzBox.  
Port is opened for udp and tcp.  
I use the ddns service provided by fritz itself. This is working as a wireguard server is running several month.

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 8:41pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/11 "2024-11-10T20:41:01Z")

</div>

processes are running, only errors like this occuring

```plaintext
2024-11-10T20:36:06Z	ERROR	contact:service	ping satellite failed {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 1, "error": "ping satellite: failed to ping storage node, your node indicated error code: 0, rpc: tcp connector failed: rpc: tls peer certificate verification: not signed by any CA in the whitelist: CA cert", "errorVerbose": "ping satellite: failed to ping storage node, your node indicated error code: 0, rpc: tcp connector failed: rpc: tls peer certificate verification: not signed by any CA in the whitelist: CA cert\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatelliteOnce:209\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatellite:157\n\tstorj.io/storj/storagenode/contact.(*Chore).updateCycles.func1:87\n\tstorj.io/common/sync2.(*Cycle).Run:102\n\tstorj.io/common/sync2.(*Cycle).Start.func1:77\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78"}

```

---

<div class="post-metadata">

**Author:** ![arrogantrabbit](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/arrogantrabbit/32/11200_2.png) [@arrogantrabbit](https://forum.storj.io/u/arrogantrabbit)\
**Post date:** [November 10, 2024, 8:42pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/12 "2024-11-10T20:42:06Z")

</div>

> [@rouv](#):
>
> `not signed by any CA in the whitelist:`

Did you follow the setup instructions completely? It seems your identity is not signed.

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 8:43pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/13 "2024-11-10T20:43:12Z")

</div>

I created it on another host and moved it to the raspi.  
I´ll check

---

<div class="post-metadata">

**Author:** ![arrogantrabbit](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/arrogantrabbit/32/11200_2.png) [@arrogantrabbit](https://forum.storj.io/u/arrogantrabbit)\
**Post date:** [November 10, 2024, 8:43pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/14 "2024-11-10T20:43:27Z")

</div>

Here is the relevant topic:

> [@QUIC misconfigured, node offline](https://forum.storj.io/t/quic-misconfigured-node-offline/28289/10):
>
> > [@QUIC misconfigured, node offline](https://forum.storj.io/t/quic-misconfigured-node-offline/28289/9):
> >
> > > tls peer certificate verification: not signed by any CA in the whitelist  
> > > How am I supposed to know that refers to the identity, huh?
> 
> When you generated a new identity, it’s [mentioned in the documentation](https://storj.dev/node/get-started/identity#3-authorize-the-identity), you seems just skipped this step before. But again, you may search on the forum: [Search results for ‘tls peer certificate verification: not signed by any CA in the whitelist’ - Storj Community Forum (official)](https://forum.storj.io/search?q=tls%20peer%20certificate%20verification%3A%20not%20signed%20by%20any%20CA%20in%20the%20whitelist)

---

<div class="post-metadata">

**Author:** ![rouv](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/rouv/32/1138_2.png) [@rouv](https://forum.storj.io/u/rouv)\
**Post date:** [November 10, 2024, 8:48pm UTC](https://forum.storj.io/t/error-opening-revocation-database-revocation-database-boltdb-input-output-error/28494/15 "2024-11-10T20:48:59Z")

</div>

I re-idented myself. I thought I did it already.  
Now its working. Thank you very much!
