Closed K4rakara closed 2 weeks ago
deepClone
also appears to have this issue, but I haven't encountered that in the wild personally.
We have some tension with these methods about whether to prefer performance or flexibility. These diff and clone methods are used intensively for some real-time operations where the performance overhead of creating a supplementary set for remembering which objects have been visited by the operation could be undesirable. I'll take a look and do a benchmark of the difference.
What happened?
The
diffObject
helper inside ofcommons.js
doesn't appear to account for objects that are cyclic. This can cause infinite recursion, and slows down foundry significantly. See the following stacktrace:Granted, it's likely that this problematic input is being supplied by a third party module, but I'm able to reproduce the bug with a three line script.
What ways of accessing Foundry can you encounter this issue in?
Reproduction Steps
What core version are you reporting this for?
Version 11 Release, Build 315
Relevant log output
Bug Checklist