-
Notifications
You must be signed in to change notification settings - Fork 198
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
Enable libraries testing #900
Enable libraries testing #900
Conversation
So the System.Runtime tests are hitting an INT 3 with this stack:
The FileSystem tests are not crashing for me, but they also just hang and don't finish. I've only been testing unoptimized builds locally in the past. So for now, removing these tests. |
Okay, this still needs to wait for dotnet/runtime#50898 and dotnet/runtime#50280 at minimum and it still managed to crash despite the turned off optimizations. On Unix we have some ICU or whatever failures. And I need to block a couple more tests. This will never end. |
So I at least spent some time looking at the hang. We have a bunch of threads waiting for background GC, waiting for suspension, waiting for the GC to complete. The only two threads that are doing something are the thread trying to do suspension:
But that one cannot make progress because the background GC thread cannot be suspended (we're hitting the codepath in PalGetThreadContext that checks whether the context is accurate and it isn't. But even if we were to succeed there, the background GC thread stack is not walkable so it doesn't help. The background GC thread is stuck in
We just keep going to the retry loop because nobody is touching I thought that maybe this is caused by not having FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP because I saw code around this that checks for that (I assume nobody tests a GC without this defined over in the CoreCLR repo), but even with that and FEATURE_MANUALLY_MANAGED_CARD_BUNDLES, I don't see improvements. |
0f5a03b
to
f064433
Compare
@@ -246,7 +246,7 @@ private static Version GetICUVersion() | |||
int version = 0; | |||
try | |||
{ | |||
Type interopGlobalization = Type.GetType("Interop+Globalization"); | |||
Type interopGlobalization = Type.GetType("Interop+Globalization, System.Private.CoreLib"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Interop type exist both in the current assembly and in CoreLib. Apparently we're supposed to try in both. The reflection stack is not structured to fix this in straighforward way. I just really don't care.
@@ -917,6 +918,7 @@ long CallGetTotalAllocatedBytes(long previous) | |||
} | |||
} | |||
|
|||
[ActiveIssue("https://github.com/dotnet/runtimelab/issues/939" /* NativeAot */)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be fixed now
@@ -81,6 +81,9 @@ public void CustomAttributes() | |||
[Fact] | |||
public void FullyQualifiedName() | |||
{ | |||
#if SINGLE_FILE_TEST_RUNNER |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does not sound right for the test to contain ifdefs like this. It should be a dynamic check instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is already merged with dotnet/runtime#50996 - I cherry picked it because I'm tired of working in two repos.
We don't have a way to build a dynamic check that wouldn't just result in testing a tautology ("on a runtime that returns <Unknown>
for FullName, check that FullName returns <Unknown>
").
eng/pipelines/runtimelab.yml
Outdated
@@ -106,7 +106,7 @@ stages: | |||
isOfficialBuild: ${{ variables.isOfficialBuild }} | |||
timeoutInMinutes: 90 | |||
testGroup: innerloop | |||
buildArgs: -s nativeaot.objwriter+nativeaot+libs+nativeaot.packages -c release | |||
buildArgs: -s nativeaot+libs+nativeaot.packages -c release |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These shortcuts should be reverted now that the PR is passing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR is passing, but it shouldn't. It has failing tests.
eng/testing/tests.singlefile.targets
Outdated
<!-- xunit calls MakeGenericType to check if something is IEquatable --> | ||
<IlcArg Include="--feature:System.Reflection.IsTypeConstructionEagerlyValidated=false" /> | ||
|
||
<!-- Disable background GC because we have issues with it - https://github.com/dotnet/runtimelab/issues/940 --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not be needed anymore
This reverts commit ca46750.
4683c67
to
09dbd42
Compare
OK, this is ready for review now! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
No description provided.