Closed
Description
Environment: WSL2 with Ubuntu 23.04 @ Windows 10 Pro 21H2
Clang++ Version:
nyyakko@DESKTOP-7N72PNH:/mnt/c/Users/nyako/Git/clangy$ clang++ --version
Ubuntu clang version 18.0.0 (++20240119042255+5f41cef58f72-1~exp1~20240119162419.571)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Clang-Tidy Version:
nyyakko@DESKTOP-7N72PNH:/mnt/c/Users/nyako/Git/clangy$ clang-tidy --version
Ubuntu LLVM version 18.0.0
Optimized build.
Snippet to reproduce the crash:
struct S
{
constexpr auto operator==(this auto, S)
{
return true;
}
};
int main()
{
return S {} == S {};
}
Backtrace:
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /usr/bin/clang-tidy --extra-arg=-Wno-unknown-warning-option --extra-arg=-Wno-ignored-optimization-argument --extra-arg=-Wno-unused-command-line-a
rgument -warnings-as-errors=* --use-color --p --extra-arg-before=--driver-mode=g++ /mnt/c/Users/nyako/Git/clangy/clangy/source/main.cpp -- /usr/bin/c++ -I/mnt/c/Users/nyako
/Git/clangy/clangy/include -I/mnt/c/Users/nyako/Git/clangy/clangy/include/clangy -g -std=gnu++23 -Werror -Wall -Wextra -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-a
lign -Wunused -Woverloaded-virtual -Wpedantic -Wconversion -Wsign-conversion -Wnull-dereference -Wdouble-promotion -Wimplicit-fallthrough -MD -MT clangy/CMakeFiles/clangy.d
ir/source/main.cpp.o -MF clangy/CMakeFiles/clangy.dir/source/main.cpp.o.d -o clangy/CMakeFiles/clangy.dir/source/main.cpp.o -c /mnt/c/Users/nyako/Git/clangy/clangy/source/m
ain.cpp
1. <eof> parser at end of file
2. While analyzing stack:
#0 Calling main()
3. /mnt/c/Users/nyako/Git/clangy/clangy/source/main.cpp:11:12: Error evaluating statement
4. /mnt/c/Users/nyako/Git/clangy/clangy/source/main.cpp:11:12: Error evaluating statement
#0 0x00007f12fc7bbc36 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-18/bin/../lib/libLLVM-18.so.1+0xd85c36)
#1 0x00007f12fc7b9c60 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-18/bin/../lib/libLLVM-18.so.1+0xd83c60)
#2 0x00007f12fc7bc2fb (/usr/lib/llvm-18/bin/../lib/libLLVM-18.so.1+0xd862fb)
#3 0x00007f12fb4e5460 (/lib/x86_64-linux-gnu/libc.so.6+0x3c460)
#4 0x00007f1305c925ca clang::ento::ParamVarRegion::getDecl() const (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2ca15ca)
#5 0x00007f1305c92547 clang::ento::ParamVarRegion::getValueType() const (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2ca1547)
#6 0x00007f1305ccbb21 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2cdab21)
#7 0x00007f1305cc6ea0 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2cd5ea0)
#8 0x00007f1305ca2d97 clang::ento::ProgramState::getSVal(clang::ento::Loc, clang::QualType) const (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2cb1d97)
#9 0x00007f1305c7ce26 clang::ento::ExprEngine::bindReturnValue(clang::ento::CallEvent const&, clang::LocationContext const*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramS
tate const>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2c8be26)
#10 0x00007f1305c73b58 clang::ento::ExprEngine::performTrivialCopy(clang::ento::NodeBuilder&, clang::ento::ExplodedNode*, clang::ento::CallEvent const&) (/usr/lib/llvm-18/b
in/../lib/libclang-cpp.so.18+0x2c82b58)
#11 0x00007f1305c76312 clang::ento::ExprEngine::handleConstructor(clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) (/usr/lib/llvm-18/bin/../li
b/libclang-cpp.so.18+0x2c85312)
#12 0x00007f1305c5a2de clang::ento::ExprEngine::Visit(clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) (/usr/lib/llvm-18/bin/../lib/libclang-c
pp.so.18+0x2c692de)
#13 0x00007f1305c57bb3 clang::ento::ExprEngine::ProcessStmt(clang::Stmt const*, clang::ento::ExplodedNode*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2c66bb3)
#14 0x00007f1305c578df clang::ento::ExprEngine::processCFGElement(clang::CFGElement, clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*) (/usr/lib/l
lvm-18/bin/../lib/libclang-cpp.so.18+0x2c668df)
#15 0x00007f1305c3e9b7 clang::ento::CoreEngine::dispatchWorkItem(clang::ento::ExplodedNode*, clang::ProgramPoint, clang::ento::WorkListUnit const&) (/usr/lib/llvm-18/bin/..
/lib/libclang-cpp.so.18+0x2c4d9b7)
#16 0x00007f1305c3e521 clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) (/us
r/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2c4d521)
#17 0x00007f130605f5c5 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x306e5c5)
#18 0x00007f130603f634 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x304e634)
#19 0x00007f13059d2bac clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x29e1bac)
#20 0x00007f1303b71496 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xb80496)
#21 0x00007f1305996b05 clang::FrontendAction::Execute() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x29a5b05)
#22 0x00007f130590dc74 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x291cc74)
#23 0x00007f1305b85aa1 clang::tooling::FrontendActionFactory::runInvocation(std::shared_ptr<clang::CompilerInvocation>, clang::FileManager*, std::shared_ptr<clang::PCHConta
inerOperations>, clang::DiagnosticConsumer*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2b94aa1)
#24 0x0000556863258601 (/usr/bin/clang-tidy+0x1356601)
#25 0x00007f1305b8581f clang::tooling::ToolInvocation::runInvocation(char const*, clang::driver::Compilation*, std::shared_ptr<clang::CompilerInvocation>, std::shared_ptr<c
lang::PCHContainerOperations>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2b9481f)
#26 0x00007f1305b846b4 clang::tooling::ToolInvocation::run() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2b936b4)
#27 0x00007f1305b876e5 clang::tooling::ClangTool::run(clang::tooling::ToolAction*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2b966e5)
#28 0x0000556863254797 clang::tidy::runClangTidy(clang::tidy::ClangTidyContext&, clang::tooling::CompilationDatabase const&, llvm::ArrayRef<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char>>>, llvm::IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem>, bool, bool, llvm::StringRef) (/usr/bin/clang-tidy+0x1352797)
#29 0x00005568625fae3f clang::tidy::clangTidyMain(int, char const**) (/usr/bin/clang-tidy+0x6f8e3f)
#30 0x00007f12fb4cca90 (/lib/x86_64-linux-gnu/libc.so.6+0x23a90)
#31 0x00007f12fb4ccb49 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23b49)
#32 0x00005568625f6205 _start (/usr/bin/clang-tidy+0x6f4205)
Segmentation fault