| Issue |
164803
|
| Summary |
AddressSanitizer CHECK failed with RISC-V program
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
cardigan1008
|
I compiled this program with asan on:
```c
#include <stdio.h>
#include <riscv_vector.h>
#include <stddef.h>
#include <stdint.h>
int lego(size_t n) {
size_t vl = __riscv_vsetvl_e8m1(n);
__rvv_bool2_t mask = __riscv_vmset_m_b2(vl);
size_t count = __riscv_vcpop_m_b2(mask, vl);
return count;
}
int main() {
long long ret = lego(50);
printf("ret=%lld\n", ret);
return 0;
}
```
Compile command:
```sh
clang --target=riscv64-unknown-linux-gnu -march=rv64gcv -mabi=lp64d -menable-experiment
al-extensions -I/data/yunboni/utils/compilers/llvm_latest_rvv/lib/clang/22/include/riscv_vector.h -fsanitize=address test.c
```
Then run it:
```sh
qemu-riscv64 -L /usr/riscv64-linux-gnu ./a.out
```
It got errors:
```sh
AddressSanitizer: CHECK failed: asan_globals.cpp:276 "((AddrIsInMem(g->beg))) != (0)" (0x0, 0x0) (tid=3675936)
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3675936==ERROR: AddressSanitizer: SEGV on unknown address 0x355556b83828 (pc 0x55555559d102 bp 0x2aaaab2a7a70 sp 0x2aaaab2a7210 T0)
==3675936==The signal is caused by a READ memory access.
<empty stack>
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV
==3675936==ABORTING
```
My clang version:
```sh
clang version 22.0.0git (https://github.com/llvm/llvm-project.git 3defab36b73d60e616f5d6fe0e88e435c3dfc0dc)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /data/yunboni/utils/compilers/llvm_latest_rvv/bin
Build config: +assertions
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/13
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/13
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
```
qemu version:
```sh
qemu-riscv64 version 8.2.2 (Debian 1:8.2.2+ds-0ubuntu1.10)
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs