The ezfindindexsubtree will roun out of memory if the data being processed is large enough. the exact data is not important, it can be many small objects, or less, but large objects. PHP memory resource is all consumed, and an error shows:
message modified to XXX.php to avoid referring to a specific file, since it's not important, the actual break will be in a random, depending when the last available bytes are consumed.
modify the ezfindex to output the memory usage with each object processed.
- create some folder with 100 sub objects (enough for to commit cycles inside the script)
- hide/reveal any subtree
- run the cronjob (first aneable the ezfindindex cron part in settings)
- note how the memory always increases for each object.
when the script breaks, the subtrees already processed are not removed from the pending actions. so on next time they will re-run again, and the cronjob will never work.
- run the previous steps
- break the script before it fails/terminates
- run the script again
- note how it starts processing the same pending actions(object ids)