RX0298

Domain: Execution

Error message

%s would write past the working bytes its step was lent (%s)

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

The story

Rush just stopped a step before it could write outside its own space. Here is the story. When a builtin builds some text, it first asks the engine for a block of working bytes, sized for the answer it expects to produce. Then it fills that block piece by piece. Now suppose the block was sized too small, and the next piece would run past the end. There are two bad options. One is to cut the answer short, and hand you a truncated result that looks fine but is wrong. The other is to keep writing into memory that was never lent, which can corrupt anything. Rush chooses neither. It refuses the write, and stops, naming the step in the message and, in the second slot, the exact write that would have overrun. In plain words, a cook measured a cup for a recipe that needed two, and the kitchen refused to let it spill. This error points at a defect in the builtin itself, not in your script. The fix belongs in how that step sizes its working bytes. Please report the message, so the sizing can be corrected.

Text from the Rush engine's error catalogue.