You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[browser] Wasm linux/windows HighResource LibrariestTests AOT are failing on build #101104
converting llvm method System.Runtime.Intrinsics.Vector64`1<uint16> System.Runtime.Intrinsics.Arm.AdvSimd:Abs (System.Runtime.Intrinsics.Vector64`1<int16>)
* Assertion at /Users/rodo/git/runtime/src/mono/mono/mini/mini-llvm.c:6194, condition `lhs' not met
There are 2 problems we need to solve.
The aot compiler is now failing to compile this method:
// System.Runtime.Intrinsics.Arm.AdvSimd
public static Vector64<ushort> Abs(Vector64<short> P_0)
{
throw new PlatformNotSupportedException();
}
The System.Runtime.Intrinsics.Arm.AdvSimd should be linked away and it is not.
@vitek-karas what is the best way to find out why it was preserved during trimming? Still the illink analyzer or do we have some other way to find out?
@kotlarmilos It is only affecting tests, I wonder though if we should make the use of these linker descriptors conditional and use them only for ios? I guess it also made browser AOT tests slower on CI and possibly other tests too.
@kotlarmilos It is only affecting tests, I wonder though if we should make the use of these linker descriptors conditional and use them only for ios? I guess it also made browser AOT tests slower on CI and possibly other tests too.
Yes, I've included these changes in the PR. Thank you for investigation and bringing this up.
Activity
matouskozak commentedon Apr 16, 2024
fyi: @lewing
pavelsavara commentedon Apr 18, 2024
There are many more on this build
Log
To replicate, just run
/azp run runtime-wasm, probably on any branchpavelsavara commentedon Apr 18, 2024
System.Reflection.MetadataLoadContext.Testscould be good candidate to add to the AOT smoke test, so that we would see it break onruntimepipelineradekdoulik commentedon Apr 19, 2024
In browser targeted build I see it assert on:
There are 2 problems we need to solve.
System.Runtime.Intrinsics.Arm.AdvSimdshould be linked away and it is not.@vitek-karas what is the best way to find out why it was preserved during trimming? Still the illink analyzer or do we have some other way to find out?
vitek-karas commentedon Apr 19, 2024
Set
_TrimmerDumpDependencies=Trueand_TrimmerDependenciesFileFormat=dgmland then use https://github.com/dotnet/runtime/tree/main/src/coreclr/tools/aot/DependencyGraphViewer to inspect the file. Search for the symbol which was included (and shouldn't be) and then you can walk back to what kept it.radekdoulik commentedon Apr 22, 2024
Nice, I should try the viewer when I will be on a windows machine. Meanwhile I used the linker analyzer, interestingly it still worked.
It looks like we are not trimming a lot of stuff after #100669 was merged.
The AdvSimd is not trimmed away primarily because of these descriptors https://github.com/dotnet/runtime/pull/100669/files#diff-de4bf248fdfcb99fde3d06fd924756ab0073f5deaf5bb5218288fdc52ce16864R308-R310
@kotlarmilos It is only affecting tests, I wonder though if we should make the use of these linker descriptors conditional and use them only for ios? I guess it also made browser AOT tests slower on CI and possibly other tests too.
kotlarmilos commentedon Apr 22, 2024
Yes, I've included these changes in the PR. Thank you for investigation and bringing this up.