Windows Storage Node Services (Storj V3 Storage Node & Updater) Won't Start

I’m running a storage node on Windows, and as of maybe a week ago, neither the Storj service or the Storj Updater service will remain started. They try to start multiple times, but constantly fail. Below are the logs for today when I most recently tried starting the updater service:

|2022-06-30T23:02:31.512-0400|INFO|Invalid configuration file value for key|{Key: log.output}|
|---|---|---|---|
|2022-06-30T23:02:31.513-0400|INFO|Invalid configuration file value for key|{Key: log.development}|
|2022-06-30T23:02:31.513-0400|INFO|Invalid configuration file value for key|{Key: log.level}|
|2022-06-30T23:02:31.514-0400|FATAL|Error loading identity.|{error: file or directory not found error: open C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\Storj\\Identity\\Storagenode\\identity.cert: The system cannot find the path specified., errorVerbose: file or directory not found error: open C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\Storj\\Identity\\Storagenode\\identity.cert: The system cannot find the path specified.\n\tstorj.io/common/identity.Config.Load:329\n\tmain.cmdRun:91\n\tstorj.io/private/process.cleanup.func1.4:353\n\tstorj.io/private/process.cleanup.func1:371\n\tgithub.com/spf13/cobra.(*Command).execute:840\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:945\n\tgithub.com/spf13/cobra.(*Command).Execute:885\n\tstorj.io/private/process.ExecWithCustomConfig:88\n\tstorj.io/private/process.Exec:65\n\tmain.(*service).Execute.func1:55\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57}|

When I try to start either service via Computer Management > Services, I get the infamous:

Windows could not start the Storj V3 Storage Node service on the local computer.
Error 1067: Process terminated unexpectedly

I’ve run a Windows disk check on both my windows system drive (no problems found) as well as on the drive with the data store (problems found and repaired), but the issue remains. Any ideas on what I should check next?

Thanks

  1. Try restart widows.
    check identity path, also i always recommend to not hold it in default path, but in simple path like c:\identitie may be file path was corrupted.

If you trying to start the storagenode binary instead of the service - then you need to specify a path to the config with --config-dir "C:\Program Files\Storj\Storage Node\" option and provide a path to your identity with --identity-dir "C:\Users\USER\AppData\Roaming\Storj\Identity\storagenode" option (assuming that you have used a default path to your identity during setup).

However, you better to run a service and provide the last 10 lines from your logs after attempt to start the service.

1 Like

When I try to start the main Storj V3 service, it doesn’t append any text to the log file. However when I try to start the updater service, it appends the following to its log file:

2022-07-01T18:08:44.492-0400	INFO	Invalid configuration file value for key	{"Key": "log.output"}
2022-07-01T18:08:44.494-0400	FATAL	Error loading identity.	{"error": "file or directory not found error: open C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\Storj\\Identity\\Storagenode\\identity.cert: The system cannot find the path specified.", "errorVerbose": "file or directory not found error: open C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\Storj\\Identity\\Storagenode\\identity.cert: The system cannot find the path specified.\n\tstorj.io/common/identity.Config.Load:329\n\tmain.cmdRun:91\n\tstorj.io/private/process.cleanup.func1.4:353\n\tstorj.io/private/process.cleanup.func1:371\n\tgithub.com/spf13/cobra.(*Command).execute:840\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:945\n\tgithub.com/spf13/cobra.(*Command).Execute:885\n\tstorj.io/private/process.ExecWithCustomConfig:88\n\tstorj.io/private/process.Exec:65\n\tmain.(*service).Execute.func1:55\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57"}

This is mean that your config.yaml is probably corrupted.
Try to run a binary (PowerShell):

&"C:\Program Files\Storj\Storage Node\storagenode.exe" run --config-dir "C:\Program Files\Storj\Storage Node\" --log.output stderr

And post the error

I just realized that my config.yaml file has somehow disappeared from my Storj directory. Possibly I mistakenly deleted it while I deleted the many old versions of StorjUpdater a few weeks ago. Where can I find (or generate) a fresh version of this file? Having that, I’ll be able to modify the lines specific to my node.

You can generate one new configuration file running the storagenode binary with the setup command.

It requires a node identity. If it’s in the default directory you won’t need to provide the directory where it’s.

Run storagenode.exe setup -h to see all the command and global command-line flags.

Okay, I feel like we’re getting closer here!
I’ve been able to rebuild my config.yaml - starting with the template, and adding my wallet address, email, external address and port, etc.

I’m now getting an error saying that my system clock is out of sync with all trusted satellites.
However, I’ve verified that my system is synchronized with an ntp server.

Any tips on what to check next?
Thanks so much all for the info!

Please search for errors before error related to “clock out of sync”. The clock could be synced forcibly by disabling sync and enabling it back in clock settings.

Here is the error I’m getting. I’ve re-synced my system time with various ntp servers multiple times.

2022-07-08T21:30:08.468-0400    INFO    Telemetry enabled       {"Process": "storagenode", "instance ID": "121125oqvNnVR1PKwSJznKJToaHS5Vm3ciqbDeTmm5eHCoPaZzx"}
2022-07-08T21:30:08.530-0400    INFO    db.migration    Database Version        {"Process": "storagenode", "version": 53}
2022-07-08T21:30:08.789-0400    INFO    preflight:localtime     start checking local system clock with trusted satellites' system clock.        {"Process": "storagenode"}
2022-07-08T21:30:28.171-0400    ERROR   preflight:localtime     unable to get satellite system time     {"Process": "storagenode", "Satellite ID": "12tRQrMTWUWwzwGh18i7Fqs67kmdhH9t6aToeiwbo5mfS2rUmo", "error": "rpc: tcp connector failed: rpc: read tcp 192.168.1.50:53543->35.229.16.171:7777: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.", "errorVerbose": "rpc: tcp connector failed: rpc: read tcp 192.168.1.50:53543->35.229.16.171:7777: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:189"}
2022-07-08T21:30:28.202-0400    ERROR   preflight:localtime     unable to get satellite system time     {"Process": "storagenode", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "error": "rpc: tcp connector failed: rpc: read tcp 192.168.1.50:53542->35.236.104.196:7777: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.", "errorVerbose": "rpc: tcp connector failed: rpc: read tcp 192.168.1.50:53542->35.236.104.196:7777: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:189"}
2022-07-08T21:30:28.796-0400    ERROR   preflight:localtime     unable to get satellite system time     {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "error": "rpc: tcp connector failed: rpc: context deadline exceeded", "errorVerbose": "rpc: tcp connector failed: rpc: context deadline exceeded\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:189"}
2022-07-08T21:30:28.796-0400    ERROR   preflight:localtime     unable to get satellite system time     {"Process": "storagenode", "Satellite ID": "12rfG3sh9NCWiX3ivPjq2HtdLmbqCrvHVEzJubnzFzosMuawymB", "error": "rpc: tcp connector failed: rpc: context deadline exceeded", "errorVerbose": "rpc: tcp connector failed: rpc: context deadline exceeded\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:189"}
2022-07-08T21:30:28.796-0400    ERROR   preflight:localtime     unable to get satellite system time     {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "error": "rpc: tcp connector failed: rpc: context deadline exceeded", "errorVerbose": "rpc: tcp connector failed: rpc: context deadline exceeded\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:189"}
2022-07-08T21:30:28.799-0400    ERROR   preflight:localtime     unable to get satellite system time     {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "error": "rpc: tcp connector failed: rpc: context deadline exceeded", "errorVerbose": "rpc: tcp connector failed: rpc: context deadline exceeded\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:189"}
2022-07-08T21:30:28.800-0400    ERROR   Failed preflight check. {"Process": "storagenode", "error": "system clock is out of sync: system clock is out of sync with all trusted satellites", "errorVerbose": "system clock is out of sync: system clock is out of sync with all trusted satellites\n\tstorj.io/storj/storagenode/preflight.(*LocalTime).Check:96\n\tstorj.io/storj/storagenode.(*Peer).Run:875\n\tmain.cmdRun:251\n\tstorj.io/private/process.cleanup.func1.4:372\n\tstorj.io/private/process.cleanup.func1:390\n\tgithub.com/spf13/cobra.(*Command).execute:852\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:960\n\tgithub.com/spf13/cobra.(*Command).Execute:897\n\tstorj.io/private/process.ExecWithCustomConfigAndLogger:93\n\tmain.main:479\n\truntime.main:255"}
Error: system clock is out of sync: system clock is out of sync with all trusted satellites

Your node cannot establish connection to the satellites - something blocks them. Could you please check your antivirus or firewall rules - you should not block outgoing connections to any host and port from your PC with node.

It turns out that there was indeed a problem with my firewall which was causing the communication issue. The satellite time sync error wasn’t genuine and was leading me down the wrong path.

However, the Storj V3 service itself still won’t remain started. I can now successfully start Storj at the Windows command prompt, but oddly downloads always fail. I exit the process with a CTRL + C so I don’t kill this node’s reputation (if that hasn’t already happened).

I’ve run a Windows disk check and repair on both my system volume as well as the disk for actual Storj data. On the first run errors were found and repaired, and on a second run no errors were found.

Here are some current log messages:

2022-07-16T21:56:39.680-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "XWTWHLO74ZQ45Y3BDUGEJ7SGXCN2Z5FKH52TY6LQ2TDXHTUEWXKQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564597141504}
2022-07-16T21:56:39.717-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "XWTWHLO74ZQ45Y3BDUGEJ7SGXCN2Z5FKH52TY6LQ2TDXHTUEWXKQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 8960}
2022-07-16T21:56:39.839-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "G22AGULZDUHHKNIE5SCF3WHEONMFCRAEFY2N77Z5VIXBSYCZL4AQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 73728}
2022-07-16T21:56:40.247-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "JEK32SZEYQJSWGR4UMKBCE6LAJHGYSNMESEPUJ4XHRWEMK3P5GGA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601114624}
2022-07-16T21:56:40.287-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "JEK32SZEYQJSWGR4UMKBCE6LAJHGYSNMESEPUJ4XHRWEMK3P5GGA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 9728}
2022-07-16T21:56:42.688-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "STJ6JJR2PGR6K5XXI2UPNDBZGUTIF6TISNNPTCLIWHSBJRX7FNLA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601102336}
2022-07-16T21:56:42.702-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "STJ6JJR2PGR6K5XXI2UPNDBZGUTIF6TISNNPTCLIWHSBJRX7FNLA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 1792}
2022-07-16T21:56:44.433-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "G7VHSFY6DW2A5GDWFH4YOM5VZOX3GOY7RK2E6LJ4RQ4SEQFWEG2Q", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601098240}
2022-07-16T21:56:44.448-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "G7VHSFY6DW2A5GDWFH4YOM5VZOX3GOY7RK2E6LJ4RQ4SEQFWEG2Q", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 5120}
2022-07-16T21:56:44.982-0400    INFO    piecestore      download started        {"Process": "storagenode", "Piece ID": "COFZIEBLKY7SMVALHUQRJUSPPMZDXA6WOX2N3ZOFV6LQX2ZN6W7A", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET"}
2022-07-16T21:56:44.983-0400    ERROR   piecestore      download failed {"Process": "storagenode", "Piece ID": "COFZIEBLKY7SMVALHUQRJUSPPMZDXA6WOX2N3ZOFV6LQX2ZN6W7A", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET", "error": "file does not exist", "errorVerbose": "file does not exist\n\tstorj.io/common/rpc/rpcstatus.Wrap:73\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:546\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func2:228\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:58\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:122\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:112\n\tstorj.io/drpc/drpcctx.(*Tracker).track:52"}
2022-07-16T21:56:45.433-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "AM7TRR5JRPOXXVC5KDDNXACSFIKHICH7JXPIHEBOAFQSDDCYQSYQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601090048}
2022-07-16T21:56:45.471-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "AM7TRR5JRPOXXVC5KDDNXACSFIKHICH7JXPIHEBOAFQSDDCYQSYQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 11520}
2022-07-16T21:56:46.769-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "I6XWOZ35TM4JEHAXEQ7JDUS23KIQZPXBZ5DDGUFTJ63KKAN4TXRA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601077760}
2022-07-16T21:56:46.784-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "I6XWOZ35TM4JEHAXEQ7JDUS23KIQZPXBZ5DDGUFTJ63KKAN4TXRA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 4608}
2022-07-16T21:56:47.340-0400    INFO    piecestore      download started        {"Process": "storagenode", "Piece ID": "6PV6XCM4FXKNMF5UHFB4RASC5NOGN6BNZSTWEBFO2STWWV3CHFYQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET"}
2022-07-16T21:56:47.340-0400    ERROR   piecestore      download failed {"Process": "storagenode", "Piece ID": "6PV6XCM4FXKNMF5UHFB4RASC5NOGN6BNZSTWEBFO2STWWV3CHFYQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET", "error": "file does not exist", "errorVerbose": "file does not exist\n\tstorj.io/common/rpc/rpcstatus.Wrap:73\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:546\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func2:228\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:58\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:122\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:112\n\tstorj.io/drpc/drpcctx.(*Tracker).track:52"}
2022-07-16T21:56:48.141-0400    INFO    piecestore      download started        {"Process": "storagenode", "Piece ID": "EBJZFHQQH3BS4SK3HOAGXJ33V3GPT3CWXWJY7PDPQBEUW4ZRLLIA", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "Action": "GET"}
2022-07-16T21:56:48.141-0400    ERROR   piecestore      download failed {"Process": "storagenode", "Piece ID": "EBJZFHQQH3BS4SK3HOAGXJ33V3GPT3CWXWJY7PDPQBEUW4ZRLLIA", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "Action": "GET", "error": "file does not exist", "errorVerbose": "file does not exist\n\tstorj.io/common/rpc/rpcstatus.Wrap:73\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:546\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func2:228\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:58\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:122\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:112\n\tstorj.io/drpc/drpcctx.(*Tracker).track:52"}
2022-07-16T21:56:48.405-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "5B3C3R7Q25PTPZFH3QERT7GKEEZ4GWTNLDRAIFRIW2P5HA2MSOCA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601065472}
2022-07-16T21:56:48.416-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "5B3C3R7Q25PTPZFH3QERT7GKEEZ4GWTNLDRAIFRIW2P5HA2MSOCA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 3328}
2022-07-16T21:56:48.416-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "WXWAREZTEDT4NGBMCO5I3NFCNZNVTVXELMQHP53TZ65DJ7GLC43Q", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601061376}
2022-07-16T21:56:48.570-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "WXWAREZTEDT4NGBMCO5I3NFCNZNVTVXELMQHP53TZ65DJ7GLC43Q", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 11264}
2022-07-16T21:56:49.402-0400    INFO    piecestore      upload started  {"Process": "storagenode", "Piece ID": "45IDDEYJZKL2RZCFPTRE354AEFTJCQ5VCVMULPPFK7XPQE554AHQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Available Space": 564601049088}
2022-07-16T21:56:49.437-0400    INFO    piecestore      uploaded        {"Process": "storagenode", "Piece ID": "45IDDEYJZKL2RZCFPTRE354AEFTJCQ5VCVMULPPFK7XPQE554AHQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 8960}
2022-07-16T21:56:50.283-0400    INFO    Got a signal from the OS: "interrupt"   {"Process": "storagenode"}

Meaning that your node lost this piece. It could be permissions issue, but in this case the error would be a different (“Access Denied”).
It’s also possible that your data location has changed, in this case the node will not see any previous pieces.
You can check that possibility - search on your disk for the second “blobs” folder.

And also - if you trying to start the binary from a command prompt, you must provide a correct path to the config file with --config-dir option, identity path with --identity-dir option and perhaps the storage location with --storage.path.
Without providing this information the node could create a storage location on your system disk inside the %AppData%\Storj\storagenode folder.

You likely should merge the new blobs folder to the old one without overwrite, so only new pieces will be added to do not destroy your node.

So, please, try to start the service instead - it should use a correct path and post last 10 lines from the log.

You were right about a second storage location with a new blobs folder having been created. I merged it back into the proper location as you suggested.

For some reason the service isn’t writing any lines to storagenode.log when it ‘terminates unexpectedly’.

Then you config file is likely corrupted.
You can try to start the binary from the command prompt as an Administrator, but specify paths to the config file and the identity, i.e. (replace "C:\Users\USER\AppData\Roaming\Storj\Identity\storagenode\\" to your actual location to the identity):

"C:\Program Files\Storj\Storage Node\storagenode.exe" run --config-dir "C:\Program File\Storj\Storage Node\\" --identity-dir "C:\Users\USER\AppData\Roaming\Storj\Identity\storagenode\\" --log.output=stderr

It should point where it cannot read the config file.
Please use Notepad++ or Visual Studio Code to edit the config file, other editors can corrupt it.

Multiple times I’ve run the command ‘storagenode.exe setup’, to create a fresh config.yaml. I use Notepad++ to edit the necessary values, and then save it in both of the following locations:
C:\Users[user]\AppData\Roaming\Storj\Storagenode
C:\Program Files\Storj\Storage Node

Then I try to run Storj again. Of course it fails again from Computer Management, so I try from the CLI:

 C:\Program Files\Storj\Storage Node\storagenode.exe" run --config-dir "C:\Program Files\Storj\Storage Node\\" --identity-dir "C:\Users\[user]\AppData\Roaming\Storj\Identity\storagenode\\" --log.output=stderr
2022-08-06T21:33:20.435-0400    INFO    Configuration loaded    {"Process": "storagenode", "Location": "C:\\Program Files\\Storj\\Storage Node\\config.yaml"}
2022-08-06T21:33:20.437-0400    INFO    Operator email  {"Process": "storagenode", "Address": "[myemail@gmail.com]"}
2022-08-06T21:33:20.437-0400    ERROR   Invalid configuration.  {"Process": "storagenode", "error": "operator wallet address isn't valid"}
Error: operator wallet address isn't valid

Is there any guide published for the proper way to edit the config.yaml file?
For example, should there be quotes around the operator wallet and the email address?

Also, I’ve noticed there’s some weird magic happening between these three folders:
C:\Program Files\Storj\Storage Node
C:\Users[user]\AppData\Roaming\Storj\Identity\storagenode
C:\Users[user]\AppData\Storj\Identity\storagenode\

Sometimes when you edit config.yaml in one, it copies to the others…I am so confused!

The default path for Windows GUI storagenode installer is "C:\Program Files\Storj\Storage Node\", the path in %AppData% is a location by default if you run storagenode as a plain binary, not installed by the installer.

So, answering your question - the correct way is to use Notepad++ or Visual Studio Code to edit config file in the "C:\Program Files\Storj\Storage Node\" path. When you finish changing, you need to explicitly save this file. If you used mentioned editors, you need to select menu File - Save, they will ask for Administrator’s rights to be able to save to "C:\Program Files\Storj\Storage Node\", you should allow it and select the command File - Save again to actually save it.
After that you need to restart the service either from the Services applet, or from the elevated PowerShell:

Restart-Service storagenode

See How do I change values like wallet address or storage capacity? | Storj Docs

But if you want to run storagenode not as a service, but from CLI, then you need to provide options, where is your config file located with --config-dir option or sometimes also where is your identity located with --identity-dir.

Thanks so much Alexey for all your assistance on this - my Storj node is finally back online!

At one point I was going to make a comment that error handling regarding my wallet address was incorrect, but when I double-checked my wallet address…sure enough, I had accidentally deleted a character…oh man…

1 Like