Skip to content

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

@VSadov

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.

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