Updates failed | invalid character 'p' after top-level value

Dear all,

I have realized that my node version is outdated. Since the service for the autoupdate is active I opened the storagenode-updater.log and I have found many many lines reporting the following error:

invalid character ‘p’ after top-level value

How may I correct this error, how may I successfully update my node? It is stuck on version 1.25.2, I am getting the error message since march 2021!

Thank you all!

I would replace the executables with current storagenode and storagenode-updater. From Releases · storj/storj · GitHub

2 Likes

It seems like the storagenode-updater might be trying to reach a resource that is no longer there. invalid character ‘p’ after top-level value is a common error while trying to parse, e.g., 404 page not found response instead of a valid JSON.

As Erik suggests, the best way to get out of this would be to get the latest stable storagenode + storagenode-updater from the releases page.

@Erikvv @artur thanks a lot for your answers.
So I will proceed as follows:

  1. download from github up to date version of node and autoupdater

  2. stop both services

  3. overwrite the old executables with the new ones

  4. restart nodes

Is it as simple as that or do I have to take other measures?

Yes that’s safe to do.

I assume your node dashboard currently still shows as online, so not disqualified?

Ok, thanks.

Yes, from the node dashboard everything seems to be working.

Maybe it could be an idea to implement for the future dashboard to list also the most updated version of the software so that one can perform the check instantly without having to go on the webpage to see what tha latest version is.

Because honestly, I had no idea that something was not working properly, I checked the version only because I have something else that I would like to fix.

Dear all,
the update of storagenode.exe was successful. I can’t say the same about storagenode-autoupdater.exe as the service stops.

I get this error in the autoupdate log:

FATAL	Error loading identity.	{"error": "file or directory not found: 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: 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:100\n\tstorj.io/private/process.cleanup.func1.4:363\n\tstorj.io/private/process.cleanup.func1:381\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.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"}

Any suggestions?

Thanks.

I have no experience with Windows, but the error suggests that you’re not targetting the right folder for the identity files.

Configuration issue? Permission issue?

On linux, the autoupdater (called watchtower) does not need any identity file though, so I’m wondering if it’s different on Windows.

Seems autoupdater service is missing some configuration parameters.
Could you please try to reinstall the storagenode? You need to remove "C:\Program Files\Storj" to be able to install back. So, if you have manual changes in your config.yaml I would suggest to backup it. Then you can copy parameters from it to the installation wizard. If you opted-in for zkSync and/or Polygon, you would need to enable them again after install.
Please use correct paths during install.

Hello!
I usually go to control panel and add/remove programs, I do not delete folders directly. Do you agree with that?

Yes, however in case of storagenode you need to remove at least config.yaml after uninstall to have an ability to install again, otherwise the installation will fail.
This is protection to do not accidentally screw things.
When you explicitly removes this file (folder), you probably know what are you doing.

Ok, so I will proceed as follows:

  1. Backup Config.yaml

  2. Stop service

  3. Manually delete "C:\Program Files\Storj"

  4. Reinstall using the config.yaml backup as a reference.

Ok?

Install does not work. Have a look.
Capture1
First screenshot: I did it because it was taking a longer time to complete the action. After awhile, the final error message:
Capture2
Please let me know how I should proceed best. Thanks!

P.S.
I have also tried once more after a fresh restart, but it still does not work. I get the same error message.

@Alexey I am now at risk of seeing my node disabled, as it is offline.

I still have a copy of the folder, but Windows does not let me copy it back as it requires admin rights to write in Program files. I am administrator, but apparently teracopy fails anyways.

Is there a way to copy or move the files as administrator?

I have the folder Storj_bak saved on D:\ and would like to move it back to its original path which was C:\program files\storj.

Once more, thanks!

Ok, I was able to get teracopy to work in administrator mode. As soon as it finishes copying I will tell you if I manage to have the node running again. Thx.

You probably need only config.yaml and orders folder from there.
You do not need to touch any data.

Ok, moving was successful. Node is working. Autoupdater still does not work.

Did you get it back from the backup too?
I hope not

Yes. I am back at square one. Since the installation procedure did not work…

Why it did not work? You do not need to return any files from "C:\Program Files\Storj" (maybe only orders and config.yaml).