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.

Thanks!

1 Like