CUtlLinkedList overflow
You can help by adding links to this article from other relevant articles.
January 2024
A cryptic engine error can be encountered in certain situations, with the message CUtlLinkedList overflow! (exhausted memory allocator)
or CUtlLinkedList overflow! (exhausted index range)
. This articles states potential causes and their solutions.
Big entity bounding boxes
The most common reason for this issue is an entity with inflated bounding box size, usually 1000 units or more in size, casting dynamic shadows across a large area which hits the shadow triangle limit in the engine. Models with big bounding boxes can be identified with ent_bbox
command, or for brush entities, checking the yellow box when selecting an entity in Hammer. Some may not be easy to catch at first glance, for example 2 chimneys grouped into a func_brush several thousands of units apart will create a very big bounding box which will easily cause the engine error. Another way this can occur is because of a huge translation in any of the model's $sequences (for example, shifting a model 10000 units down during an animation). In this case, the bounding box should be overriden with $bbox to be the "correct" size.
Example: The sentry blueprint model has a nearly 4000 unit long bounding box due to the sphere range visualizer!
The solution is to disable shadows on such entities, by setting the Disable Shadows property on the entity to true (internally named disableshadows 1
).
January 2024