Skip to content

superpmi: Linux arm collection for libraries.pmi #56156

@kunalspathak

Description

@kunalspathak

We have noticed several issues during libraries.pmi for Linux/arm:

  1. We hit asserts like below during collection which need to be fixed.
Assert failure(PID 589 [0x0000024d], Thread: 589 [0x024d]): Assertion failed 'doubleAlignMask == 0x3 || doubleAlignMask == 0xC' in 'Microsoft.FSharp.Core.ValueOption:GetValue(Microsoft.FSharp.Core.FSharpValueOption`1[Double]):double' during 'Pre-import' (IL size 51)    File: /__w/1/s/src/coreclr/jit/lclvars.cpp Line: 1152    Image: /root/helix/work/correlation/superpmi/corerun
  1. Such errors are not reported back and we silently filter them out from the collection. We need to make sure that we exit with errorcode so the collection step would know that there is some failure.

  2. There are several failures of below kind during collection and we need to address them soon:

MISSING: Method context 24385 failed to replay: SuperPMI assertion failed (missing key "key" in map IsValueClass): key 00000000F3907478
MISSING: Method context 26493 failed to replay: SuperPMI assertion failed (missing key "key" in map AsCorInfoType): key 00000000E89EA6C4
MISSING: Method context 26597 failed to replay: SuperPMI assertion failed (missing key "key" in map GetMethodSig): key ftn-00000000EAB92A20 prt-0000000000000000
MISSING: Method context 27037 failed to replay: SuperPMI assertion failed (missing map GetStaticFieldCurrentClass): key 00000000EA196268
MISSING: Method context 29893 failed to replay: SuperPMI assertion failed (missing key "key" in map GetStaticFieldCurrentClass): key 00000000EA757AF8
  1. Lastly, there are some failures that we get during collection and we try to filter them out, but we still hit some failures during validation phase. Need to investigate why we see such non-determinism.
Running SuperPMI replay of /root/helix/work/workitem/uploads/libraries.pmi.1.Linux.arm.checked.mch
Invoking: /root/helix/work/correlation/superpmi/superpmi -v ewmi -r /tmp/tmpjjdpxvt3/repro -p -f /tmp/tmpjjdpxvt3/libraries.pmi.1.Linux.arm.checked.mch_fail.mcl /root/helix/work/correlation/superpmi/libclrjit.so /root/helix/work/workitem/uploads/libraries.pmi.1.Linux.arm.checked.mch
MISSING: Method context 35873 failed to replay: SuperPMI assertion failed (missing key "key" in map AsCorInfoType): key 00000000E7281FD8
MISSING: Method context 58349 failed to replay: SuperPMI assertion failed (missing key "key" in map IsValueClass): key 00000000F3FF4240
MISSING: Method context 30306 failed to replay: SuperPMI assertion failed (missing key "key" in map ResolveToken): token 4000098
MISSING: Method context 34570 failed to replay: SuperPMI assertion failed (missing key "key" in map AsCorInfoType): key 00000000F136E580
MISSING: Method context 58194 failed to replay: SuperPMI assertion failed (missing key "key" in map IsValueClass): key 00000000F3FF4240
MISSING: Method context 35251 failed to replay: SuperPMI assertion failed (missing key "key" in map AsCorInfoType): key 00000000E85DA6C0
MISSING: Method context 53235 failed to replay: SuperPMI assertion failed (missing key "key" in map ResolveToken): token 60004ad
Compilation failures
Method numbers with compilation failures:
30306
34570
35251
35873
53235
58194
58349
Replay summary:
  Replay failures in 1 MCH files:
    /root/helix/work/workitem/uploads/libraries.pmi.1.Linux.arm.checked.mch
Error, unclean replay.
Finish time: 00:02:48
Elapsed time: 0:14:29.279955

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions