CUtlLinkedList overflow

From Valve Developer Community
Jump to navigation Jump to search

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.

Todo: There is definitely more cases where this can happen

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.

Team Fortress 2 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).

Wikipedia - Letter.png
This article has not been added to any content Wikipedia icon categories. Please help out by Wikipedia icon adding categories.
January 2024