RX0015

Domain: Engine

Error message

the dimension law could not hold another row: the memory door refused (budget %s, reached at dimension %s)

In the message, %s marks a value that the engine fills in when it raises the error.

The story

This one is about running out of memory room for dimensions. Some history first: the engine used to cap dimensions at eight, a number somebody invented. That cap is gone. Now you add a dimension by adding a row to dimensions.feml, and the engine grows to hold it. The rows live in memory handed out by the memory door, and that door has a budget. This refusal fires only when the door says no: the budget is spent. The message tells you the budget and the dimension where it ran out. Why not just ignore the extra row? Because a dropped row is a dimension the engine officially declares but cannot see. Then the engine would proudly report that everything agrees, while checking only the rows it kept. That is a check that lies by omission, and the engine will not do that. So it stops at birth. Imagine a notebook with no pages left: you do not tear out old notes to fit the new one, you ask for a bigger notebook. The cure is the same here: give the arena a larger budget, and every declared dimension will fit.

Text from the Rush engine's error catalogue.