Skip to content
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

Ensuring XUnitLogChecker is included in libraries outerloop #97135

Merged
merged 3 commits into from
Feb 27, 2024

Conversation

carlossanlop
Copy link
Member

@carlossanlop carlossanlop commented Jan 18, 2024

Fixes #96035

To decide whether to include the XUnitLogChecker.csproj among the projects to build to include in the helix payloads, check for TargetFrameworkIdentifier==.NETCoreApp instead of BuildTargetFramework==NetCoreAppCurrent.

TODO: Revert the temporary crash commit before merging.

@ghost
Copy link

ghost commented Jan 18, 2024

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #96035

Still in draft because:

  • I am exploring adding XUnitLogChecker to clr.toolstests subset with many conditions, then adding that subset in the outerloop build runs. This is probably not the best approach but I need to test it.
  • I have temporary commits that need to be reverted before merging.

Here is an example of a libraries outerloop run where many tests failed due to not finding XUnitLogChecker.dll. My suspicion is that unlike the regular runtime libraries tests, outerloop does not retrieve the payloads that were built in separate preceding jobs. Here we just build in a previous step of the same job.
https://dev.azure.com/dnceng-public/public/_build/results?buildId=530217&view=logs&j=631ed29b-f0dd-5b15-38a0-c6c555556dea&t=b9941189-b5a8-5df3-6b3a-0964fabb3acd

Author: carlossanlop
Assignees: carlossanlop
Labels:

area-Infrastructure-libraries

Milestone: -

@carlossanlop
Copy link
Member Author

/azp run list

Copy link

No pipelines are associated with this pull request.

@carlossanlop
Copy link
Member Author

/azp list

This comment was marked as outdated.

@carlossanlop
Copy link
Member Author

/azp run runtime-libraries-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@carlossanlop
Copy link
Member Author

/azp run runtime-libraries-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@carlossanlop carlossanlop marked this pull request as ready for review February 14, 2024 01:39
@carlossanlop carlossanlop changed the title [Draft] Ensuring XUnitLogChecker is included in libraries outerloop Ensuring XUnitLogChecker is included in libraries outerloop Feb 14, 2024
@carlossanlop
Copy link
Member Author

carlossanlop commented Feb 14, 2024

Got some progress here. XUnitLogChecker is being found now in outerloop, but it finds no dumps. Examples:


----- start =============== XUnitLogChecker Output =====================================================
No dumps found in /home/helixbot/dotnetbuild/dumps.
----- end =============== XUnitLogChecker Output - exit code 0 ===========================

----- start =============== XUnitLogChecker Output =====================================================
No dumps found in /cores.
----- end =============== XUnitLogChecker Output - exit code 0 ===========================

@ericstj
Copy link
Member

ericstj commented Feb 14, 2024

is being found now in outerloop, but it finds no dumps.

I don't see createdump mentioned in the log during the crash like it was before which makes me think the runtime isn't emitting the dmp.

I do see system dumps associated with this failure: https://dev.azure.com/dnceng-public/public/_build/results?buildId=565516&view=ms.vss-test-web.build-test-results-tab&runId=13514696&resultId=108180&paneView=dotnet-dnceng.dnceng-build-release-tasks.helix-test-information-tab

@hoyosjs I think we need some help understanding why runtime isn't generating the dump specified.

@carlossanlop
Copy link
Member Author

I remember XUnitLogChecker is hardcoded to only try to find *.dmp files (unless that has changed recently).

The generated dump file is named in the correct folder: /home/helixbot/dotnetbuild/dumps

But the name is weird: core.1000.22

@hoyosjs
Copy link
Member

hoyosjs commented Feb 16, 2024

But the name is weird: core.1000.22

that's a system dump

@carlossanlop
Copy link
Member Author

Ah okay.

The code is still only looking for *.dmp files:

dumpsFound = Directory
.GetFiles(s_configuration.DumpsPath, "*.dmp")
.Where(dmp =>
DateTime.Compare(File.GetCreationTime(dmp),
testRunDateTime) >= 0);
}
else
{
dumpsFound = Directory.GetFiles(s_configuration.DumpsPath, "*.dmp");

@carlossanlop carlossanlop force-pushed the OuterloopXULC branch 2 times, most recently from be4f03d to de434bd Compare February 16, 2024 20:19
…jects to build, check for TargetFrameworkIdentifier==.NETCoreApp instead of BuildTargetFramework==NetCoreAppCurrent.
@hoyosjs
Copy link
Member

hoyosjs commented Feb 24, 2024

this one looks correct now :)

@carlossanlop
Copy link
Member Author

this one looks correct now :)

Hold on, need to run outerloop first. Forgot to submit the command for my latest commits.

@carlossanlop
Copy link
Member Author

/azp run runtime-libraries-coreclr outerloop

This comment was marked as outdated.

@carlossanlop
Copy link
Member Author

It's working now! I will revert the crash commit and will merge. Here are the logs of the outerloop runs showing that the XUnitLogChecker payload is being included and properly detected, and when possible, it finds the dumps and printing their contents:

@carlossanlop
Copy link
Member Author

/azp run runtime-libraries-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@carlossanlop
Copy link
Member Author

Looks "good". No issues coming from XUnitLogChecker anymore.

Fixing this is now uncovering a lot of unrelated failures without a KnownBuildIssue. I'll log one for all of them, since this XUnitLogChecker issue was hiding them.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

XUnitLogChecker: runtime-libraries-coreclr outerloop tests are unable to find the tool DLL
3 participants