RX0027

Domain: Engine

Error message

the one substrate reached its ceiling (%s)

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

The story

The engine just ran out of room for beings. Underneath everything there is one substrate, one big pool of cells shared by both populations, the DataHeap and the ExecHeap. It holds a fixed maximum number of cells, and each payload has a maximum size. When the pool is full, the engine refuses out loud. It will not free up a cell by evicting an existing one. Why? Because an accreted version in some name's history may still point at that storage. If the storage were reclaimed and given to someone else, the history would claim a version exists, but reading it would return somebody else's data. The law that nothing ever leaves a history would be a lie, one level up. Think of a parking garage with a numbered spot for every car: when it is full, you do not tow a parked car, you turn the new one away. This refusal used to be reported by the accretion store, but the DataHeap owns every being's storage, so how many beings can exist is the substrate's own question. The message gives detail on the ceiling. To go beyond it, raise the cell maximum.

Text from the Rush engine's error catalogue.