Summary
Tracking issue for the runtime-tests currently excluded via <CLRTestTargetUnsupported Condition="'$(TargetsWasi)' == 'true'">true</CLRTestTargetUnsupported> in the CoreCLR-WASI bring-up (PR #130051).
24 .ilproj tests are excluded because they trip specific WASI/interpreter gaps that are independent of the umbrella browser-CoreCLR runtime-tests work in #120708. Grouping them by root cause so each cluster can be tracked / fixed independently:
Root-cause groups
Vararg calling convention (13)
The interpreter has no arglist / vararg-signature dispatch on WASM; every vararg-using IL test traps with wasm trap: unreachable at DispatchManagedException.
JIT/Directed/Misc/function_pointer/MutualThdRecur-fptr.ilproj
JIT/Methodical/Coverage/arglist_pos.ilproj
JIT/Methodical/refany/seq_d.ilproj
JIT/Methodical/refany/seq_r.ilproj
JIT/Regression/CLR-x86-EJIT/V1-M12-Beta2/b26323/b26323.ilproj
JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj
JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj
JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28901/b28901.ilproj
JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30838/b30838.ilproj
JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30864/b30864.ilproj
JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32374/b32374.ilproj
JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b35784/b35784.ilproj
JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b409748/b409748.ilproj
EH clause dispatch gap (3)
Second-pass unwind through calli, and the HndIndex_10_* handler-ordering pair from Dev11_468598. Same family as the GitHub_89834-style unwind bugs but distinct enough to warrant a separate diagnosis.
JIT/Directed/pinvoke/calli_excep.ilproj
JIT/Regression/Dev11/Dev11_468598/Test_HndIndex_10_Plain.ilproj
JIT/Regression/Dev11/Dev11_468598/Test_HndIndex_10_Reordered.ilproj
Threading (4)
Thread.Start on single-threaded WASI raises PlatformNotSupportedException from RuntimeFeature.ThrowIfMultithreadingIsNotSupported() before the cctor race can be observed. Structurally the same as the Browser+CoreCLR CircularCctor exclusions from #126120, but not covered by that PR's WASI-side gate.
Loader/classloader/TypeInitialization/CircularCctors/CircularCctorFourThreadsBFI.ilproj
Loader/classloader/TypeInitialization/CircularCctors/CircularCctorThreeThreads01BFI.ilproj
Loader/classloader/TypeInitialization/CircularCctors/CircularCctorThreeThreads02BFI.ilproj
Loader/classloader/TypeInitialization/CircularCctors/CircularCctorThreeThreads03BFI.ilproj
Tailcall + IL verification (2)
JIT/Methodical/tailcall_v4/hijacking.ilproj — tailcall hijacking probe (interpreter tailcall handling)
JIT/opt/Tailcall/TailcallVerifyWithPrefix.ilproj — IL verifier expectations on .tail prefix; test expects a specific verification outcome the WASM interpreter doesn't emit
MethodImpl self-override on PortableEntryPoint (1)
Fixed on main by #126124 ([wasm] Fix interpreter crash with MethodImpl .override on PortableEntryPoints). Kept excluded on the bring-up branch pending re-verification once the branch rebases past that fix.
Loader/classloader/MethodImpl/self_override5.ilproj
NoPIA type equivalence (1)
The WASM interpreter doesn't support the NoPIA type-equivalence signature path.
baseservices/typeequivalence/signatures/nopiatestil.ilproj
Notes
/cc @radekdoulik @pavelsavara
Summary
Tracking issue for the runtime-tests currently excluded via
<CLRTestTargetUnsupported Condition="'$(TargetsWasi)' == 'true'">true</CLRTestTargetUnsupported>in the CoreCLR-WASI bring-up (PR #130051).24
.ilprojtests are excluded because they trip specific WASI/interpreter gaps that are independent of the umbrella browser-CoreCLR runtime-tests work in #120708. Grouping them by root cause so each cluster can be tracked / fixed independently:Root-cause groups
Vararg calling convention (13)
The interpreter has no
arglist/ vararg-signature dispatch on WASM; every vararg-using IL test traps withwasm trap: unreachableatDispatchManagedException.JIT/Directed/Misc/function_pointer/MutualThdRecur-fptr.ilprojJIT/Methodical/Coverage/arglist_pos.ilprojJIT/Methodical/refany/seq_d.ilprojJIT/Methodical/refany/seq_r.ilprojJIT/Regression/CLR-x86-EJIT/V1-M12-Beta2/b26323/b26323.ilprojJIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilprojJIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilprojJIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28901/b28901.ilprojJIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30838/b30838.ilprojJIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30864/b30864.ilprojJIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32374/b32374.ilprojJIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b35784/b35784.ilprojJIT/Regression/CLR-x86-JIT/V2.0-Beta2/b409748/b409748.ilprojEH clause dispatch gap (3)
Second-pass unwind through
calli, and theHndIndex_10_*handler-ordering pair from Dev11_468598. Same family as theGitHub_89834-style unwind bugs but distinct enough to warrant a separate diagnosis.JIT/Directed/pinvoke/calli_excep.ilprojJIT/Regression/Dev11/Dev11_468598/Test_HndIndex_10_Plain.ilprojJIT/Regression/Dev11/Dev11_468598/Test_HndIndex_10_Reordered.ilprojThreading (4)
Thread.Starton single-threaded WASI raisesPlatformNotSupportedExceptionfromRuntimeFeature.ThrowIfMultithreadingIsNotSupported()before the cctor race can be observed. Structurally the same as the Browser+CoreCLR CircularCctor exclusions from #126120, but not covered by that PR's WASI-side gate.Loader/classloader/TypeInitialization/CircularCctors/CircularCctorFourThreadsBFI.ilprojLoader/classloader/TypeInitialization/CircularCctors/CircularCctorThreeThreads01BFI.ilprojLoader/classloader/TypeInitialization/CircularCctors/CircularCctorThreeThreads02BFI.ilprojLoader/classloader/TypeInitialization/CircularCctors/CircularCctorThreeThreads03BFI.ilprojTailcall + IL verification (2)
JIT/Methodical/tailcall_v4/hijacking.ilproj— tailcall hijacking probe (interpreter tailcall handling)JIT/opt/Tailcall/TailcallVerifyWithPrefix.ilproj— IL verifier expectations on.tailprefix; test expects a specific verification outcome the WASM interpreter doesn't emitMethodImpl self-override on PortableEntryPoint (1)
Fixed on
mainby #126124 ([wasm] Fix interpreter crash with MethodImpl .override on PortableEntryPoints). Kept excluded on the bring-up branch pending re-verification once the branch rebases past that fix.Loader/classloader/MethodImpl/self_override5.ilprojNoPIA type equivalence (1)
The WASM interpreter doesn't support the NoPIA type-equivalence signature path.
baseservices/typeequivalence/signatures/nopiatestil.ilprojNotes
src/coreclr/wasi/tests/known-failures.txtand reproduce with the same signatures under the localrun.cssweep./cc @radekdoulik @pavelsavara