Skip to content

[RuntimeAsync] Assertion failed 'lastBlockILEndOffset < beginOffs' #119616

Description

@VSadov

Observed while enabling rt async in Libraires partition - #119432

There is code in CreateCheckAndSuspendAfterCall that splits the basic block that contains await. Somehow when the splitting operation infers the IL range for the shortened block, it may end up with longer IL range than before shortening, thus overlapping with the IL range of the splitted-off remainder block.

This can trigger asserts later on when introducing scopes for untracked locals.

There is a hack/workaround in 6a29721

that illustrates/suppresses the issue, but that is not a fix.

Activity

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

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIruntime-async

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions