-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Installer test infrastructure around the install_location config file on macOS crashes test process with RC2 SDK #61131
Comments
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov Issue DetailsThe installer test infrastructure creates a dummy install_location config file for some of the nethost testing. When using the RC2 SDK, the test process crashes while running the tests that use this infrastructure. After the RC2 SDK update is merged, we should figure out the cause of this failure and re-enable the disabled tests.
|
This is some System Integrity Protection sadness. I don't actually understand macOS / SIP to know exactly what is going on, why it would have started happening when the repo switched to 6.0 RC2, or how to address I - but here is what I see: Crash report:
I didn't manage to get a core dump (maybe I need to do something extra beyond unlimited
Only happens when modifying Release host bits. We explicitly run runtime/eng/native/functions.cmake Line 398 in 933dbb1
Only happens when a process that uses the binary that gets edited is previously launched. This is probably why we have a bunch of other tests that use [Fact]
public void DummyTest()
{
// TestOnlyProductBehavior.Enable succeeds if we don't launch the nativehost process (which uses nethost)
Console.WriteLine("Launching process");
Command.Create(sharedState.NativeHostPath, GetHostFxrPath).Execute();
Console.WriteLine("Enabling test behaviour");
using (var test = TestOnlyProductBehavior.Enable(sharedState.NethostPath))
{
Console.WriteLine("Enabled test behaviour");
}
} |
I don't know the details either, but I do remember a discussion somewhere and the problem was that macOS cached some security related information about a file. This sounds similar. What we could do is to change the infra in such a way that we always create a new copy of the runtime directories before we apply test-only behavior - this would guarantee that the executable is not used before it's modified as test-only. Alternatively: We make copies of all the runtime files for each test class anyway (no test should use the original runtime files directly), we could stamp the produce as test-only as part of this copy and simply run everything in the test-only mode. It should not have any impact on the validity of test results. |
The installer test infrastructure creates a dummy install_location config file for some of the nethost testing. When using the RC2 SDK, the test process crashes while running the tests that use this infrastructure.
See #60256 (comment)
After the RC2 SDK update is merged, we should figure out the cause of this failure and re-enable the disabled tests.
The text was updated successfully, but these errors were encountered: