Skip to content

Doom gas hack #254

Description

@arjanz

With low gas limit DOOM, there is a difference in executed opcodes by 3 in first package. Probably because the whole last basic block should not be executed.

The first accumulate run works, because we hardcoded a gas modification, but from the second accumulate run on, we get:
corevm::service@2937929487 Failed to accumulate package 0xce0cef1205f371d9...: PriorStateMismatch
Because we execute more instuctions because our gas accounting is different.

Not sure where the problem lies, should investigate further.

Our hunch is that PolkaVM checks upfront wether a whole basic block can be executed before starting execution, while we just go until we hit the gas limit==0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions