Skip to content

Conversation

@saethlin
Copy link
Member

I ran into a test failure with the 32-bit windows test on #117192, one of the tests has been incorrectly passing (until my change!) because it is picking up the stack protector from another function. I've tried to prevent that happening again by adding CHECK-DAGs for the start and end of each function.

I've also done my best to correct the comments, some were based on the fact that we used to run these tests with unwinding panics, but LLVM doesn't add protectors to function with SEH funclets so it's must more straightforward for these tests to use -Cpanic=abort.

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 11, 2025
@saethlin
Copy link
Member Author

@bors try jobs=i686-msvc-1,i686-msvc-2,x86_64-msvc-1,x86_64-msvc-2

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 11, 2025
Set -Cpanic=abort in windows-msvc stack protector tests

try-job: i686-msvc-1
try-job: i686-msvc-2
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link

rust-bors bot commented Nov 12, 2025

💔 Test for 2c131d9 failed: CI. Failed jobs:

@saethlin saethlin force-pushed the windows-stack-protectors branch from 41c145e to 57630ae Compare November 12, 2025 00:22
@saethlin
Copy link
Member Author

@bors try jobs=i686-msvc-1,i686-msvc-2,x86_64-msvc-1,x86_64-msvc-2

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 12, 2025
Set -Cpanic=abort in windows-msvc stack protector tests

try-job: i686-msvc-1
try-job: i686-msvc-2
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
@rust-bors
Copy link

rust-bors bot commented Nov 12, 2025

💔 Test for 4f07087 failed: CI. Failed jobs:

@rust-log-analyzer

This comment has been minimized.

@saethlin saethlin force-pushed the windows-stack-protectors branch from 57630ae to 2852654 Compare November 12, 2025 04:42
@saethlin
Copy link
Member Author

@bors try jobs=i686-msvc-1,i686-msvc-2,x86_64-msvc-1,x86_64-msvc-2

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 12, 2025
Set -Cpanic=abort in windows-msvc stack protector tests

try-job: i686-msvc-1
try-job: i686-msvc-2
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-msvc-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

---- [assembly] tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs#basic stdout ----
------FileCheck.exe stdout------------------------------

------FileCheck.exe stderr------------------------------
D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs:18:16: error: CHECK-DAG: expected string not found in input
 // CHECK-DAG: .seh_endprologue
               ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.basic\stack-protector-heuristics-effect-windows-64bit.s:15:9: note: scanning from here
emptyfn:
        ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.basic\stack-protector-heuristics-effect-windows-64bit.s:18:2: note: possible intended match here
 .def array_char;
 ^

Input file: D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.basic\stack-protector-heuristics-effect-windows-64bit.s
Check file: D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1:  .def @feat.00; 
          2:  .scl 3; 
          3:  .type 0; 
          4:  .endef 
          5:  .globl @feat.00 
          6: @feat.00 = 0 
          7:  .file "stack_protector_heuristics_effect_windows_64bit.53394a23e8520359-cgu.0" 
          8:  .def emptyfn; 
          9:  .scl 2; 
         10:  .type 32; 
         11:  .endef 
         12:  .section .text,"xr",one_only,emptyfn,unique,0 
         13:  .globl emptyfn 
         14:  .p2align 4 
         15: emptyfn: 
dag:18'0             X error: no match found
         16:  retq 
dag:18'0     ~~~~~~
         17:  
dag:18'0     ~
         18:  .def array_char; 
dag:18'0     ~~~~~~~~~~~~~~~~
dag:18'1      ?                 possible intended match
         19:  .scl 2; 
         20:  .type 32; 
         21:  .endef 
         22:  .globl __xmm@00000065000000650000006500000065 
         23:  .section .rdata,"dr",discard,__xmm@00000065000000650000006500000065 
         24:  .p2align 4, 0x0 
         25: __xmm@00000065000000650000006500000065: 
         26:  .long 101 
         27:  .long 101 
         28:  .long 101 
         29:  .long 101 
         30:  .section .text,"xr",one_only,array_char,unique,1 
         31:  .globl array_char 
         32:  .p2align 4 
         33: array_char: 
         34: .seh_proc array_char 
         35:  pushq %rsi 
         36:  .seh_pushreg %rsi 
         37:  subq $128, %rsp 
         38:  .seh_stackalloc 128 
         39:  .seh_endprologue 
         40:  movq %rcx, %rsi 
         41:  movq __security_cookie(%rip), %rax 
         42:  xorq %rsp, %rax 
         43:  movq %rax, 120(%rsp) 
         44:  movl $99, 44(%rsp) 
         45:  movabsq $429496729700, %rax 
         46:  movq %rax, 48(%rsp) 
         47:  movl $100, 56(%rsp) 
         48:  movaps __xmm@00000065000000650000006500000065(%rip), %xmm0 
         49:  movups %xmm0, 60(%rsp) 
         50:  movups %xmm0, 76(%rsp) 
         51:  movups %xmm0, 92(%rsp) 
         52:  movabsq $433791696997, %rax 
         53:  movq %rax, 108(%rsp) 
         54:  movl $101, 116(%rsp) 
         55:  leaq 44(%rsp), %rcx 
         56:  callq *%rsi 
         57:  leaq 48(%rsp), %rcx 
         58:  callq *%rsi 
         59:  leaq 60(%rsp), %rcx 
         60:  callq *%rsi 
         61:  movq 120(%rsp), %rax 
         62:  xorq %rsp, %rax 
         63:  movq __security_cookie(%rip), %rcx 
         64:  cmpq %rax, %rcx 
         65:  jne .LBB1_2 
         66:  .seh_startepilogue 
         67:  addq $128, %rsp 
         68:  popq %rsi 
         69:  .seh_endepilogue 
         70:  retq 
         71: .LBB1_2: 
         72:  movq 120(%rsp), %rcx 
         73:  xorq %rsp, %rcx 
         74:  callq __security_check_cookie 
         75:  int3 
         76:  .seh_endproc 
         77:  
         78:  .def array_u8_1; 
         79:  .scl 2; 
         80:  .type 32; 
         81:  .endef 
         82:  .section .text,"xr",one_only,array_u8_1,unique,2 
         83:  .globl array_u8_1 
         84:  .p2align 4 
         85: array_u8_1: 
         86: .seh_proc array_u8_1 
         87:  subq $40, %rsp 
         88:  .seh_stackalloc 40 
         89:  .seh_endprologue 
         90:  movq %rcx, %rax 
         91:  movb $0, 39(%rsp) 
         92:  leaq 39(%rsp), %rcx 
         93:  callq *%rax 
         94:  nop 
         95:  .seh_startepilogue 
         96:  addq $40, %rsp 
         97:  .seh_endepilogue 
         98:  retq 
         99:  .seh_endproc 
        100:  
        101:  .def array_u8_small; 
        102:  .scl 2; 
        103:  .type 32; 
        104:  .endef 
        105:  .section .text,"xr",one_only,array_u8_small,unique,3 
        106:  .globl array_u8_small 
        107:  .p2align 4 
        108: array_u8_small: 
        109: .seh_proc array_u8_small 
        110:  pushq %rsi 
        111:  .seh_pushreg %rsi 
        112:  subq $48, %rsp 
        113:  .seh_stackalloc 48 
        114:  .seh_endprologue 
        115:  movq %rcx, %rsi 
        116:  movw $0, 38(%rsp) 
        117:  movl $0, 43(%rsp) 
        118:  movl $0, 40(%rsp) 
          .
          .
          .
>>>>>>

------------------------------------------

error in revision `basic`: verification with 'FileCheck' failed
status: exit code: 1
command: PATH=";C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64;D:\a\rust\rust\build\x86_64-pc-windows-msvc\bootstrap-tools\x86_64-pc-windows-msvc\release\deps;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\runneradmin\bin;D:\a\rust\rust\ninja;D:\a\rust\rust\sccache;C:\Program Files\MongoDB\Server\7.0\bin;C:\vcpkg;C:\tools\zstd;C:\hostedtoolcache\windows\stack\3.7.1\x64;C:\cabal\bin;C:\ghcup\bin;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\R\R-4.5.2\bin\x64;C:\SeleniumWebDrivers\GeckoDriver;C:\SeleniumWebDrivers\EdgeDriver;C:\SeleniumWebDrivers\ChromeDriver;C:\Program Files (x86)\sbt\bin;C:\Program Files (x86)\GitHub CLI;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.24.9\x64\bin;C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts;C:\hostedtoolcache\windows\Python\3.9.13\x64;C:\hostedtoolcache\windows\Ruby\3.3.10\x64\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\17.0.17-10\x64\bin;C:\Program Files\ImageMagick-7.1.2-Q16-HDRI;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\ProgramData\kind;C:\ProgramData\Chocolatey\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\PowerShell\7;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\150\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files (x86)\WiX Toolset v3.14\bin;C:\Program Files\Microsoft SQL Server\130\DTS\Binn;C:\Program Files\Microsoft SQL Server\140\DTS\Binn;C:\Program Files\Microsoft SQL Server\150\DTS\Binn;C:\Program Files\Microsoft SQL Server\160\DTS\Binn;C:\Program Files\Microsoft SQL Server\170\DTS\Binn;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.11\bin;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\GitHub CLI;C:\tools\php;C:\Program Files (x86)\sbt\bin;C:\Program Files\Amazon\AWSCLIV2;C:\Program Files\Amazon\SessionManagerPlugin\bin;C:\Program Files\Amazon\AWSSAMCLI\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files\mongosh;C:\Program Files\LLVM\bin;C:\Program Files (x86)\LLVM\bin;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\llvm\\build\\bin\\FileCheck.exe" "--input-file" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\test\\assembly-llvm\\stack-protector\\stack-protector-heuristics-effect-windows-64bit.basic\\stack-protector-heuristics-effect-windows-64bit.s" "D:\\a\\rust\\rust\\tests\\assembly-llvm\\stack-protector\\stack-protector-heuristics-effect-windows-64bit.rs" "--check-prefix=CHECK" "--check-prefix" "basic" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs:18:16: error: CHECK-DAG: expected string not found in input
 // CHECK-DAG: .seh_endprologue
               ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.basic\stack-protector-heuristics-effect-windows-64bit.s:15:9: note: scanning from here
emptyfn:
        ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.basic\stack-protector-heuristics-effect-windows-64bit.s:18:2: note: possible intended match here
 .def array_char;
 ^

Input file: D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.basic\stack-protector-heuristics-effect-windows-64bit.s
Check file: D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1:  .def @feat.00; 
          2:  .scl 3; 
          3:  .type 0; 
          4:  .endef 
          5:  .globl @feat.00 
          6: @feat.00 = 0 
          7:  .file "stack_protector_heuristics_effect_windows_64bit.53394a23e8520359-cgu.0" 
          8:  .def emptyfn; 
          9:  .scl 2; 
         10:  .type 32; 
         11:  .endef 
         12:  .section .text,"xr",one_only,emptyfn,unique,0 
         13:  .globl emptyfn 
         14:  .p2align 4 
         15: emptyfn: 
dag:18'0             X error: no match found
         16:  retq 
dag:18'0     ~~~~~~
         17:  
dag:18'0     ~
         18:  .def array_char; 
dag:18'0     ~~~~~~~~~~~~~~~~
dag:18'1      ?                 possible intended match
         19:  .scl 2; 
         20:  .type 32; 
         21:  .endef 
         22:  .globl __xmm@00000065000000650000006500000065 
         23:  .section .rdata,"dr",discard,__xmm@00000065000000650000006500000065 
         24:  .p2align 4, 0x0 
         25: __xmm@00000065000000650000006500000065: 
         26:  .long 101 
         27:  .long 101 
         28:  .long 101 
         29:  .long 101 
         30:  .section .text,"xr",one_only,array_char,unique,1 
         31:  .globl array_char 
         32:  .p2align 4 
         33: array_char: 
         34: .seh_proc array_char 
         35:  pushq %rsi 
         36:  .seh_pushreg %rsi 
         37:  subq $128, %rsp 
         38:  .seh_stackalloc 128 
         39:  .seh_endprologue 
         40:  movq %rcx, %rsi 
         41:  movq __security_cookie(%rip), %rax 
         42:  xorq %rsp, %rax 
         43:  movq %rax, 120(%rsp) 
         44:  movl $99, 44(%rsp) 
         45:  movabsq $429496729700, %rax 
         46:  movq %rax, 48(%rsp) 
         47:  movl $100, 56(%rsp) 
         48:  movaps __xmm@00000065000000650000006500000065(%rip), %xmm0 
         49:  movups %xmm0, 60(%rsp) 
         50:  movups %xmm0, 76(%rsp) 
         51:  movups %xmm0, 92(%rsp) 
         52:  movabsq $433791696997, %rax 
         53:  movq %rax, 108(%rsp) 
         54:  movl $101, 116(%rsp) 
         55:  leaq 44(%rsp), %rcx 
         56:  callq *%rsi 
         57:  leaq 48(%rsp), %rcx 
         58:  callq *%rsi 
         59:  leaq 60(%rsp), %rcx 
         60:  callq *%rsi 
         61:  movq 120(%rsp), %rax 
         62:  xorq %rsp, %rax 
         63:  movq __security_cookie(%rip), %rcx 
         64:  cmpq %rax, %rcx 
         65:  jne .LBB1_2 
         66:  .seh_startepilogue 
         67:  addq $128, %rsp 
         68:  popq %rsi 
         69:  .seh_endepilogue 
         70:  retq 
         71: .LBB1_2: 
         72:  movq 120(%rsp), %rcx 
         73:  xorq %rsp, %rcx 
         74:  callq __security_check_cookie 
         75:  int3 
         76:  .seh_endproc 
         77:  
         78:  .def array_u8_1; 
         79:  .scl 2; 
         80:  .type 32; 
         81:  .endef 
         82:  .section .text,"xr",one_only,array_u8_1,unique,2 
         83:  .globl array_u8_1 
         84:  .p2align 4 
         85: array_u8_1: 
         86: .seh_proc array_u8_1 
         87:  subq $40, %rsp 
         88:  .seh_stackalloc 40 
         89:  .seh_endprologue 
         90:  movq %rcx, %rax 
         91:  movb $0, 39(%rsp) 
         92:  leaq 39(%rsp), %rcx 
         93:  callq *%rax 
         94:  nop 
         95:  .seh_startepilogue 
         96:  addq $40, %rsp 
         97:  .seh_endepilogue 
         98:  retq 
         99:  .seh_endproc 
        100:  
        101:  .def array_u8_small; 
        102:  .scl 2; 
        103:  .type 32; 
        104:  .endef 
        105:  .section .text,"xr",one_only,array_u8_small,unique,3 
        106:  .globl array_u8_small 
        107:  .p2align 4 
        108: array_u8_small: 
        109: .seh_proc array_u8_small 
        110:  pushq %rsi 
        111:  .seh_pushreg %rsi 
        112:  subq $48, %rsp 
        113:  .seh_stackalloc 48 
        114:  .seh_endprologue 
        115:  movq %rcx, %rsi 
        116:  movw $0, 38(%rsp) 
        117:  movl $0, 43(%rsp) 
        118:  movl $0, 40(%rsp) 
          .
          .
          .
>>>>>>
------------------------------------------

---- [assembly] tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs#basic stdout end ----
---- [assembly] tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs#none stdout ----
------FileCheck.exe stdout------------------------------

------FileCheck.exe stderr------------------------------
D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs:18:16: error: CHECK-DAG: expected string not found in input
 // CHECK-DAG: .seh_endprologue
               ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.none\stack-protector-heuristics-effect-windows-64bit.s:15:9: note: scanning from here
emptyfn:
        ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.none\stack-protector-heuristics-effect-windows-64bit.s:18:2: note: possible intended match here
 .def array_char;
 ^

Input file: D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.none\stack-protector-heuristics-effect-windows-64bit.s
Check file: D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1:  .def @feat.00; 
          2:  .scl 3; 
          3:  .type 0; 
          4:  .endef 
          5:  .globl @feat.00 
          6: @feat.00 = 0 
          7:  .file "stack_protector_heuristics_effect_windows_64bit.53394a23e8520359-cgu.0" 
          8:  .def emptyfn; 
          9:  .scl 2; 
         10:  .type 32; 
         11:  .endef 
         12:  .section .text,"xr",one_only,emptyfn,unique,0 
         13:  .globl emptyfn 
         14:  .p2align 4 
         15: emptyfn: 
dag:18'0             X error: no match found
         16:  retq 
dag:18'0     ~~~~~~
         17:  
dag:18'0     ~
         18:  .def array_char; 
dag:18'0     ~~~~~~~~~~~~~~~~
dag:18'1      ?                 possible intended match
         19:  .scl 2; 
         20:  .type 32; 
         21:  .endef 
         22:  .globl __xmm@00000065000000650000006500000065 
         23:  .section .rdata,"dr",discard,__xmm@00000065000000650000006500000065 
         24:  .p2align 4, 0x0 
         25: __xmm@00000065000000650000006500000065: 
         26:  .long 101 
         27:  .long 101 
         28:  .long 101 
         29:  .long 101 
         30:  .section .text,"xr",one_only,array_char,unique,1 
         31:  .globl array_char 
         32:  .p2align 4 
         33: array_char: 
         34: .seh_proc array_char 
         35:  pushq %rsi 
         36:  .seh_pushreg %rsi 
         37:  subq $112, %rsp 
         38:  .seh_stackalloc 112 
         39:  .seh_endprologue 
         40:  movq %rcx, %rsi 
         41:  movl $99, 36(%rsp) 
         42:  movabsq $429496729700, %rax 
         43:  movq %rax, 40(%rsp) 
         44:  movl $100, 48(%rsp) 
         45:  movaps __xmm@00000065000000650000006500000065(%rip), %xmm0 
         46:  movups %xmm0, 52(%rsp) 
         47:  movups %xmm0, 68(%rsp) 
         48:  movups %xmm0, 84(%rsp) 
         49:  movabsq $433791696997, %rax 
         50:  movq %rax, 100(%rsp) 
         51:  movl $101, 108(%rsp) 
         52:  leaq 36(%rsp), %rcx 
         53:  callq *%rsi 
         54:  leaq 40(%rsp), %rcx 
         55:  callq *%rsi 
         56:  leaq 52(%rsp), %rcx 
         57:  callq *%rsi 
         58:  nop 
         59:  .seh_startepilogue 
         60:  addq $112, %rsp 
         61:  popq %rsi 
         62:  .seh_endepilogue 
         63:  retq 
         64:  .seh_endproc 
         65:  
         66:  .def array_u8_1; 
         67:  .scl 2; 
         68:  .type 32; 
         69:  .endef 
         70:  .section .text,"xr",one_only,array_u8_1,unique,2 
         71:  .globl array_u8_1 
         72:  .p2align 4 
         73: array_u8_1: 
         74: .seh_proc array_u8_1 
         75:  subq $40, %rsp 
         76:  .seh_stackalloc 40 
         77:  .seh_endprologue 
         78:  movq %rcx, %rax 
         79:  movb $0, 39(%rsp) 
         80:  leaq 39(%rsp), %rcx 
         81:  callq *%rax 
         82:  nop 
         83:  .seh_startepilogue 
         84:  addq $40, %rsp 
         85:  .seh_endepilogue 
         86:  retq 
         87:  .seh_endproc 
         88:  
         89:  .def array_u8_small; 
         90:  .scl 2; 
         91:  .type 32; 
         92:  .endef 
         93:  .section .text,"xr",one_only,array_u8_small,unique,3 
         94:  .globl array_u8_small 
         95:  .p2align 4 
         96: array_u8_small: 
         97: .seh_proc array_u8_small 
         98:  pushq %rsi 
         99:  .seh_pushreg %rsi 
        100:  subq $48, %rsp 
        101:  .seh_stackalloc 48 
        102:  .seh_endprologue 
        103:  movq %rcx, %rsi 
        104:  movw $0, 38(%rsp) 
        105:  movl $0, 43(%rsp) 
        106:  movl $0, 40(%rsp) 
        107:  leaq 38(%rsp), %rcx 
        108:  callq *%rsi 
        109:  leaq 40(%rsp), %rcx 
        110:  callq *%rsi 
        111:  nop 
        112:  .seh_startepilogue 
        113:  addq $48, %rsp 
        114:  popq %rsi 
        115:  .seh_endepilogue 
        116:  retq 
        117:  .seh_endproc 
        118:  
          .
          .
          .
>>>>>>

------------------------------------------

error in revision `none`: verification with 'FileCheck' failed
status: exit code: 1
command: PATH=";C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64;D:\a\rust\rust\build\x86_64-pc-windows-msvc\bootstrap-tools\x86_64-pc-windows-msvc\release\deps;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\runneradmin\bin;D:\a\rust\rust\ninja;D:\a\rust\rust\sccache;C:\Program Files\MongoDB\Server\7.0\bin;C:\vcpkg;C:\tools\zstd;C:\hostedtoolcache\windows\stack\3.7.1\x64;C:\cabal\bin;C:\ghcup\bin;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\R\R-4.5.2\bin\x64;C:\SeleniumWebDrivers\GeckoDriver;C:\SeleniumWebDrivers\EdgeDriver;C:\SeleniumWebDrivers\ChromeDriver;C:\Program Files (x86)\sbt\bin;C:\Program Files (x86)\GitHub CLI;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.24.9\x64\bin;C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts;C:\hostedtoolcache\windows\Python\3.9.13\x64;C:\hostedtoolcache\windows\Ruby\3.3.10\x64\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\17.0.17-10\x64\bin;C:\Program Files\ImageMagick-7.1.2-Q16-HDRI;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\ProgramData\kind;C:\ProgramData\Chocolatey\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\PowerShell\7;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\150\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files (x86)\WiX Toolset v3.14\bin;C:\Program Files\Microsoft SQL Server\130\DTS\Binn;C:\Program Files\Microsoft SQL Server\140\DTS\Binn;C:\Program Files\Microsoft SQL Server\150\DTS\Binn;C:\Program Files\Microsoft SQL Server\160\DTS\Binn;C:\Program Files\Microsoft SQL Server\170\DTS\Binn;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.11\bin;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\GitHub CLI;C:\tools\php;C:\Program Files (x86)\sbt\bin;C:\Program Files\Amazon\AWSCLIV2;C:\Program Files\Amazon\SessionManagerPlugin\bin;C:\Program Files\Amazon\AWSSAMCLI\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files\mongosh;C:\Program Files\LLVM\bin;C:\Program Files (x86)\LLVM\bin;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\llvm\\build\\bin\\FileCheck.exe" "--input-file" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\test\\assembly-llvm\\stack-protector\\stack-protector-heuristics-effect-windows-64bit.none\\stack-protector-heuristics-effect-windows-64bit.s" "D:\\a\\rust\\rust\\tests\\assembly-llvm\\stack-protector\\stack-protector-heuristics-effect-windows-64bit.rs" "--check-prefix=CHECK" "--check-prefix" "none" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs:18:16: error: CHECK-DAG: expected string not found in input
 // CHECK-DAG: .seh_endprologue
               ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.none\stack-protector-heuristics-effect-windows-64bit.s:15:9: note: scanning from here
emptyfn:
        ^
D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.none\stack-protector-heuristics-effect-windows-64bit.s:18:2: note: possible intended match here
 .def array_char;
 ^

Input file: D:\a\rust\rust\build\x86_64-pc-windows-msvc\test\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.none\stack-protector-heuristics-effect-windows-64bit.s
Check file: D:\a\rust\rust\tests\assembly-llvm\stack-protector\stack-protector-heuristics-effect-windows-64bit.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1:  .def @feat.00; 
          2:  .scl 3; 
          3:  .type 0; 
          4:  .endef 
          5:  .globl @feat.00 
          6: @feat.00 = 0 
          7:  .file "stack_protector_heuristics_effect_windows_64bit.53394a23e8520359-cgu.0" 
          8:  .def emptyfn; 
          9:  .scl 2; 
         10:  .type 32; 
         11:  .endef 
         12:  .section .text,"xr",one_only,emptyfn,unique,0 
         13:  .globl emptyfn 
         14:  .p2align 4 
         15: emptyfn: 
dag:18'0             X error: no match found
         16:  retq 
dag:18'0     ~~~~~~
         17:  
dag:18'0     ~
         18:  .def array_char; 
dag:18'0     ~~~~~~~~~~~~~~~~
dag:18'1      ?                 possible intended match
---

Some tests failed in compiletest suite=assembly-llvm mode=assembly host=x86_64-pc-windows-msvc target=x86_64-pc-windows-msvc
Bootstrap failed while executing `test --stage 2 --skip=compiler --skip=src`
Build completed unsuccessfully in 1:35:16
make: *** [Makefile:112: ci-msvc-py] Error 1
  local time: Wed Nov 12 06:26:01 CUT 2025
  network time: Wed, 12 Nov 2025 06:26:01 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@rust-bors
Copy link

rust-bors bot commented Nov 12, 2025

💔 Test for b651f78 failed: CI. Failed jobs:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants