Crash from "internal error: ... no pending currentTask"

If you’re seeing this issue in your log:

Error: ChildService(sync).onStdout()sync-file: internal error: Error:
onStderr({"error":"Health checks failed","problems":["Used memory used by
sync-file (510 MB) is high"]}) no pending currentTask (task: undefined)¹⁶

This problem was reported by a couple beta users and someone on reddit.

The issue is from sync-file reporting health status, but because the parent didn’t ask, sync flips out.

The fix to make daemons get quietly recycled when health checks fail will be in the next release.

A workaround that may help is to give sync-file more memory before health checks start grumping. Set the maxMemoryMb to 1GB and maxRssMemoryMb to 1.5GB. These are system settings:

# +---------------+
# |  maxMemoryMb  |
# +---------------+
# PhotoStructure will restart services if they use more than this value
# (measured in megabytes, or 1,000,000 bytes). Note that this is not the
# allocated memory. See maxRssMemoryMb for total allocated.
# (env: "PS_MAX_MEMORY_MB", minValue: 256, maxValue: 8000)
maxMemoryMb = 1000

# +------------------+
# |  maxRssMemoryMb  |
# +------------------+
# PhotoStructure will restart services if their' resident set size consumes
# more than this value (measured in megabytes, or 1,000,000 bytes).
# (env: "PS_MAX_RSS_MEMORY_MB", minValue: 250, maxValue: 8000)
maxRssMemoryMb = 1500

I got that issue. I changed:

maxMemoryMb = 1500
maxRssMemoryMb = 2000

(…just to be sure that there is enough memory :blush:)
Seems that this workaround worked for me: now PohtoStructure have been running 12 hours. Earlier it hanged up after a few hours.


1 Like

Getting this on 0.9.1. Increased the values to

maxMemoryMb = 5000
maxRssMemoryMb = 10000

(It’s a VM with 16 CPUs and 64GB RAM)

1 Like

@mrm First of all a big big thank you for the amazing software!

I am running v1.0.0-beta.9 and experienced the same issue. I’ve increased the values as you suggested and started the import again.

I know it goes against your philosophy of making it as simple to use as possible but maybe add advanced settings in the GUI?

You’re more than welcome, and thanks for the kudos.

That’s no good: I thought this was addressed in beta.9. How big is your library?

Agreed! I just added UI to edit advanced settings

1 Like