Skip to content

[clang][Interp] Pick right dynamic type when doing virtual calls #101166

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

Merged
merged 1 commit into from
Jul 30, 2024

Conversation

tbaederr
Copy link
Contributor

No description provided.

@tbaederr tbaederr merged commit c39daa6 into llvm:main Jul 30, 2024
5 of 8 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jul 30, 2024

LLVM Buildbot has detected a new failure on builder sanitizer-x86_64-linux running on sanitizer-buildbot2 while building clang at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/66/builds/2308

Here is the relevant piece of the build log for the reference:

Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-Wthread-safety', '-Wthread-safety-reference', '-Wthread-safety-beta', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 5838 tests, 88 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80
FAIL: SanitizerCommon-lsan-x86_64-Linux :: Linux/soft_rss_limit_mb_test.cpp (4899 of 5838)
******************** TEST 'SanitizerCommon-lsan-x86_64-Linux :: Linux/soft_rss_limit_mb_test.cpp' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /b/sanitizer-x86_64-linux/build/build_default/bin/clang  --driver-mode=g++ -gline-tables-only -fsanitize=leak  -m64 -funwind-tables -nobuiltininc -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include -idirafter /b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include -resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build -Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux  -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test -ldl -O2 /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -o /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp
+ /b/sanitizer-x86_64-linux/build/build_default/bin/clang --driver-mode=g++ -gline-tables-only -fsanitize=leak -m64 -funwind-tables -nobuiltininc -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include -idirafter /b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include -resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build -Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test -ldl -O2 /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -o /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp
RUN: at line 5: env LSAN_OPTIONS=soft_rss_limit_mb=220:quarantine_size=1:allocator_may_return_null=1      /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp 2>&1 | FileCheck /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -check-prefix=CHECK_MAY_RETURN_1
+ env LSAN_OPTIONS=soft_rss_limit_mb=220:quarantine_size=1:allocator_may_return_null=1 /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp
+ FileCheck /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -check-prefix=CHECK_MAY_RETURN_1
/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp:68:24: error: CHECK_MAY_RETURN_1: expected string not found in input
// CHECK_MAY_RETURN_1: allocating 512 times
                       ^
<stdin>:52:44: note: scanning from here
Some of the malloc calls returned non-null: 242
                                           ^
<stdin>:52:45: note: possible intended match here
Some of the malloc calls returned non-null: 242
                                            ^

Input file: <stdin>
Check file: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp

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

Input was:
<<<<<<
            .
            .
            .
           47:  [256] 
           48:  [320] 
           49:  [384] 
           50:  [448] 
           51: Some of the malloc calls returned null: 270 
           52: Some of the malloc calls returned non-null: 242 
check:68'0                                                X~~~~ error: no match found
check:68'1                                                 ?    possible intended match
Step 16 (test standalone compiler-rt) failure: test standalone compiler-rt (failure)
...
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-Wthread-safety', '-Wthread-safety-reference', '-Wthread-safety-beta', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/lit.common.cfg.py:60: warning: Path reported by clang does not exist: "/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/x86_64-unknown-linux-gnu". This path was found by running ['/b/sanitizer-x86_64-linux/build/build_default/bin/clang', '--target=x86_64-unknown-linux-gnu', '-m64', '-nobuiltininc', '-I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include', '-idirafter', '/b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include', '-resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build', '-Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux', '-print-runtime-dir'].
llvm-lit: /b/sanitizer-x86_64-linux/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 5838 tests, 88 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80
FAIL: SanitizerCommon-lsan-x86_64-Linux :: Linux/soft_rss_limit_mb_test.cpp (4899 of 5838)
******************** TEST 'SanitizerCommon-lsan-x86_64-Linux :: Linux/soft_rss_limit_mb_test.cpp' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /b/sanitizer-x86_64-linux/build/build_default/bin/clang  --driver-mode=g++ -gline-tables-only -fsanitize=leak  -m64 -funwind-tables -nobuiltininc -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include -idirafter /b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include -resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build -Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux  -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test -ldl -O2 /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -o /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp
+ /b/sanitizer-x86_64-linux/build/build_default/bin/clang --driver-mode=g++ -gline-tables-only -fsanitize=leak -m64 -funwind-tables -nobuiltininc -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/include -idirafter /b/sanitizer-x86_64-linux/build/build_default/lib/clang/20/include -resource-dir=/b/sanitizer-x86_64-linux/build/compiler_rt_build -Wl,-rpath,/b/sanitizer-x86_64-linux/build/compiler_rt_build/lib/linux -I/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test -ldl -O2 /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -o /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp
RUN: at line 5: env LSAN_OPTIONS=soft_rss_limit_mb=220:quarantine_size=1:allocator_may_return_null=1      /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp 2>&1 | FileCheck /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -check-prefix=CHECK_MAY_RETURN_1
+ env LSAN_OPTIONS=soft_rss_limit_mb=220:quarantine_size=1:allocator_may_return_null=1 /b/sanitizer-x86_64-linux/build/compiler_rt_build/test/sanitizer_common/lsan-x86_64-Linux/Linux/Output/soft_rss_limit_mb_test.cpp.tmp
+ FileCheck /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp -check-prefix=CHECK_MAY_RETURN_1
/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp:68:24: error: CHECK_MAY_RETURN_1: expected string not found in input
// CHECK_MAY_RETURN_1: allocating 512 times
                       ^
<stdin>:52:44: note: scanning from here
Some of the malloc calls returned non-null: 242
                                           ^
<stdin>:52:45: note: possible intended match here
Some of the malloc calls returned non-null: 242
                                            ^

Input file: <stdin>
Check file: /b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp

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

Input was:
<<<<<<
            .
            .
            .
           47:  [256] 
           48:  [320] 
           49:  [384] 
           50:  [448] 
           51: Some of the malloc calls returned null: 270 
           52: Some of the malloc calls returned non-null: 242 
check:68'0                                                X~~~~ error: no match found
check:68'1                                                 ?    possible intended match

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

Successfully merging this pull request may close these issues.

2 participants