Skip to content

Assertion fail durring bounds widening  #1153

Closed
@john-h-kastner

Description

@john-h-kastner
char *realpath(const char *__name, char *__resolved);
void vsf_sysutil_realpath(void) {
  _Nt_array_ptr<char> b = 0;
  _Nt_array_ptr<char> a = 0;
  a = (_Nt_array_ptr<char>) realpath(b, 0);
}
Unknown builtin type!
UNREACHABLE executed at /home/cc/checkedc-clang/clang/lib/AST/ASTContext.cpp:1977!
PLEASE submit a bug report to https://github.com/Microsoft/checkedc-clang/issues and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -c test.c
1.	<eof> parser at end of file
2.	test.c:2:33: parsing function body 'vsf_sysutil_realpath'
 #0 0x0000557e565b3512 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/cc/checkedc-clang/llvm/build/../lib/Support/Unix/Signals.inc:565:22
 #1 0x0000557e565b35cd PrintStackTraceSignalHandler(void*) /home/cc/checkedc-clang/llvm/build/../lib/Support/Unix/Signals.inc:632:1
 #2 0x0000557e565b1243 llvm::sys::RunSignalHandlers() /home/cc/checkedc-clang/llvm/build/../lib/Support/Signals.cpp:71:20
 #3 0x0000557e565b2d33 llvm::sys::CleanupOnSignal(unsigned long) /home/cc/checkedc-clang/llvm/build/../lib/Support/Unix/Signals.inc:361:31
 #4 0x0000557e564d3f16 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /home/cc/checkedc-clang/llvm/build/../lib/Support/CrashRecoveryContext.cpp:75:5
 #5 0x0000557e564d444f CrashRecoverySignalHandler(int) /home/cc/checkedc-clang/llvm/build/../lib/Support/CrashRecoveryContext.cpp:389:1
 #6 0x00007f8423eaf420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x15420)
 #7 0x00007f842394e18b raise /build/glibc-YbNSs7/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #8 0x00007f842392d859 abort /build/glibc-YbNSs7/glibc-2.31/stdlib/abort.c:81:7
 #9 0x0000557e564dc73b bindingsErrorHandler(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) /home/cc/checkedc-clang/llvm/build/../lib/Support/ErrorHandling.cpp:222:55
#10 0x0000557e5b734144 clang::ASTContext::getTypeInfoImpl(clang::Type const*) const /home/cc/checkedc-clang/clang/lib/AST/ASTContext.cpp:1980:13
#11 0x0000557e5b733a3b clang::ASTContext::getTypeInfo(clang::Type const*) const /home/cc/checkedc-clang/clang/lib/AST/ASTContext.cpp:1883:34
#12 0x0000557e569a7640 clang::ASTContext::getTypeInfo(clang::QualType) const /home/cc/checkedc-clang/clang/include/clang/AST/ASTContext.h:2174:80
#13 0x0000557e569a7669 clang::ASTContext::getTypeSize(clang::QualType) const /home/cc/checkedc-clang/clang/include/clang/AST/ASTContext.h:2180:73
#14 0x0000557e5bb89fd1 clang::InverseUtil::IsCastExprInvertible(clang::Sema&, clang::Expr*, clang::CastExpr*) /home/cc/checkedc-clang/clang/lib/AST/ExprUtils.cpp:593:41
#15 0x0000557e5bb89ac2 clang::InverseUtil::IsInvertible(clang::Sema&, clang::Expr*, clang::Expr*) /home/cc/checkedc-clang/clang/lib/AST/ExprUtils.cpp:488:63
#16 0x0000557e5a32c074 clang::BoundsWideningAnalysis::CheckStmtInvertibility(clang::BoundsWideningAnalysis::ElevatedCFGBlock*, clang::Stmt const*, llvm::SmallPtrSet<clang::VarDecl const*, 2u>) const /home/cc/checkedc-clang/clang/lib/Sema/BoundsWideningAnalysis.cpp:896:3
#17 0x0000557e5a32bdb6 clang::BoundsWideningAnalysis::GetVarsAndBoundsForModifiedVars(clang::BoundsWideningAnalysis::ElevatedCFGBlock*, clang::Stmt const*, llvm::DenseMap<clang::VarDecl const*, clang::RangeBoundsExpr*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::detail::DenseMapPair<clang::VarDecl const*, clang::RangeBoundsExpr*> >&) /home/cc/checkedc-clang/clang/lib/Sema/BoundsWideningAnalysis.cpp:825:25
#18 0x0000557e5a32a21b clang::BoundsWideningAnalysis::ComputeStmtGenKillSets(clang::BoundsWideningAnalysis::ElevatedCFGBlock*, clang::Stmt const*, llvm::SmallPtrSet<clang::Stmt const*, 16u>) /home/cc/checkedc-clang/clang/lib/Sema/BoundsWideningAnalysis.cpp:298:22
#19 0x0000557e5a329da6 clang::BoundsWideningAnalysis::ComputeGenKillSets(clang::BoundsWideningAnalysis::ElevatedCFGBlock*, llvm::SmallPtrSet<clang::Stmt const*, 16u>) /home/cc/checkedc-clang/clang/lib/Sema/BoundsWideningAnalysis.cpp:202:27
#20 0x0000557e5a3294c9 clang::BoundsWideningAnalysis::WidenBounds(clang::FunctionDecl*, llvm::SmallPtrSet<clang::Stmt const*, 16u>) /home/cc/checkedc-clang/clang/lib/Sema/BoundsWideningAnalysis.cpp:48:23
#21 0x0000557e59fb0194 (anonymous namespace)::CheckBoundsDeclarations::TraverseCFG(clang::AvailableFactsAnalysis&, clang::FunctionDecl*) /home/cc/checkedc-clang/clang/lib/Sema/SemaBounds.cpp:2797:40
#22 0x0000557e59fbc260 clang::Sema::CheckFunctionBodyBoundsDecls(clang::FunctionDecl*, clang::Stmt*) /home/cc/checkedc-clang/clang/lib/Sema/SemaBounds.cpp:6139:54
#23 0x0000557e5a72e1e8 clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*, bool) /home/cc/checkedc-clang/clang/lib/Sema/SemaDecl.cpp:15636:9
#24 0x0000557e5a72d95b clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*) /home/cc/checkedc-clang/clang/lib/Sema/SemaDecl.cpp:15568:1
#25 0x0000557e59c05265 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&, clang::CheckedScopeSpecifier) /home/cc/checkedc-clang/clang/lib/Parse/ParseStmt.cpp:2354:41
#26 0x0000557e59b59f1d clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) /home/cc/checkedc-clang/clang/lib/Parse/Parser.cpp:1435:36
#27 0x0000557e59b7276a clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*) /home/cc/checkedc-clang/clang/lib/Parse/ParseDecl.cpp:2066:36
#28 0x0000557e59b58bde clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /home/cc/checkedc-clang/clang/lib/Parse/Parser.cpp:1173:52
#29 0x0000557e59b58cd1 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /home/cc/checkedc-clang/clang/lib/Parse/Parser.cpp:1189:57
#30 0x0000557e59b58038 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (.localalias) /home/cc/checkedc-clang/clang/lib/Parse/Parser.cpp:991:58
#31 0x0000557e59b5713e clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) /home/cc/checkedc-clang/clang/lib/Parse/Parser.cpp:737:42
#32 0x0000557e59b52642 clang::ParseAST(clang::Sema&, bool, bool) /home/cc/checkedc-clang/clang/lib/Parse/ParseAST.cpp:158:37
#33 0x0000557e575e0153 clang::ASTFrontendAction::ExecuteAction() /home/cc/checkedc-clang/clang/lib/Frontend/FrontendAction.cpp:1056:11
#34 0x0000557e57794f94 clang::CodeGenAction::ExecuteAction() /home/cc/checkedc-clang/clang/lib/CodeGen/CodeGenAction.cpp:1083:5
#35 0x0000557e575dfa12 clang::FrontendAction::Execute() /home/cc/checkedc-clang/clang/lib/Frontend/FrontendAction.cpp:953:38
#36 0x0000557e574d4aee clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/cc/checkedc-clang/clang/lib/Frontend/CompilerInstance.cpp:949:42
#37 0x0000557e5778222f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/cc/checkedc-clang/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:278:38
#38 0x0000557e549e7075 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/cc/checkedc-clang/clang/tools/driver/cc1_main.cpp:240:40
#39 0x0000557e549daf4e ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /home/cc/checkedc-clang/clang/tools/driver/driver.cpp:330:20
#40 0x0000557e573be667 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()::operator()() const /home/cc/checkedc-clang/clang/lib/Driver/Job.cpp:404:32
#41 0x0000557e573bef2a void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()>(long) /home/cc/checkedc-clang/llvm/include/llvm/ADT/STLExtras.h:186:40
#42 0x0000557e564c5aee llvm::function_ref<void ()>::operator()() const /home/cc/checkedc-clang/llvm/build/../include/llvm/ADT/STLExtras.h:209:62
#43 0x0000557e564d4662 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /home/cc/checkedc-clang/llvm/build/../lib/Support/CrashRecoveryContext.cpp:425:10
#44 0x0000557e573be876 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const /home/cc/checkedc-clang/clang/lib/Driver/Job.cpp:404:7
#45 0x0000557e573650b0 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const /home/cc/checkedc-clang/clang/lib/Driver/Compilation.cpp:195:22
#46 0x0000557e57365438 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const /home/cc/checkedc-clang/clang/lib/Driver/Compilation.cpp:248:53
#47 0x0000557e57375220 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) /home/cc/checkedc-clang/clang/lib/Driver/Driver.cpp:1517:28
#48 0x0000557e549dbf6f main /home/cc/checkedc-clang/clang/tools/driver/driver.cpp:502:39
#49 0x00007f842392f0b3 __libc_start_main /build/glibc-YbNSs7/glibc-2.31/csu/../csu/libc-start.c:342:3
#50 0x0000557e549d95ee _start (/home/cc/checkedc-clang/llvm/build/bin/clang-11+0x84a05ee)
clang-11: error: clang frontend command failed with exit code 134 (use -v to see invocation)

Metadata

Metadata

Assignees

Labels

bugThis labels issues that are bugs.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions