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

Test failure System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.Add_File(format: Pax) #70060

Closed
VincentBu opened this issue Jun 1, 2022 · 8 comments · Fixed by #71038
Closed
Assignees
Labels
arch-arm32 area-System.Formats.Tar blocking-clean-ci-optional Blocking optional rolling runs JitStress CLR JIT issues involving JIT internal stress modes os-windows
Milestone

Comments

@VincentBu
Copy link
Contributor

Run: runtime-coreclr libraries-jitstress 20220531.1

Failed test:

net7.0-windows-Release-arm64-CoreCLR_checked-jitstress2_tiered-Windows.10.Arm64v8.Open

- System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.Add_File(format: Pax)

Error message:

Assert.Equal() Failure
Expected: 34
Actual:   33


Stack trace
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.VerifyTimestamp(DateTime expected, DateTimeOffset actual) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.Windows.cs:line 76
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.VerifyPlatformSpecificMetadata(String filePath, TarEntry entry) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.Windows.cs:line 50
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.Add_File(TarFormat format) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.cs:line 110
   at InvokeStub_TarWriter_WriteEntry_File_Tests.Add_File(Object, Object, IntPtr*)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

No Kusto information.

@VincentBu VincentBu added arch-arm32 os-windows JitStress CLR JIT issues involving JIT internal stress modes labels Jun 1, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jun 1, 2022
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@VincentBu VincentBu added the blocking-clean-ci-optional Blocking optional rolling runs label Jun 1, 2022
@carlossanlop
Copy link
Member

@VincentBu what is different about the JitStress jobs compared to the normal jobs? I already disabled this test #69997 on Linux, and I'm wondering why is it now failing on Windows as well, but only on JitStress runs.

@vonzshik
Copy link
Contributor

vonzshik commented Jun 1, 2022

If I'm reading the sources correctly, TarWriter first reads the current info

entry._header._mTime = new DateTimeOffset(info.LastWriteTimeUtc);
entry._header._aTime = new DateTimeOffset(info.LastAccessTimeUtc);
entry._header._cTime = new DateTimeOffset(info.LastWriteTimeUtc); // There is no "change time" property

and only after that accesses the file, which also changes the last access time

if (entry.EntryType is TarEntryType.RegularFile or TarEntryType.V7RegularFile)
{
FileStreamOptions options = new()
{
Mode = FileMode.Open,
Access = FileAccess.Read,
Share = FileShare.Read,
Options = FileOptions.None
};
Debug.Assert(entry._header._dataStream == null);
entry._header._dataStream = File.Open(fullPath, options);
}

If so, that means that the data written into the tar's header might be different from the one the file will have.

@ghost
Copy link

ghost commented Jun 1, 2022

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

Issue Details

Run: runtime-coreclr libraries-jitstress 20220531.1

Failed test:

net7.0-windows-Release-arm64-CoreCLR_checked-jitstress2_tiered-Windows.10.Arm64v8.Open

- System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.Add_File(format: Pax)

Error message:

Assert.Equal() Failure
Expected: 34
Actual:   33


Stack trace
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.VerifyTimestamp(DateTime expected, DateTimeOffset actual) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.Windows.cs:line 76
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.VerifyPlatformSpecificMetadata(String filePath, TarEntry entry) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.Windows.cs:line 50
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.Add_File(TarFormat format) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.cs:line 110
   at InvokeStub_TarWriter_WriteEntry_File_Tests.Add_File(Object, Object, IntPtr*)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

No Kusto information.

Author: VincentBu
Assignees: -
Labels:

arch-arm32, area-System.Runtime, os-windows, JitStress, untriaged, blocking-clean-ci-optional

Milestone: -

@carlossanlop carlossanlop self-assigned this Jun 1, 2022
@carlossanlop carlossanlop added area-System.IO and removed area-System.Runtime untriaged New issue has not been triaged by the area owner labels Jun 1, 2022
@ghost
Copy link

ghost commented Jun 1, 2022

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

Issue Details

Run: runtime-coreclr libraries-jitstress 20220531.1

Failed test:

net7.0-windows-Release-arm64-CoreCLR_checked-jitstress2_tiered-Windows.10.Arm64v8.Open

- System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.Add_File(format: Pax)

Error message:

Assert.Equal() Failure
Expected: 34
Actual:   33


Stack trace
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.VerifyTimestamp(DateTime expected, DateTimeOffset actual) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.Windows.cs:line 76
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.VerifyPlatformSpecificMetadata(String filePath, TarEntry entry) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.Windows.cs:line 50
   at System.Formats.Tar.Tests.TarWriter_WriteEntry_File_Tests.Add_File(TarFormat format) in /_/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.cs:line 110
   at InvokeStub_TarWriter_WriteEntry_File_Tests.Add_File(Object, Object, IntPtr*)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

No Kusto information.

Author: VincentBu
Assignees: carlossanlop
Labels:

arch-arm32, area-System.IO, os-windows, JitStress, blocking-clean-ci-optional

Milestone: -

@carlossanlop carlossanlop added this to the 7.0.0 milestone Jun 1, 2022
@VincentBu
Copy link
Contributor Author

@VincentBu what is different about the JitStress jobs compared to the normal jobs? I already disabled this test #69997 on Linux, and I'm wondering why is it now failing on Windows as well, but only on JitStress runs.

I know few about it. I asked tommcdon and he told me that:
JIT Stress is owned by the codegen team (Julie Lee's team). It enables certain JIT features that generate different types of JIT optimizations thereby exercising different code paths in the JIT. If the failure is specific to JIT Stress, it is highly likely a codegen bug. If however the test fails on other runs as well, then it is a bug but not JIT stress specific.

@danmoseley
Copy link
Member

@BruceForstall can answer questions about jit stress. Note that libraries tests failures in jit stress are often simply timeouts because it can be slow. (Or perhaps machine configuration specific?)

@BruceForstall
Copy link
Member

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jun 21, 2022
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jun 23, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jul 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm32 area-System.Formats.Tar blocking-clean-ci-optional Blocking optional rolling runs JitStress CLR JIT issues involving JIT internal stress modes os-windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants