CUtlLinkedList overflow

From Valve Developer Community
Revision as of 10:04, 17 July 2023 by Ficool2 (talk | contribs) (Created page with "A cryptic engine error can be encountered in certain situations, with the message <code>CUtlLinkedList overflow! (exhausted memory allocator)</code> or <code>CUtlLinkedList ov...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.

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).

func_dustcloud entity

This entity can cause crashes in multiplayer. Solution is to remove the entity or use particles instead.

Todo: Confirm if this actually happens