1.0.0-beta.2 error: "Failed to scan system volumes"

I also just wrote this up:

Thanks! Iā€™ve tried increasing these values in the settings, but doing so revealed a timeout in another module:

{"ts":1621151318886,"l":"warn","ctx":"Deferred(rpc.RequestResponse(volumes)#35NctjzJs-3)","msg":".reject()","meta":"TIMEOUT: rpc.RequestResponse(volumes)#35NctjzJs-3 after 30001ms"}
{"ts":1621151318897,"l":"warn","ctx":"Error","msg":"onError(): TIMEOUT: rpc.RequestResponse(volumes)#35NctjzJs-3 after 30001ms\nTIMEOUT: rpc.RequestResponse(volumes)#35NctjzJs-3 after 30001ms\n    at Object.t.asError (/Applications/PhotoStructure.app/Contents/Resources/app.asar/sync.js:9:563913)\n    at p.reject (/Applications/PhotoStructure.app/Contents/Resources/app.asar/sync.js:9:105243)\n    at Timeout.<anonymous> (/Applications/PhotoStructure.app/Contents/Resources/app.asar/sync.js:9:104507)\n    at listOnTimeout (internal/timers.js:554:17)\n    at processTimers (internal/timers.js:497:7)","meta":{"event":"nonFatal","message":"volumes() failed"}}
{"ts":1621151318898,"l":"warn","ctx":"Error","msg":"onError(): TIMEOUT: rpc.RequestResponse(volumes)#35NctjzJs-3 after 30001ms\nTIMEOUT: rpc.RequestResponse(volumes)#35NctjzJs-3 after 30001ms\n    at Object.t.asError (/Applications/PhotoStructure.app/Contents/Resources/app.asar/sync.js:9:563913)\n    at p.reject (/Applications/PhotoStructure.app/Contents/Resources/app.asar/sync.js:9:105243)\n    at Timeout.<anonymous> (/Applications/PhotoStructure.app/Contents/Resources/app.asar/sync.js:9:104507)\n    at listOnTimeout (internal/timers.js:554:17)\n    at processTimers (internal/timers.js:497:7)","meta":{"event":"nonFatal","message":"unhandledRejection"}}
1 Like

Thanks for reporting this, and sorry for the glitch! beta.3 will make that timeout defer to your overridden value.

Related:

from

This ā€œfailed to scan system volumesā€ error has come back in beta.3. I confirmed my system settings.toml are still:

commandTimeoutMs=60000
mountpointsTtlMs=60000
volumeMetadataTtlMs=1200000

childservice error

Thanks for sending me your logs. Itā€™s taking 20+ seconds to run

Get-PSDrive -PSProvider FileSystem

I suspect one or more of your drives are spinning down, and itā€™s taking a while to spin all 9 of your platters back up to speed. It definitely adds some pressure for me to build out the more efficient volumes algorithm.

I am having this error on v0.9.1. MacOS 11.4 Mac mini (M1, 2020).

I have 3 external drives connected however I know theyā€™re spinning as I have just opened the drives in finder. Interestingly this bug occurred immediately after the welcome/setup dialog. It then prevents the app from starting correctly after that. Even clicking ā€œpreferencesā€ seems to cause a crash or close of the app.

EDIT: One of these drives is used for Time Machine. I assume it might be this bug: Apple silicon support - #4 by mrm

@stirlow please try the beta build: Iā€™ve fixed a bunch of issues with m1 and Big Sur.

Hi, I was getting this error as well - Iā€™ve added the following to my .bash_profile in Linux and this stops the error :

PHOTO STRUCTURE

export PS_COMMAND_TIMEOUT_MS=120000
export PS_MOUNTPOINTS_TTL_MS=120000
export PS_VOLUME_METADATA_TTL_MS=120000
export PS_SETUP_TIMEOUT_MS=120000

However it now doesnā€™t seem to be pulling in any additional directories I add after the initial populating with the contents of ~/Pictures ?

Iā€™m on 1.0.0-beta.7-x86_64 AppImage on Elementary OS 5.1 (Linux)

Tom

Update : reboot fixed the syncing - it looks like the shutdown is not always clean and on restart the sync may not be in a good state. Is there a recommended way to kill all parts (and restart) on Linux if it ends up hung in some way ?

First off: howdy, welcome to PhotoStructure!

Second: crap, sorry that the volume scanning glitched on you. The desktop build is really only supported on Ubuntu 20.04; Iā€™ve never tried it on Elementary. If you can run it under docker, that might work better.

Third: all PhotoStructure processes register a sigint handler, so running something like killall -vw PhotoStructure will shut them down gracefully.

I havenā€™t had to (personally) do that (killall) for a year, though: I suspect something about Elementary is causing PhotoStructureā€™s gears to grind. If you launch the appimage from a terminal, and add --verbose to the end of the command, itā€™ll run with verbose info logging that may be enlightening.

Iā€™m also gettings this error on Beta9.

{ā€œfatalā€:true,ā€œexitā€:true,ā€œstatusā€:12,ā€œpidā€:26,ā€œppidā€:19,ā€œerrorā€:ā€œChildService(sync).onStdout(): Error: ChildService(sync).onStdout()Failed to scan system volumes.Ā¹ā¶ā€}

I am running as a docker on Unraid.

Oof, apologies!

Can you shell into your docker container running PhotoStructure and email or dm me the output of

./photostructure info --debug --volumes

Thanks!

Thanks for the DM: that run was successful (which is good news and bad news: good that it normally (?) works, bad news that this is a heisenbug.

Iā€™m not getting the lighter fluid quite yet, but Iā€™ll think about how try to prevent this in the future.

This issue still persists in 1.0.0-beta.11.

PhotoStructure for Desktops, Windows 10.

(Failed to scan system volumes)

Sorry about that: can you send me your logs so I can see whatā€™s failing?

Just FYI, my VPN network drive is currently offline - and has been for about a week.

Knowing that, would you still need to see logs? Or would this crashing be expected behavior when a network drive is offline?

Side note- it would be super awesome if someday in a future version users could opt out of having PhotoStructure constantly scanning all of their volumes. I understand the premise, but in my case my pictures will always be on the same driveā€¦ and I promise the drive letter will never change. :grin:

Cheers,

Rodger.

1 Like

Thatā€™d be great to isolate whatā€™s actually failing.

No: that should be an expected situation, and PhotoStructure should handle it gracefully: and certainly not crash.

You can set volumeMetadataTtlMs to something gigantic: a day in milliseconds is 86400000:

By default, volumes should only be scanned by main, once, and then shared across processes via rpc until a new volume is mounted or an hour elapses (whatever comes first).

I was thinking about this a bit more, and the only reason why I scan volume metadata is to make sure PhotoStructure pauses the sync if disk space gets tight.

If thereā€™s plenty of disk space available on the cache and library volumes, PhotoStructure can safely cache volume metadata for a long while, because PhotoStructure knows it isnā€™t in a danger zone.

I also just realized that PhotoStructure can gracefully ignore any errors fetching volume metadata for volumes that arenā€™t being read from or written to. Iā€™ll see how doable that is.

@Rodger thanks again for the suggestion!

volume handling was extensively reworked (again) in beta.13. @Rodger are you still seeing this issue after upgrading?

Beta.13 was still crashing daily, but I apologize I didnā€™t jot down or notice the exact error. I just upgraded to beta.14, and will play close attention.