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 : Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd #46803

Closed
VincentBu opened this issue Jan 11, 2021 · 15 comments · Fixed by #57684
Closed

Test failure : Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd #46803

VincentBu opened this issue Jan 11, 2021 · 15 comments · Fixed by #57684

Comments

@VincentBu
Copy link
Contributor

Job : runtime-coreclr outerloop 20210109.2

Failed test: Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd

R2R windows arm Checked no_tiered_compilation @ Windows.10.Arm64v8.Open

Error message:

Assert failure(PID 15736 [0x00003d78], Thread: 14872 [0x3a18]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")
<no module>! <no symbol> + 0x0 (0x00000000)
    File: F:\workspace\_work\1\s\src\coreclr\vm\object.cpp Line: 593
    Image: D:\h\w\B1E3092A\p\CoreRun.exe
Return code:      1
Raw output file:      D:\h\w\B1E3092A\w\9FF608FB\e\Regressions\coreclr\Reports\Regressions.coreclr\GitHub_45929\test45929\test45929.output.txt
Raw output:
BEGIN EXECUTION
        1 file(s) copied.
" "D:\h\w\B1E3092A\p\crossgen.exe"  /Platform_Assemblies_Paths D:\h\w\B1E3092A\p;D:\h\w\B1E3092A\w\9FF608FB\e\Regressions\coreclr\GitHub_45929\test45929 /in D:\h\w\B1E3092A\w\9FF608FB\e\Regressions\coreclr\GitHub_45929\test45929\test45929.org /out D:\h\w\B1E3092A\w\9FF608FB\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll"\r\nMicrosoft (R) CoreCLR Native Image Generator - Version 6.0.0-ci
Copyright (c) Microsoft Corporation.  All rights reserved.
Native image D:\h\w\B1E3092A\w\9FF608FB\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll generated successfully.
 "D:\h\w\B1E3092A\p\corerun.exe" test45929.dll 
The test started.
Progress:
1/9/2021 10:13:26 AM : 001.0%
1/9/2021 10:13:29 AM : 002.0%
1/9/2021 10:13:32 AM : 003.0%
1/9/2021 10:13:34 AM : 004.0%
1/9/2021 10:13:37 AM : 005.0%
1/9/2021 10:13:39 AM : 006.0%
1/9/2021 10:13:41 AM : 007.0%
1/9/2021 10:13:43 AM : 008.0%
1/9/2021 10:13:45 AM : 009.0%
1/9/2021 10:13:47 AM : 010.0%\r\n1/9/2021 10:13:49 AM : 011.0%\r\n1/9/2021 10:13:51 AM : 012.0%\r\n1/9/2021 10:13:53 AM : 013.0%\r\n1/9/2021 10:13:55 AM : 014.0%\r\n1/9/2021 10:13:57 AM : 015.0%\r\n1/9/2021 10:13:59 AM : 016.0%\r\n1/9/2021 10:14:01 AM : 017.0%\r\n1/9/2021 10:14:03 AM : 018.0%\r\n1/9/2021 10:14:05 AM : 019.0%\r\n1/9/2021 10:14:07 AM : 020.0%\r\n1/9/2021 10:14:09 AM : 021.0%\r\n1/9/2021 10:14:11 AM : 022.0%\r\n1/9/2021 10:14:13 AM : 023.0%\r\n1/9/2021 10:14:15 AM : 024.0%\r\n1/9/2021 10:14:17 AM : 025.0%\r\n1/9/2021 10:14:19 AM : 026.0%\r\n1/9/2021 10:14:21 AM : 027.0%\r\n1/9/2021 10:14:23 AM : 028.0%\r\n1/9/2021 10:14:25 AM : 029.0%\r\n1/9/2021 10:14:27 AM : 030.0%\r\n1/9/2021 10:14:29 AM : 031.0%\r\n1/9/2021 10:14:31 AM : 032.0%\r\n1/9/2021 10:14:33 AM : 033.0%\r\n1/9/2021 10:14:35 AM : 034.0%\r\n1/9/2021 10:14:37 AM : 035.0%\r\n1/9/2021 10:14:39 AM : 036.0%\r\n1/9/2021 10:14:41 AM : 037.0%\r\n1/9/2021 10:14:43 AM : 038.0%\r\n1/9/2021 10:14:45 AM : 039.0%\r\n1/9/2021 10:14:47 AM : 040.0%\r\n1/9/2021 10:14:49 AM : 041.0%
1/9/2021 10:14:51 AM : 042.0%
1/9/2021 10:14:53 AM : 043.0%
1/9/2021 10:14:55 AM : 044.0%
1/9/2021 10:14:57 AM : 045.0%
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=D:\h\w\B1E3092A\p
> D:\h\w\B1E3092A\w\9FF608FB\e\Regressions\coreclr\GitHub_45929\test45929\test45929.cmd\r\nExpected: True
Actual:   False


Stack trace
   at Regressions_coreclr._GitHub_45929_test45929_test45929_._GitHub_45929_test45929_test45929_cmd()
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Jan 11, 2021
@Dotnet-GitSync-Bot
Copy link
Collaborator

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
Copy link
Contributor Author

VincentBu commented Jan 18, 2021

Also fail in runtime 20210116.4
Failed tests:

CoreCLR windows arm Checked @ Windows.10.Arm64v8.Open
        - Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd

Error messages:

Assert failure(PID 1624 [0x00000658], Thread: 12552 [0x3108]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")

<no module>! <no symbol> + 0x0 (0x00000000)
    File: F:\workspace\_work\1\s\src\coreclr\vm\object.cpp Line: 593
    Image: D:\h\w\AF1D0A2B\p\CoreRun.exe


Return code:      1
Raw output file:      D:\h\w\AF1D0A2B\w\AF6209A3\e\Regressions\coreclr\Reports\Regressions.coreclr\GitHub_45929\test45929\test45929.output.txt
Raw output:
BEGIN EXECUTION
 "D:\h\w\AF1D0A2B\p\corerun.exe" test45929.dll 
The test started.
Progress:
1/16/2021 4:33:22 AM : 001.0%
1/16/2021 4:33:24 AM : 002.0%
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=D:\h\w\AF1D0A2B\p
> D:\h\w\AF1D0A2B\w\AF6209A3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.cmd

@VincentBu
Copy link
Contributor Author

Failed again in run : runtime-coreclr outerloop 20210126.8

Failed test : Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd

R2R windows arm Checked @ Windows.10.Arm64v8.Open

Error message:

Assert failure(PID 7312 [0x00001c90], Thread: 12456 [0x30a8]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")

<no module>! <no symbol> + 0x0 (0x00000000)
 File: F:\workspace\_work\1\s\src\coreclr\vm\object.cpp Line: 593
 Image: D:\h\w\AEF609DD\p\CoreRun.exe


Return code: 1
Raw output file: D:\h\w\AEF609DD\w\A4110935\e\Regressions\coreclr\Reports\Regressions.coreclr\GitHub_45929\test45929\test45929.output.txt
Raw output:
BEGIN EXECUTION
 1 file(s) copied.
" "D:\h\w\AEF609DD\p\crossgen.exe" /Platform_Assemblies_Paths D:\h\w\AEF609DD\p;D:\h\w\AEF609DD\w\A4110935\e\Regressions\coreclr\GitHub_45929\test45929 /in D:\h\w\AEF609DD\w\A4110935\e\Regressions\coreclr\GitHub_45929\test45929\test45929.org /out D:\h\w\AEF609DD\w\A4110935\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll"
Microsoft (R) CoreCLR Native Image Generator - Version 6.0.0-ci
Copyright (c) Microsoft Corporation. All rights reserved.

Native image D:\h\w\AEF609DD\w\A4110935\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll generated successfully.
 "D:\h\w\AEF609DD\p\corerun.exe" test45929.dll 
The test started.
Progress:
1/27/2021 12:47:25 AM : 001.0%
1/27/2021 12:47:28 AM : 002.0%
1/27/2021 12:47:30 AM : 003.0%
1/27/2021 12:47:32 AM : 004.0%
1/27/2021 12:47:34 AM : 005.0%
1/27/2021 12:47:37 AM : 006.0%
1/27/2021 12:47:38 AM : 007.0%
1/27/2021 12:47:40 AM : 008.0%
1/27/2021 12:47:42 AM : 009.0%
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=D:\h\w\AEF609DD\p
> D:\h\w\AEF609DD\w\A4110935\e\Regressions\coreclr\GitHub_45929\test45929\test45929.cmd
Expected: True
Actual: False

Stack trace
   at Regressions_coreclr._GitHub_45929_test45929_test45929_._GitHub_45929_test45929_test45929_cmd()

@VincentBu
Copy link
Contributor Author

Failed again in run runtime-coreclr outerloop 20210206.2

Failed test:

R2R windows arm Checked no_tiered_compilation @ Windows.10.Arm64v8.Open

  -Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd

Error message:

Assert failure(PID 12728 [0x000031b8], Thread: 12992 [0x32c0]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")

<no module>! <no symbol> + 0x0 (0x00000000)
 File: D:\workspace\_work\1\s\src\coreclr\vm\object.cpp Line: 593
 Image: D:\h\w\B7BF09C3\p\CoreRun.exe


Return code: 1
Raw output file: D:\h\w\B7BF09C3\w\A7430944\e\Regressions\coreclr\Reports\Regressions.coreclr\GitHub_45929\test45929\test45929.output.txt
Raw output:
BEGIN EXECUTION
 1 file(s) copied.
" "D:\h\w\B7BF09C3\p\crossgen.exe" /Platform_Assemblies_Paths D:\h\w\B7BF09C3\p;D:\h\w\B7BF09C3\w\A7430944\e\Regressions\coreclr\GitHub_45929\test45929 /in D:\h\w\B7BF09C3\w\A7430944\e\Regressions\coreclr\GitHub_45929\test45929\test45929.org /out D:\h\w\B7BF09C3\w\A7430944\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll"
Microsoft (R) CoreCLR Native Image Generator - Version 6.0.0-ci
Copyright (c) Microsoft Corporation. All rights reserved.

Native image D:\h\w\B7BF09C3\w\A7430944\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll generated successfully.
 "D:\h\w\B7BF09C3\p\corerun.exe" test45929.dll 
The test started.
Progress:
2/6/2021 6:55:11 AM : 001.0%
2/6/2021 6:55:14 AM : 002.0%
2/6/2021 6:55:17 AM : 003.0%
2/6/2021 6:55:19 AM : 004.0%
2/6/2021 6:55:21 AM : 005.0%
2/6/2021 6:55:23 AM : 006.0%
2/6/2021 6:55:25 AM : 007.0%
2/6/2021 6:55:27 AM : 008.0%
2/6/2021 6:55:29 AM : 009.0%
2/6/2021 6:55:31 AM : 010.0%
2/6/2021 6:55:33 AM : 011.0%
2/6/2021 6:55:35 AM : 012.0%
2/6/2021 6:55:37 AM : 013.0%
2/6/2021 6:55:38 AM : 014.0%
2/6/2021 6:55:40 AM : 015.0%
2/6/2021 6:55:42 AM : 016.0%
2/6/2021 6:55:44 AM : 017.0%
2/6/2021 6:55:46 AM : 018.0%
2/6/2021 6:55:48 AM : 019.0%
2/6/2021 6:55:50 AM : 020.0%
2/6/2021 6:55:52 AM : 021.0%
2/6/2021 6:55:54 AM : 022.0%
2/6/2021 6:55:56 AM : 023.0%
2/6/2021 6:55:58 AM : 024.0%
2/6/2021 6:56:00 AM : 025.0%
2/6/2021 6:56:02 AM : 026.0%
2/6/2021 6:56:04 AM : 027.0%
2/6/2021 6:56:06 AM : 028.0%
2/6/2021 6:56:08 AM : 029.0%
2/6/2021 6:56:10 AM : 030.0%
2/6/2021 6:56:12 AM : 031.0%
2/6/2021 6:56:14 AM : 032.0%
2/6/2021 6:56:15 AM : 033.0%
2/6/2021 6:56:17 AM : 034.0%
2/6/2021 6:56:19 AM : 035.0%
2/6/2021 6:56:21 AM : 036.0%
2/6/2021 6:56:23 AM : 037.0%
2/6/2021 6:56:25 AM : 038.0%
2/6/2021 6:56:27 AM : 039.0%
2/6/2021 6:56:29 AM : 040.0%
2/6/2021 6:56:31 AM : 041.0%
2/6/2021 6:56:33 AM : 042.0%
2/6/2021 6:56:35 AM : 043.0%
2/6/2021 6:56:37 AM : 044.0%
2/6/2021 6:56:39 AM : 045.0%
2/6/2021 6:56:41 AM : 046.0%
2/6/2021 6:56:43 AM : 047.0%
2/6/2021 6:56:45 AM : 048.0%
2/6/2021 6:56:47 AM : 049.0%
2/6/2021 6:56:49 AM : 050.0%
2/6/2021 6:56:51 AM : 051.0%
2/6/2021 6:56:53 AM : 052.0%
2/6/2021 6:56:55 AM : 053.0%
2/6/2021 6:56:57 AM : 054.0%
2/6/2021 6:56:58 AM : 055.0%
2/6/2021 6:57:00 AM : 056.0%
2/6/2021 6:57:02 AM : 057.0%
2/6/2021 6:57:04 AM : 058.0%
2/6/2021 6:57:06 AM : 059.0%
2/6/2021 6:57:08 AM : 060.0%
2/6/2021 6:57:10 AM : 061.0%
2/6/2021 6:57:12 AM : 062.0%
2/6/2021 6:57:14 AM : 063.0%
2/6/2021 6:57:16 AM : 064.0%
2/6/2021 6:57:18 AM : 065.0%
2/6/2021 6:57:20 AM : 066.0%
2/6/2021 6:57:22 AM : 067.0%
2/6/2021 6:57:24 AM : 068.0%
2/6/2021 6:57:26 AM : 069.0%
2/6/2021 6:57:28 AM : 070.0%
2/6/2021 6:57:30 AM : 071.0%
2/6/2021 6:57:32 AM : 072.0%
2/6/2021 6:57:34 AM : 073.0%
2/6/2021 6:57:36 AM : 074.0%
2/6/2021 6:57:38 AM : 075.0%
2/6/2021 6:57:40 AM : 076.0%
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=D:\h\w\B7BF09C3\p
> D:\h\w\B7BF09C3\w\A7430944\e\Regressions\coreclr\Gi

Stack trace
   at Regressions_coreclr._GitHub_45929_test45929_test45929_._GitHub_45929_test45929_test45929_cmd()

@VincentBu
Copy link
Contributor Author

Failed again in runtime-coreclr r2r 20210223.1

Failed test:

R2R windows arm Checked @ Windows.10.Arm64v8.Open

 -Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd

Error message:


Assert failure(PID 12788 [0x000031f4], Thread: 13768 [0x35c8]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")

<no module>! <no symbol> + 0x0 (0x00000000)
 File: D:\workspace\_work\1\s\src\coreclr\vm\object.cpp Line: 593
 Image: D:\h\w\B1FF098B\p\CoreRun.exe


Return code: 1
Raw output file: D:\h\w\B1FF098B\w\AC1B0927\e\Regressions\coreclr\Reports\Regressions.coreclr\GitHub_45929\test45929\test45929.output.txt
Raw output:
BEGIN EXECUTION
 1 file(s) copied.
" "D:\h\w\B1FF098B\p\crossgen.exe" /Platform_Assemblies_Paths D:\h\w\B1FF098B\p;D:\h\w\B1FF098B\w\AC1B0927\e\Regressions\coreclr\GitHub_45929\test45929 /in D:\h\w\B1FF098B\w\AC1B0927\e\Regressions\coreclr\GitHub_45929\test45929\test45929.org /out D:\h\w\B1FF098B\w\AC1B0927\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll"
Microsoft (R) CoreCLR Native Image Generator - Version 6.0.0-ci
Copyright (c) Microsoft Corporation. All rights reserved.

Native image D:\h\w\B1FF098B\w\AC1B0927\e\Regressions\coreclr\GitHub_45929\test45929\\test45929.dll generated successfully.
 "D:\h\w\B1FF098B\p\corerun.exe" test45929.dll 
The test started.
Progress:
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=D:\h\w\B1FF098B\p
> D:\h\w\B1FF098B\w\AC1B0927\e\Regressions\coreclr\GitHub_45929\test45929\test45929.cmd
Expected: True
Actual: False

Stack trace
   at Regressions_coreclr._GitHub_45929_test45929_test45929_._GitHub_45929_test45929_test45929_cmd()


@BruceForstall
Copy link
Member

Related: #47697

@mangod9
Copy link
Member

mangod9 commented Jul 26, 2021

I havent seen this fail in r2r runs for the past month.

@mangod9 mangod9 closed this as completed Jul 26, 2021
@kunalspathak kunalspathak reopened this Aug 5, 2021
@VincentBu
Copy link
Contributor Author

Failed again in: runtime-coreclr r2r-extra 20210807.1

Failed test:

R2R windows x86 Checked gcstress0xf @ Windows.10.Amd64.Open
- Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd

R2R windows arm64 Checked gcstress0xf @ Windows.10.Arm64v8.Open
- Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd

R2R windows x64 Checked gcstress0xf @ Windows.10.Amd64.Open
- Regressions\\coreclr\\GitHub_45929\\test45929\\test45929.cmd


One of error message:

Could Not Find C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\IL-CG2\composite-r2r.dll
Could Not Find C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.dll.rsp

cmdLine:C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.cmd Timed Out (timeout in milliseconds: 5400000 from variable __TestTimeout, start: 8/8/2021 6:15:43 AM, end: 8/8/2021 7:45:44 AM)

Return code:      -100
Raw output file:      C:\h\w\A03B08BB\w\B6F309B3\uploads\Reports\Regressions.coreclr\GitHub_45929\test45929\test45929.output.txt
Raw output:
BEGIN EXECUTION
test45929.dll
1 file(s) copied.
Response file: C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.dll.rsp
C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\IL-CG2\test45929.dll
-o:C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.dll
--targetarch:x86
--verify-type-and-field-layout
-r:C:\h\w\A03B08BB\p\System..dll
-r:C:\h\w\A03B08BB\p\Microsoft..dll
-r:C:\h\w\A03B08BB\p\mscorlib.dll
-r:C:\h\w\A03B08BB\p\netstandard.dll
-O
" "dotnet" "C:\h\w\A03B08BB\p\crossgen2\crossgen2.dll" @"C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.dll.rsp"   -r:C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\IL-CG2*.dll"
Emitting R2R PE file: C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.dll
"C:\h\w\A03B08BB\p\corerun.exe"  test45929.dll
The test started.
Progress:
8/8/2021 6:18:02 AM : 001.0%
8/8/2021 6:19:56 AM : 002.0%
8/8/2021 6:21:52 AM : 003.0%
8/8/2021 6:23:47 AM : 004.0%
8/8/2021 6:25:41 AM : 005.0%
8/8/2021 6:27:35 AM : 006.0%
8/8/2021 6:29:28 AM : 007.0%
8/8/2021 6:31:19 AM : 008.0%
8/8/2021 6:33:11 AM : 009.0%
8/8/2021 6:35:04 AM : 010.0%
8/8/2021 6:36:57 AM : 011.0%
8/8/2021 6:38:50 AM : 012.0%
8/8/2021 6:40:43 AM : 013.0%
8/8/2021 6:42:36 AM : 014.0%
8/8/2021 6:44:29 AM : 015.0%
8/8/2021 6:46:22 AM : 016.0%
8/8/2021 6:48:15 AM : 017.0%
8/8/2021 6:50:07 AM : 018.0%
8/8/2021 6:52:01 AM : 019.0%
8/8/2021 6:53:54 AM : 020.0%
8/8/2021 6:55:47 AM : 021.0%
8/8/2021 6:57:39 AM : 022.0%
8/8/2021 6:59:32 AM : 023.0%
8/8/2021 7:01:25 AM : 024.0%
8/8/2021 7:03:18 AM : 025.0%
8/8/2021 7:05:11 AM : 026.0%
8/8/2021 7:07:04 AM : 027.0%
8/8/2021 7:08:57 AM : 028.0%
8/8/2021 7:10:50 AM : 029.0%
8/8/2021 7:12:43 AM : 030.0%
8/8/2021 7:14:36 AM : 031.0%
8/8/2021 7:16:30 AM : 032.0%
8/8/2021 7:18:23 AM : 033.0%
8/8/2021 7:20:17 AM : 034.0%
8/8/2021 7:22:10 AM : 035.0%
8/8/2021 7:24:03 AM : 036.0%
8/8/2021 7:25:56 AM : 037.0%
8/8/2021 7:27:49 AM : 038.0%
8/8/2021 7:29:42 AM : 039.0%
8/8/2021 7:31:36 AM : 040.0%
8/8/2021 7:33:29 AM : 041.0%
8/8/2021 7:35:23 AM : 042.0%
8/8/2021 7:37:16 AM : 043.0%
8/8/2021 7:39:10 AM : 044.0%
8/8/2021 7:41:04 AM : 045.0%
8/8/2021 7:42:56 AM : 046.0%
8/8/2021 7:44:49 AM : 047.0%

cmdLine:C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.cmd Timed Out (timeout in milliseconds: 5400000 from variable __TestTimeout, start: 8/8/2021 6:15:43 AM, end: 8/8/2021 7:45:44 AM)
Test Harness Exitcode is : -100
To run the test:

set CORE_ROOT=C:\h\w\A03B08BB\p
C:\h\w\A03B08BB\w\B6F309B3\e\Regressions\coreclr\GitHub_45929\test45929\test45929.cmd
Expected: True
Actual:   False


Stack trace
   at Regressions_coreclr._GitHub_45929_test45929_test45929_._GitHub_45929_test45929_test45929_cmd() in Regressions.coreclr.XUnitWrapper.dll:token 0x600006a+0x284

@davidwrighton
Copy link
Member

@jakobbotsch @AndyAyersMS Looking at the crash dump it appears that the thread is quite close to a tail call frame. Are we aware of any gcstress issues with tail call? I haven't been able to reproduce this error on my local hardware on Windows so I'm having quite a bit of difficulty getting sos to tell me what actual managed functions are on the stack, but the presence a pointer to g_sentinelTailCallFrame and the code was recently in TailCallTls::AllocArgBuffer (although it isn't there anymore)

@AndyAyersMS
Copy link
Member

I'm not aware of anything. There are only a handful of open GC stress issues.

@davidwrighton
Copy link
Member

Hmm, well, I was only able to isolate the dump I looked at to determine that it had replaced the top of the stack program counter with an object reference, but I couldn't identify any further details. However, I couldn't identify any pathway for that to happen.

@jakobbotsch
Copy link
Member

Are the failing legs running with tailcall stress? Otherwise it's probably not tailcall related since there are no tail. prefixes in the test and we don't do opportunistic tailcalls on ARM32.

davidwrighton added a commit to davidwrighton/runtime that referenced this issue Aug 18, 2021
- The watson codebase manipulates the state of the following fields on Exception in a lock-free manner without locks if there are multiple threads throwing the same exception
  - _stackTrace
  - _stackTraceString
  - _remoteStackTraceString
  - _watsonBuckets
  - _ipForWatsonBuckets
- The designed behavior is that these apis should "mostly" be correct, but as they are only used for fatal shutdown scenarios, exact correctness is not required for correct program execution
- However, there are some race conditions that have been seen recently in testing
  1. In some circumstances, the value will be explicitly read from multiple times, where the first read is to check for NULL, and then a second read is to read the actual value and use it in some way. In the presence of a race which sets the value to NULL, the runtime can crash. To fix this, the code is refactored in cases which could lead to crashes with a single read, and carrying around the read value to where it needs to go.
  2. Since the C++ memory model generally allows a single read written in C++ to be converted into multiple reads if the compiler can prove that the read does not cross a lock/memory barrier, it is possible for the C++ compiler to inject multiple reads where the logic naturally only has 1. The fix for this is to utlilize the VolatileLoadWithoutBarrier api to specify that a read should happen once in cases where it might cause a problem.

Finally, the test45929 was tended to fail in GC stress as it would take a very long time to run under GC stress or on some hardware. Adjust it so that it shuts down after about 2.5 minutes.
- Do this instead of disabling running under gcstress as there is evidence that there may have been bugs seen during runs under gcstress.

Fixes dotnet#46803
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Aug 18, 2021
davidwrighton added a commit that referenced this issue Aug 20, 2021
#57684)

* Fix stress issues around multiple threads throwing the same exceptions
- The watson codebase manipulates the state of the following fields on Exception in a lock-free manner without locks if there are multiple threads throwing the same exception
  - _stackTrace
  - _stackTraceString
  - _remoteStackTraceString
  - _watsonBuckets
  - _ipForWatsonBuckets
- The designed behavior is that these apis should "mostly" be correct, but as they are only used for fatal shutdown scenarios, exact correctness is not required for correct program execution
- However, there are some race conditions that have been seen recently in testing
  1. In some circumstances, the value will be explicitly read from multiple times, where the first read is to check for NULL, and then a second read is to read the actual value and use it in some way. In the presence of a race which sets the value to NULL, the runtime can crash. To fix this, the code is refactored in cases which could lead to crashes with a single read, and carrying around the read value to where it needs to go.
  2. Since the C++ memory model generally allows a single read written in C++ to be converted into multiple reads if the compiler can prove that the read does not cross a lock/memory barrier, it is possible for the C++ compiler to inject multiple reads where the logic naturally only has 1. The fix for this is to utlilize the VolatileLoadWithoutBarrier api to specify that a read should happen once in cases where it might cause a problem.

Finally, the test45929 was tended to fail in GC stress as it would take a very long time to run under GC stress or on some hardware. Adjust it so that it shuts down after about 2.5 minutes.
- Do this instead of disabling running under gcstress as there is evidence that there may have been bugs seen during runs under gcstress.

Fixes #46803

* Rename as per suggestion
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Aug 20, 2021
github-actions bot pushed a commit that referenced this issue Aug 23, 2021
…s - The watson codebase manipulates the state of the following fields on Exception in a lock-free manner without locks if there are multiple threads throwing the same exception - _stackTrace - _stackTraceString - _remoteStackTraceString - _watsonBuckets - _ipForWatsonBuckets - The designed behavior is that these apis should "mostly" be correct, but as they are only used for fatal shutdown scenarios, exact correctness is not required for correct program execution - However, there are some race conditions that have been seen recently in testing 1. In some circumstances, the value will be explicitly read from multiple times, where the first read is to check for NULL, and then a second read is to read the actual value and use it in some way. In the presence of a race which sets the value to NULL, the runtime can crash. To fix this, the code is refactored in cases which could lead to crashes with a single read, and carrying around the read value to where it needs to go. 2. Since the C++ memory model generally allows a single read written in C++ to be converted into multiple reads if the compiler can prove that the read does not cross a lock/memory barrier, it is possible for the C++ compiler to inject multiple reads where the logic naturally only has 1. The fix for this is to utlilize the VolatileLoadWithoutBarrier api to specify that a read should happen once in cases where it might cause a problem.

Finally, the test45929 was tended to fail in GC stress as it would take a very long time to run under GC stress or on some hardware. Adjust it so that it shuts down after about 2.5 minutes.
- Do this instead of disabling running under gcstress as there is evidence that there may have been bugs seen during runs under gcstress.

Fixes #46803
jeffschwMSFT pushed a commit that referenced this issue Aug 23, 2021
…same exceptions (#57959)

* Fix stress issues around multiple threads throwing the same exceptions - The watson codebase manipulates the state of the following fields on Exception in a lock-free manner without locks if there are multiple threads throwing the same exception - _stackTrace - _stackTraceString - _remoteStackTraceString - _watsonBuckets - _ipForWatsonBuckets - The designed behavior is that these apis should "mostly" be correct, but as they are only used for fatal shutdown scenarios, exact correctness is not required for correct program execution - However, there are some race conditions that have been seen recently in testing 1. In some circumstances, the value will be explicitly read from multiple times, where the first read is to check for NULL, and then a second read is to read the actual value and use it in some way. In the presence of a race which sets the value to NULL, the runtime can crash. To fix this, the code is refactored in cases which could lead to crashes with a single read, and carrying around the read value to where it needs to go. 2. Since the C++ memory model generally allows a single read written in C++ to be converted into multiple reads if the compiler can prove that the read does not cross a lock/memory barrier, it is possible for the C++ compiler to inject multiple reads where the logic naturally only has 1. The fix for this is to utlilize the VolatileLoadWithoutBarrier api to specify that a read should happen once in cases where it might cause a problem.

Finally, the test45929 was tended to fail in GC stress as it would take a very long time to run under GC stress or on some hardware. Adjust it so that it shuts down after about 2.5 minutes.
- Do this instead of disabling running under gcstress as there is evidence that there may have been bugs seen during runs under gcstress.

Fixes #46803

* Rename as per suggestion

Co-authored-by: David Wrighton <davidwr@microsoft.com>
@ghost ghost locked as resolved and limited conversation to collaborators Sep 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants