Skip to content
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

Clang12 ICE #55701

Closed
PeterBindels-TomTom opened this issue May 25, 2022 · 4 comments
Closed

Clang12 ICE #55701

PeterBindels-TomTom opened this issue May 25, 2022 · 4 comments
Labels
c++20 clang:frontend Language frontend issues, e.g. anything involving "Sema" duplicate Resolved as duplicate

Comments

@PeterBindels-TomTom
Copy link

Trying to compile a relatively small TU resulted in this ICE. Have not tried Clang 13/14.

crash.zip - contains script and preprocessed source as requested below.

PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang++-12 -fdiagnostics-color=always -O3 -st

d=c++20 -Wall -Wextra -Wpedantic -Werror -pthread -stdlib=libc++ -c -o build/linux/obj/src/uimain.cpp.o src/uimain.cpp -I./include

  1. src/ui.h:177:47: current parser token ')'
  2. src/ui.h:5:1: parsing namespace 'UI'
  3. src/ui.h:173:1: parsing struct/union/class body 'UI::TextBox'
    #0 0x00007fae66810ae3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xbd9ae3)
    Fixing Rust build #1 0x00007fae6680edf0 llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xbd7df0)
    Fix a typo #2 0x00007fae6675fe76 (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xb28e76)
    Fix a compilation error on gcc8 #3 0x00007fae6e0821f0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x141f0)
    Fix a compilation error on gcc8 #4 0x00007fae6c95ed46 (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1538d46)
    Seedarg/member/wip #5 0x00007fae6c94f5cb (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x15295cb)
    Add check for matching HeaderFilter before emitting Diagnostic #6 0x00007fae6c94f098 clang::Sema::GetTypeForDeclarator(clang::Declarator&, clang::Scope*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1529098)
    Random engine swap #7 0x00007fae6c4c979d clang::Sema::ActOnParamDeclarator(clang::Scope*, clang::Declarator&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x10a379d)
    Update rwlock init #8 0x00007fae6bd83588 clang::Parser::ParseParameterDeclarationClause(clang::DeclaratorContext, clang::ParsedAttributes&, llvm::SmallVectorImplclang::DeclaratorChunk::ParamInfo&, clang::SourceLocation&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x95d588)
    Next80 merge test #9 0x00007fae6bd80f45 clang::Parser::ParseFunctionDeclarator(clang::Declarator&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&, bool, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x95af45)
    Fix typo: 'soruce' -> 'source' #10 0x00007fae6bd7f1a6 clang::Parser::ParseDirectDeclarator(clang::Declarator&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9591a6)
    fix for gcc 8 #11 0x00007fae6bd7d0c3 clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::)(clang::Declarator&)) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9570c3)
    Fix "Allman" style example #12 0x00007fae6bd91770 clang::Parser::ParseCXXMemberDeclaratorBeforeInitializer(clang::Declarator&, clang::VirtSpecifiers&, clang::ActionResult<clang::Expr
    , true>&, clang::Parser::LateParsedAttrList&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x96b770)
    Defer diag #13 0x00007fae6bd930c3 clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x96d0c3)
    WIP lifetime categories #14 0x00007fae6be00d62 clang::Parser::ParseSingleDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9dad62)
    Fix ClangOpenCLBuiltinsImpl target not found #15 0x00007fae6be0044e clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9da44e)
    __unique_stable_name implementation. #16 0x00007fae6bd92646 clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x96c646)
    Lockdown test #17 0x00007fae6bd95ac5 clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&, clang::Parser::ParsedAttributesWithRange&, clang::TypeSpecifierType, clang::Decl*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x96fac5)
    Lockdown test #18 0x00007fae6bd9001d clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int, clang::Decl*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x96a01d)
    Test commit to check lockdown app #19 0x00007fae6bd8d954 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::Parser::ParsedAttributesWithRange&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x967954)
    Construct path using a locale #20 0x00007fae6bd6ed9f clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x948d9f)
    moved upfront the skip branch insertion code for correctness. #21 0x00007fae6be104ba clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9ea4ba)
    Update Applyreplacements.h #22 0x00007fae6be1019c clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9ea19c)
    Fix issue with empty LIB_NAMES #23 0x00007fae6be0f33f clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9e933f)
    Vardhan/issue 123 #24 0x00007fae6bd87a2a clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x961a2a)
    Add bugprone-argument-comment option: IgnoreSingleArgument. #25 0x00007fae6bd875df clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9615df)
    Cherry-picked from commit 628e418df1a009e0d073545cbef3604350e7b808 #26 0x00007fae6bd6e57c clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&, clang::SourceLocation*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x94857c)
    Templateissue #27 0x00007fae6be0eb0c clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9e8b0c)
    Dfa #28 0x00007fae6be0db2f clang::Parser::ParseTopLevelDecl(clang::OpaquePtrclang::DeclGroupRef&, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x9e7b2f)
    LLVM_COMPLETE_INSTALLATION #29 0x00007fae6bd5ec0d clang::ParseAST(clang::Sema&, bool, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x938c0d)
    Vis debug #30 0x00007fae6d2f7d48 clang::FrontendAction::Execute() (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1ed1d48)
    [analyzer][NFC][docs] Add CodeChecker to the command line tools #31 0x00007fae6d2857d1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1e5f7d1)
    Update README.md #32 0x00007fae6d35ad62 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1f34d62)
    Change the tblgen install template to allow mlir-tblgen to install. #33 0x00000000004127e2 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-12/bin/clang+0x4127e2)
    Test issue #34 0x0000000000410b5e (/usr/lib/llvm-12/bin/clang+0x410b5e)
    Test issue #2 #35 0x00007fae6cfa16c2 (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1b7b6c2)
    Feature/compiler extension #36 0x00007fae6675fc4d llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xb28c4d)
    Broken links in Kaleidoscope tutorial #37 0x00007fae6cfa0eb9 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optionalllvm::StringRef >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool) const (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1b7aeb9)
    llvm 9.0.0 - release pages on github? #38 0x00007fae6cf7646f clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1b5046f)
    building debian packages from source fails on master #39 0x00007fae6cf76827 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1b50827)
    Use kevent queue for waiting for file unlocking #40 0x00007fae6cf8b20c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/lib/x86_64-linux-gnu/libclang-cpp.so.12+0x1b6520c)
    typo in clang static analyzer GenericTaintChecker.cpp #41 0x0000000000410434 main (/usr/lib/llvm-12/bin/clang+0x410434)
    Stack clash - mir attempt #42 0x00007fae656ef565 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28565)
    #22 #43 0x000000000040dd1e _start (/usr/lib/llvm-12/bin/clang+0x40dd1e)
    clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
    Ubuntu clang version 12.0.0-3ubuntu1~21.04.2
    Target: x86_64-pc-linux-gnu
    Thread model: posix
    InstalledDir: /usr/bin
    clang: note: diagnostic msg:

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/uimain-33df01.cpp
clang: note: diagnostic msg: /tmp/uimain-33df01.sh
clang: note: diagnostic msg:


@DimitryAndric DimitryAndric added duplicate Resolved as duplicate c++20 clang:frontend Language frontend issues, e.g. anything involving "Sema" labels May 25, 2022
@DimitryAndric
Copy link
Collaborator

Likely a duplicate of #47937 (aka https://bugs.llvm.org/show_bug.cgi?id=48593), which was fixed in d4a8c73.

Since the release/12.x branch is no longer maintained, you'll have to ask the provider of your clang 12 package to apply that patch manually, or use a more recent version of clang.

@DimitryAndric DimitryAndric closed this as not planned Won't fix, can't repro, duplicate, stale May 25, 2022
@llvmbot
Copy link
Member

llvmbot commented May 25, 2022

@llvm/issue-subscribers-clang-frontend

@llvmbot
Copy link
Member

llvmbot commented May 25, 2022

@llvm/issue-subscribers-c-20

@PeterBindels-TomTom
Copy link
Author

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++20 clang:frontend Language frontend issues, e.g. anything involving "Sema" duplicate Resolved as duplicate
Projects
None yet
Development

No branches or pull requests

4 participants