Compiled Lucee classes getting re-compiled as new classes - and old ones not getting GCd

Description

Since upgrading from 5.2.x to 5.3.3-63, we find that our metaspace grows and grows as does the number of classes we have compiled.

We'd normally sit around 15,000 compiled classes, once upgraded to 5.3.3-62 the number just keeps growing. Typically we'll get an OOM Metaspace error at around 80,000 classes.

Examining a heap dump shows that around 60,000 of the loaded 75,000 classes in one instance were all compiled CFC/CFMs with multiple repeats. The below is a snapshot (they were not all this one .cfm file, there were many other .cfm and .cfcs present):

 

I believe this to be caused by the changes made in LDEV-2265.

I don't have more information to hand yet, but will be trying out reverting in a patch on our servers to see if the behaviour stops quickly or not. Hopefully should know in a day or so if it is indeed this change, the “leak” is pretty slow.


Environment

None

Assignee

Unassigned

Reporter

Dominic Watson

Priority

Blocker

Labels

Fix versions

None

Affects versions

Configure