Skip to content

fix: op consumption check should happen in CastingVM instead of PatternIota#1035

Open
pythonmcpi wants to merge 1 commit intoFallingColors:mainfrom
pythonmcpi:fix_op_limit_check
Open

fix: op consumption check should happen in CastingVM instead of PatternIota#1035
pythonmcpi wants to merge 1 commit intoFallingColors:mainfrom
pythonmcpi:fix_op_limit_check

Conversation

@pythonmcpi
Copy link
Copy Markdown
Contributor

Currently, the op limit check happens in PatternIota.execute rather than in CastingVM. This means that executable non-pattern iota and certain continuation frames can go past the op limit, and in extreme cases, hang the server thread indefinitely. (The latter case is currently possible with addons, and the most natural fix is moving the check to CastingVM.)

This PR moves the op limit check to the same place the stack limit is checked. Player-observable behavior should remain the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 📋 Backlog

Development

Successfully merging this pull request may close these issues.

1 participant