Fatal Error Every 24 Hours

Good Morning all,

I keep getting the following fatal error every 24hrs

FATAL Unrecoverable error {“error”: “piecestore monitor: error verifying writability of storage directory: open F:\write-test067637613: Access is denied.”, “errorVerbose”: “piecestore monitor: error verifying writability of storage directory: open F:\write-test067637613: Access is denied.\n\tstorj.io/storj/storagenode/monitor.(*Service).Run.func2.1:140\n\tstorj.io/common/sync2.(*Cycle).Run:152\n\tstorj.io/storj/storagenode/monitor.(*Service).Run.func2:137\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57”}

Any idea how I stop it.

Hi @hacxx101,

It looks as though you’re running a Windows node and the StorJ service doesn’t have full access to the F: drive for writing. Check in services.msc which account is used to run the storagenode and that the same account has full permissions on F: drive.

the system has only one user account and this has full local admin control.

Did you check in services and see which account is being used? It’s most likely running as ‘system’ , ‘local system’ or ‘network service’. Then look at the ‘Security’ permissions on the F: drive from ‘This PC’.

1 Like

Stob’s suggestion is correct - you’ve got a permissions issue going on.

Windows has more user accounts than just one, but by default you can’t see them as they are internal to Windows operations.

If you still haven’t fixed it - post the output of this for us;

Run Powershell Prompt as Admin, and run the below to get the F:\ permission pattern.

Get-Acl -Path F:\ | Format-Table -Wrap

#Edit - Sorry I don’t know what the service name for Storagenode is on Windows, but if you run this command below, it might pick it up ? others will be able to confirm the correct name to replace node with;

Get-WmiObject -Class Win32_Service | Where-Object {$_.DisplayName -like '*node*'} | format-list name,startname

The value of startname, for the node, needs to be defined in the output of Get-ACL, if not you will need to add the user to the F:…

i have found that f:/ was using sys admin and that did not have full access so i have just made that change and will test over the next 24 hour period. but it is still off that it only happens once every 24 hours and a system restart bring the node back only and the error has cleared.

PS C:\Windows\system32> Get-Acl -Path F:\ | Format-Table -Wrap

Directory:

Path Owner Access


F:\ BUILTIN\Administrators NT AUTHORITY\Authenticated Users Allow FullControl
NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Administrators Allow FullControl
BUILTIN\Users Allow FullControl

PS C:\Windows\system32> Get-WmiObject -Class Win32_Service | Where-Object {$_.DisplayName -like ‘node’} | format-list name,startname

name : storagenode
startname : LocalSystem

name : storagenode-updater
startname : LocalSystem

here is that information

Thanks, so that confirms that your storagenode is running as;

so as Stob said, you will need to give access to this account;

I can see you’ve given full access to everyone, so I guess you are working now. if you want to clamp that down you can grant access to;

NT AUTHORITY\local system

no I am still seeing the same issue. its odd because it does not happen all the time.

see in the schedule of tasks if any program is running at this time, e.g. from backup

You need to propagate an access to child folders and files recursively with replace for the SYSTEM.