[llvm-bugs] [Bug 40627] New: ubsan TestCases/ImplicitConversion tests flaky on Windows

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Feb 6 05:11:19 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=40627

            Bug ID: 40627
           Summary: ubsan TestCases/ImplicitConversion tests flaky on
                    Windows
           Product: compiler-rt
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: ubsan
          Assignee: unassignedbugs at nondot.org
          Reporter: nicolasweber at gmx.de
                CC: llvm-bugs at lists.llvm.org

ubsan tests have started to flakily fail when we build clang/win packages for
Chromium.

I first saw that in
https://chromium-review.googlesource.com/c/chromium/src/+/1412572 , see the
win_upload_clang bot that was red on first try and green on second.

The green run had

  Passes With Retry  : 10

while the red run had

Failing Tests (1):
    UBSan-Standalone-x86_64 ::
TestCases/Pointer/alignment-assumption-attribute-assume_aligned-on-function.cpp

  Passes With Retry  : 7
  Unexpected Failures: 1

(The "passes with retry" is from issue 24554 which has very related-looking
failure stacks.)

But today's attempt had 3 red attempts due to this already
(https://chromium-review.googlesource.com/c/chromium/src/+/1455666), with the
4th attempt pending. They have:


Failing Tests (1):
    UBSan-Standalone-x86_64 ::
TestCases/ImplicitConversion/signed-integer-truncation-blacklist.c

  Passes With Retry  : 8
  Unexpected Failures: 1

(this was during the bootstrap build already; all the other instances mentioned
here failed in stage 2 instead.)

Failing Tests (2):
    UBSan-Standalone-x86_64 ::
TestCases/ImplicitConversion/integer-sign-change-blacklist.c
    UBSan-Standalone-x86_64 ::
TestCases/ImplicitConversion/signed-integer-truncation-or-sign-change-blacklist.c

  Passes With Retry  : 5
  Unexpected Failures: 2


Failing Tests (1):
    UBSan-Standalone-x86_64 ::
TestCases/ImplicitConversion/integer-sign-change-blacklist.c, 

  Passes With Retry  : 4
  Unexpected Failures: 1




For reference, the prior few clang/win rolls that didn't have any issues had

https://chromium-review.googlesource.com/c/chromium/src/+/1450709:
  Passes With Retry  : 5

https://chromium-review.googlesource.com/c/chromium/src/+/1436036
  Passes With Retry  : 8

so the retry numbers aren't very high compared to the previous "good" state.
It's just that we get failures despite retries.





Different tests fail, and some of them haven't been touched in a few months,
e.g. integer-sign-change-blacklist.c, signed-integer-truncation-blacklist.c,
signed-integer-truncation-or-sign-change-blacklist.c

Pointer/alignment-assumption-attribute-assume_aligned-on-function.cpp has been
touched recently-ish, in r351178 two weeks ago.




Here's an error output. I don't think it's very interesting; see the analysis
in issue 24554, I think it applies here too.):

FAIL: UBSan-Standalone-x86_64 ::
TestCases/ImplicitConversion/integer-sign-change-blacklist.c (44322 of 46546)
******************** TEST 'UBSan-Standalone-x86_64 ::
TestCases/ImplicitConversion/integer-sign-change-blacklist.c' FAILED
********************
Script:
--
: 'RUN: at line 6';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change                          
-O0
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
--implicit-check-not="implicit conversion"
: 'RUN: at line 7';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change                          
-O1
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
--implicit-check-not="implicit conversion"
: 'RUN: at line 8';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change                          
-O2
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
--implicit-check-not="implicit conversion"
: 'RUN: at line 9';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change                          
-O3
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
--implicit-check-not="implicit conversion"
: 'RUN: at line 11';   rm -f
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmpmp
: 'RUN: at line 12';   echo "[implicit-integer-sign-change]" >>
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmpmp
: 'RUN: at line 13';   echo "fun:implicitSignChange" >>
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmpmp
: 'RUN: at line 14';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change
-fsanitize-blacklist=C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmpmp
-O0
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | not FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
: 'RUN: at line 15';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change
-fsanitize-blacklist=C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmpmp
-O1
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | not FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
: 'RUN: at line 16';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change
-fsanitize-blacklist=C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmpmp
-O2
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | not FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
: 'RUN: at line 17';     
C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe 
   -fsanitize=implicit-integer-sign-change
-fno-sanitize-recover=implicit-integer-sign-change
-fsanitize-blacklist=C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmpmp
-O3
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
-o
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
&& not 
C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp
2>&1 | not FileCheck
C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c
--
Exit Code: 1104

Command Output (stdout):
--
$ ":" "RUN: at line 6"
$
"C:/b/rr/tmpje3fbv/w/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe"
"-fsanitize=implicit-integer-sign-change"
"-fno-sanitize-recover=implicit-integer-sign-change" "-O0"
"C:\b\rr\tmpje3fbv\w\src\third_party\llvm\projects\compiler-rt\test\ubsan\TestCases\ImplicitConversion\integer-sign-change-blacklist.c"
"-o"
"C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp"
# command output:
LINK : fatal error LNK1104: cannot open file
'C:\b\rr\tmpje3fbv\w\src\third_party\llvm-build\Release+Asserts\projects\compiler-rt\test\ubsan\Standalone-x86_64\TestCases\ImplicitConversion\Output\integer-sign-change-blacklist.c.tmp'

# command stderr:
clang: error: linker command failed with exit code 1104 (use -v to see
invocation)

error: command failed with exit status: 1104

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190206/f4d46303/attachment-0001.html>


More information about the llvm-bugs mailing list