-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[macOS-arm64] CoreCLR System.Security.Cryptography.OpenSsl.Tests fail on M1 Helix queues #49083
Comments
Tagging subscribers to this area: @safern, @ViktorHofer, @Anipik Issue DetailsFrom https://dev.azure.com/dnceng/public/_build/results?buildId=1019012&view=results
/cc @directhex
|
cc: @bartonjs @ilyas1974 does the M1 machines have libssl installed? |
More specifically arm64 libssl. |
I am seeing the same error on my local M1. These libraries are present... % pkg-config --list-all | grep ssl
libssl OpenSSL-libssl - Secure Sockets Layer and cryptography libraries
openssl OpenSSL - Secure Sockets Layer and cryptography libraries and tools
libevent_openssl libevent_openssl - libevent_openssl adds openssl-based TLS support to libevent |
Is there any workaround for this at the moment? I am getting this error as well and |
@sdmaclea do you know what should be done here? It's unclear to me with the current amount of information if this in an infrastructure issue that we should own. |
@bartonjs yeah, this was the case. Unfortunately, for the project I am using, there is no arm64 dotnet version (3.1), but at least I am able to run the stack locally now. |
@bartonjs is there anything left to do as part of this issue? |
@ViktorHofer I haven't seen reports of tests failing, other than this issue... so... maybe everything's good? But I don't know authoritatively, and don't really know how to see if the tests have been running. |
Just checked our platform matrix and rolling builds, we don't run OSX arm64 libraries tests in CI. Assuming that is intentional, moving to 7.0. |
@ViktorHofer per my onenote table, we do test macOS 11 w/Apple Silicon on both PR and rolling. Can you double check? And confirm that we're not running on Rosetta? We fully support M1's.
|
Tagging subscribers to this area: @bartonjs, @vcsjones, @krwq, @GrabYourPitchforks Issue DetailsFrom https://dev.azure.com/dnceng/public/_build/results?buildId=1019012&view=results
----- start Tue Mar 2 10:20:41 PST 2021 =============== To repro directly: =====================================================
pushd .
/tmp/helix/working/A43F08FC/p/dotnet exec --runtimeconfig System.Security.Cryptography.OpenSsl.Tests.runtimeconfig.json --depsfile System.Security.Cryptography.OpenSsl.Tests.deps.json xunit.console.dll System.Security.Cryptography.OpenSsl.Tests.dll -xml testResults.xml -nologo -nocolor -trait category=OuterLoop -notrait category=IgnoreForCI -notrait category=failing
popd
===========================================================================================================
/private/tmp/helix/working/A43F08FC/w/C8540A7F/e /private/tmp/helix/working/A43F08FC/w/C8540A7F/e
Discovering: System.Security.Cryptography.OpenSsl.Tests (method display = ClassAndMethod, method display options = None)
No usable version of libssl was found
./RunTests.sh: line 162: 59272 Abort trap: 6 (core dumped) "$RUNTIME_PATH/dotnet" exec --runtimeconfig System.Security.Cryptography.OpenSsl.Tests.runtimeconfig.json --depsfile System.Security.Cryptography.OpenSsl.Tests.deps.json xunit.console.dll System.Security.Cryptography.OpenSsl.Tests.dll -xml testResults.xml -nologo -nocolor -trait category=OuterLoop -notrait category=IgnoreForCI -notrait category=failing $RSP_FILE
/private/tmp/helix/working/A43F08FC/w/C8540A7F/e
----- end Tue Mar 2 10:20:43 PST 2021 ----- exit code 134 ---------------------------------------------------------- ----- start Wed Mar 3 17:37:29 PST 2021 =============== To repro directly: =====================================================
pushd .
/tmp/helix/working/C24F0A5F/p/dotnet exec --runtimeconfig System.Security.Cryptography.Algorithms.Tests.runtimeconfig.json --depsfile System.Security.Cryptography.Algorithms.Tests.deps.json xunit.console.dll System.Security.Cryptography.Algorithms.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=failing
popd
===========================================================================================================
/private/tmp/helix/working/C24F0A5F/w/B80F0986/e /private/tmp/helix/working/C24F0A5F/w/B80F0986/e
Discovering: System.Security.Cryptography.Algorithms.Tests (method display = ClassAndMethod, method display options = None)
Discovered: System.Security.Cryptography.Algorithms.Tests (found 1595 of 1601 test cases)
Starting: System.Security.Cryptography.Algorithms.Tests (parallel test collections = on, max threads = 8)
System.Security.Cryptography.Encryption.TripleDes.Tests.TripleDESContractTests.Windows7DoesNotSupportCFB64 [SKIP]
Condition(s) not met: "IsWindows7"
System.Security.Cryptography.Dsa.Tests.DSAImportExport.Import_2048 [SKIP]
Condition(s) not met: "SupportsFips186_3"
System.Security.Cryptography.Dsa.Tests.DSAImportExport.ExportAutoKey [SKIP]
Condition(s) not met: "SupportsKeyGeneration"
System.Security.Cryptography.Encryption.Des.Tests.DesContractTests.Windows7DoesNotSupportCFB [SKIP]
Condition(s) not met: "IsWindows7"
System.Security.Cryptography.Encryption.Aes.Tests.AesModeTests.Windows7DoesNotSupportCFB128 [SKIP]
Condition(s) not met: "IsWindows7"
No usable version of libssl was found
./RunTests.sh: line 162: 37821 Abort trap: 6 (core dumped) "$RUNTIME_PATH/dotnet" exec --runtimeconfig System.Security.Cryptography.Algorithms.Tests.runtimeconfig.json --depsfile System.Security.Cryptography.Algorithms.Tests.deps.json xunit.console.dll System.Security.Cryptography.Algorithms.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=failing $RSP_FILE
/private/tmp/helix/working/C24F0A5F/w/B80F0986/e
----- end Wed Mar 3 17:37:37 PST 2021 ----- exit code 134 ---------------------------------------------------------- /cc @directhex
|
Running this query
I seem to find Catalyst etc tests only. |
Only the runtime tests currently test on arm64: runtime/eng/pipelines/runtime.yml Line 969 in b683032
OSX.1100.ARM64.Open queue:
I don't think we yet run libraries tests on OSX 11 arm64. |
We should.. |
Who usually tracks adding these configurations? That person might have some more knowledge on why it isn't there yet. Would that be @wfurt? |
I can take a look. I have ARM macBook so I can easily do local test runs before we jumping to CI. |
BTW this may be separate issue but since we don't use openssl for SSL/TLS is there specific reason why we cannot use the libressl that comes with OS? It would be nice IMHO to not have |
The types that have OpenSSL in their names shouldn't use libressl, since they're not pointer-compatible. We could possibly use libressl for CCM/GCM/ChaCha-Poly, but that's orthogonal to the tests that are for types specifically using OpenSSL. |
That would help for sure! |
@bartonjs @wfurt -- I noticed these two test libraries are entirely disabled on M1's - which seems a bit of a precarious place to be. Is this is a significant hole - we apparently shipped this way? |
It's certainly not a pleasing state to be in, but I'm not expecting a lot of major issues. Our use of OpenSSL on macOS is limited to RSAOpenSsl, DSAOpenSsl, ECDsaOpenSsl, ECDiffieHellmanOpenSsl, AesGcm, and AesCcm. The first four are pretty obvious that OpenSSL is required, and no platform code will instantiate them on macOS. The latter two aren't instantiated by platform code, and use the static The problem at the time was that the libssl/libcrypto that the test machines get from Homebrew weren't the same architecture as the dotnet process. Assuming that we can solve the architecture mismatch on our test rigs (presumably there are architecture-specific library load paths, and we need to a) download two copies of OpenSSL via homebrew and b) link them in with the arch paths instead of the common path) we can turn the tests back on. If it's the case that Homebrew doesn't offer OpenSSL arm64 then the lightup features that depend on OpenSSL are just not available on that platform. |
This should be workable now IMHO
and
|
at least, all the tests seems to pass locally.
|
From https://dev.azure.com/dnceng/public/_build/results?buildId=1019012&view=results
No usable version of libssl was found
/cc @directhex
The text was updated successfully, but these errors were encountered: