Affects Version/s: 4.5.1.000
Fix Version/s: 22.214.171.124
Sprint:January 2017 Release
Calling serializeJSON(entity) on a loaded ORM entity with relationships will send the server in to panic with 100% CPU usage of all available cores.
The ACF implementation of this uses toString() recursively on variables and will not recurse to lazy=true relationships.
While the bug was discovered by a mistake on my part (I have since sanitized the data prior to serialization), a graceful Exception strategy, or better yet, a simple recursion strategy should be implemented to allow for conditional conversion of ORM objects.
- Tested as unrecoverable on a server with 2GB of memory, but recoverable on a server with greater than 8.
- The test entity contained injected non-persistent object and config struct properties as well. I am attaching an ACF JSON serialization of the entity for reference