Repository navigation
System.Net.* and System.Security.* crash on NativeAOT arm64 #74710
Copy link
Copy link
Closed
Labels
arch-arm64area-NativeAOT-coreclrtenet-reliabilityReliability/stability related issue (stress, load problems, etc.)Reliability/stability related issue (stress, load problems, etc.)
Milestone
Description
Frequency as of:
- 9/9 - last 30 days of System.Net.Security.Tests (with Core Dump) - all arm64-NativeAOT only
- 9/9 - last 30 days of System.Net.WebSockets.Client.Tests (with Core Dump) - all arm64-NativeAOT only
- 9/9 - last 30 days of System.Net.Http.Functional.Tests (with Core Dump) - mostly arm64-NativeAOT with 2 exceptions crossed out in the table
- 9/9 - last 30 days of System.Security.Cryptography.Tests (with Core Dump) - all arm64-NativeAOT only
| Day | Test suite | Run | OS | Details |
|---|---|---|---|---|
| 9/8 | System.Security.Cryptography.Tests | PR 9648 - PR #75306 (main) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Debian.11.Arm64.Open)Ubuntu.1804.Armarch.Open | Core Dump - SIGILL |
| 9/8 | System.Security.Cryptography.Tests | PR 9492 - PR #75213 (main) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
| 9/4 | System.Net.WebSockets.Client.Tests | Rolling run 4489 (main) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Debian.11.Arm64.Open)Ubuntu.1804.Armarch.Open | Core Dump - SIGILL |
| 9/2 | System.Net.Http.Functional.Tests | Rolling run 3461 (main) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
| 9/1 | System.Net.Http.Functional.Tests | Rolling run 1981002 (7.0-rc1) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
| 8/28 | System.Net.Security.Tests | Rolling run 1972481 (main) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Debian.11.Arm64.Open)Ubuntu.1804.Armarch.Open | Core Dump - SIGILL |
| 8/28 | System.Net.Http.Functional.Tests | Rolling run 1972413 (7.0) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
| 8/27 | System.Net.WebSockets.Client.Tests | Rolling run 1972127 (main) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Debian.11.Arm64.Open)Ubuntu.1804.Armarch.Open | Core Dump - SIGILL |
| 8/26 | System.Net.Security.Tests | Rolling run 1969936 (7.0) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
| 8/21 | System.Net.Http.Functional.Tests | Rolling run 1957446 (7.0-rc1) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
| 8/20 | System.Net.Security.Tests | Rolling run 1956604 (main) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
| 8/20 | System.Net.WebSockets.Client.Tests | Rolling run 1955765 (7.0-rc1) | net7.0-Linux-Release-arm64-NativeAOT_Release-(Ubuntu.1804.ArmArch.Open)Ubuntu.1804.ArmArch.Open | Core Dump - SIGILL |
Not quite blocking CI yet, but close ...
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
arch-arm64area-NativeAOT-coreclrtenet-reliabilityReliability/stability related issue (stress, load problems, etc.)Reliability/stability related issue (stress, load problems, etc.)
Activity
jkotas commentedon Aug 27, 2022
Stacktrace:
jkotas commentedon Aug 27, 2022
A function pointer in libcrypto data structures is bad. Use-after-free bug?
84350000 is the corrupted function pointer. 8490... are the good function pointers around it.
karelz commentedon Sep 1, 2022
Triage: We should treat it as high pri for 7.0 until we have further details about root cause.
[-]System.Net.Security.Tests crash on NativeAOT arm64[/-][+]System.Net.* crash on NativeAOT arm64[/+]karelz commentedon Sep 9, 2022
cc @LakshanF as it seems to be specific to arm64 NativeAOT -- I think you mentioned there were problems with arm64 NativeAOT recently ...
jkotas commentedon Sep 9, 2022
I have taken a look at the two most recent core dumps. It is still same pattern - function pointer overwritten in libcrypto
data structure.
My guess is that this crash is another manifestation of the problem that is behind other mysterious crashes in networking tests: #74795 and #72830 . There seems to be a stray memory write in networking that corrupts random memory.
MichalStrehovsky commentedon Sep 9, 2022
I was looking at the System.Security.Cryptography.Tests crash in #75306 that also looks similar (we end up in some location that is not valid code) - https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-75306-merge-171bd00681b64e6184/System.Security.Cryptography.Tests/1/console.108589f8.log?helixlogtype=result.
That one is not a networking test, but libcrypto is the common theme. Maybe a crypto bug instead of networking bug?
I'm not aware of any active ARM64 issues with NativeAOT. The one we had was fixed two weeks ago.
16 remaining items
Flush instruction cache after thunk pool allocation (#75393)
Flush instruction cache after thunk pool allocation
karelz commentedon Sep 12, 2022
Reopening to track the 7.0 backport ...
[release/7.0] Flush instruction cache after thunk pool allocation (#7…
jkotas commentedon Sep 12, 2022
Backport has been merged.
karelz commentedon Sep 12, 2022
Fixed in main (8.0) in PR #75393 and in 7.0 (RC2) in PR #75403.