10% of my windows nodes dont start after update 1.97.2
How do i revert to 1.96.6 ?
Dont produce any logs since the node does not start.
Win event just gives me this
The Storj V3 Storage Node service terminated unexpectedly. It has done this 39 times (times). The following correction action will be taken in 60000 milliseconds: Restart the service.
Event ID: 7031
Level: Error
Source: Service Control Manager
“# Event ID 7031 showing up in Event Viewer”
Thank you for posting your query at Microsoft community. If you are still facing the issue, I would like to inform you that Event ID 7031 usually pops up if we have any issues with any drivers.
Thanks for you reply Egon, sorry i just reverted to 1.96.6 and it works. Did not perform the commands you asked for i dont really have the time now going away for some days. So just wanted to get my nodes up. But it seems im not the only one having this issue so something you should look deeper into what is causing it. Sorry for not being able to help you any further.
Yes, we are digging into it. Unfortunately, at the moment we don’t have any solid leads on what is happening, yet.
Seeing whether storagenode help or storagenode info runs, would help us eliminate some possible issues. Primarily, whether there’s some DLL that’s causing issues or whether there’s some init or flag parsing code that stopped working.
I understand that is a nightmare to troubleshoot when u dont have any lead. Reinstalled 1.92.2 and got the following when running storagenode.exe info
2024-02-28T19:28:24+01:00 INFO Identity loaded. {"process": "storagenode", "Node ID": "124SoUiQsaLjNR9kj8ZgePLw1bAAAMEhWWxNwB9RYiLcrqS19Dg"}
Error: error starting master database on storage node: CreateFile C:\Users\Administrator\AppData\Roaming\Storj\Storagenode\storage\blobs: The system cannot find the path specified.; CreateFile C:\Users\Administrator\AppData\Roaming\Storj\Storagenode\storage\temp: The system cannot find the path specified.; CreateFile C:\Users\Administrator\AppData\Roaming\Storj\Storagenode\storage\garbage: The system cannot find the path specified.; CreateFile C:\Users\Administrator\AppData\Roaming\Storj\Storagenode\storage\trash: The system cannot find the path specified.
Seems like it tries to look for files in Roaming which seems a bit odd to me.
Thanks, that shows that it doesn’t seem to be related to an init or DLL related issue.
For context, the “Error” here isn’t important, because the configuration flags weren’t present at the moment. I just wanted to know whether it gets to handling command-line flags.
Should it not look in the storage folder instead of Appdata\Roaming?
C:\Users\Administrator\AppData\Roaming\Storj\Storagenode\storage\blobs <— is not my blobs folder, so ofc it fails if it looking at the incorrect folder.
Ah i see. Good luck in your troubleshoot and please ping when you think you have a fix so we can reenable the automatic updater and update to the fixed version.
We finally managed to create version v1.97.3 that should be able to capture the startup failure.
If the failure happens before the service is fully operational, it will try to log to event viewer. If that also fails it outputs it into stdout – which will be only visible when starting the service from command line as the administrator with the same arguments as the service.
Hopefully this will help us figure out what’s causing the issue.
Seems in version 1.97.3 if we specify the same confing lines multiple times (by accident) it cant parse the yaml config correctly.
In my case it was:
C:\Users\Administrator>"C:\Program Files\Storj\Storage Node\storagenode.exe" run --config-dir "C:\Program Files\Storj\Storage Node\\"
Error: While parsing config: yaml: unmarshal errors:
line 339: mapping key "storage2.monitor.verify-dir-writable-timeout" already defined at line 338
That was causing the issue. Thansk for the added logging output well played @Egon
This will not work. You need either start the service from the elevated PowerShell:
Start-Service storagenode
or provide all mandatory options for the run command, e.g. --config-dir and --identity-dir, but also override a log output to stderr, e.g. --log.output=stderr.
this always was like that. The YAML format have a mandatory requirement to do not have a duplicate keys.