[llvm-bugs] [Bug 39547] New: Compiler crashes with Assertion `QualifierLoc && "should be created for dependent qualifiers"' failed

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Nov 2 17:21:56 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=39547

            Bug ID: 39547
           Summary: Compiler crashes with Assertion `QualifierLoc &&
                    "should be created for dependent qualifiers"' failed
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: khushalsagar at chromium.org
                CC: dgregor at apple.com, llvm-bugs at lists.llvm.org,
                    richard-llvm at metafoo.co.uk

Attaching the output from the script:

clang++:
/b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/tools/clang/lib/AST/ExprCXX.cpp:426:
static clang::DependentScopeDeclRefExpr
*clang::DependentScopeDeclRefExpr::Create(const clang::ASTContext &,
clang::NestedNameSpecifierLoc, clang::SourceLocation, const
clang::DeclarationNameInfo &, const clang::TemplateArgumentListInfo *):
Assertion `QualifierLoc && "should be created for dependent qualifiers"'
failed.
Stack dump:
0.      Program arguments:
../../third_party/llvm-build/Release+Asserts/bin/clang++ -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name paint_cache.cc
-mrelocation-model pic -pic-level 2 -mthread-model posix -fmerge-all-constants
-mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer
-ffunction-sections -fdata-sections -coverage-notes-file
/usr/local/google/home/khushalsagar/code/clankium/src/out/linux-release/obj/cc/paint/paint/paint_cache.gcno
-nostdinc++ -resource-dir
../../third_party/llvm-build/Release+Asserts/lib/clang/8.0.0 -dependency-file
obj/cc/paint/paint/paint_cache.o.d -MT obj/cc/paint/paint/paint_cache.o
-isystem ../../build/linux/debian_sid_amd64-sysroot/usr/include/glib-2.0
-isystem
../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include
-isystem ../../buildtools/third_party/libc++/trunk/include -isystem
../../buildtools/third_party/libc++abi/trunk/include -D
CC_PAINT_IMPLEMENTATION=1 -D V8_DEPRECATION_WARNINGS -D DCHECK_ALWAYS_ON=1 -D
USE_UDEV -D USE_AURA=1 -D USE_GLIB=1 -D USE_NSS_CERTS=1 -D USE_X11=1 -D
FULL_SAFE_BROWSING -D SAFE_BROWSING_CSD -D SAFE_BROWSING_DB_LOCAL -D
CHROMIUM_BUILD -D FIELDTRIAL_TESTING_ENABLED -D _FILE_OFFSET_BITS=64 -D
_LARGEFILE_SOURCE -D _LARGEFILE64_SOURCE -D _GNU_SOURCE -D
CR_CLANG_REVISION="344066-1" -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS
-D COMPONENT_BUILD -D CR_LIBCXX_REVISION=344254 -D CR_LIBCXXABI_REVISION=344215
-D _LIBCPP_ENABLE_NODISCARD -D
CR_SYSROOT_HASH=e7c53f04bd88d29d075bfd1f62b073aeb69cbe09 -D NDEBUG -D NVALGRIND
-D DYNAMIC_ANNOTATIONS_ENABLED=0 -D GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32
-D GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -D WEBP_EXTERN=extern -D
SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -D SK_HAS_PNG_LIBRARY -D
SK_HAS_WEBP_LIBRARY -D SK_HAS_JPEG_LIBRARY -D
SK_VULKAN_HEADER="../../skia/config/SkVulkanConfig.h" -D SK_VULKAN=1 -D
SKIA_DLL -D GR_GL_IGNORE_ES3_MSAA=0 -D
SKCMS_API=__attribute__((visibility("default"))) -D SK_SUPPORT_GPU=1 -D
SK_GPU_WORKAROUNDS_HEADER="gpu/config/gpu_driver_bug_workaround_autogen.h" -D
VK_NO_PROTOTYPES -D U_USING_ICU_NAMESPACE=0 -D U_ENABLE_DYLOAD=0 -D
USE_CHROMIUM_ICU=1 -D ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -D
UCHAR_TYPE=uint16_t -D GOOGLE_PROTOBUF_NO_RTTI -D
GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -D HAVE_PTHREAD -D PROTOBUF_USE_DLLS -I
../.. -I gen -I ../../third_party/libwebp/src -I ../../skia/config -I
../../skia/ext -I ../../third_party/skia/include/c -I
../../third_party/skia/include/config -I ../../third_party/skia/include/core -I
../../third_party/skia/include/docs -I ../../third_party/skia/include/effects
-I ../../third_party/skia/include/encode -I ../../third_party/skia/include/gpu
-I ../../third_party/skia/include/pathops -I
../../third_party/skia/include/ports -I ../../third_party/skia/include/utils -I
../../third_party/vulkan/include -I
../../third_party/skia/third_party/vulkanmemoryallocator -I
../../third_party/skia/include/codec -I ../../third_party/skia/src/gpu -I
../../third_party/skia/src/sksl -I
../../third_party/skia/modules/skottie/include -I
../../third_party/vulkan/include -I ../../third_party/ced/src -I
../../third_party/icu/source/common -I ../../third_party/icu/source/i18n -I
../../third_party/protobuf/src -D __DATE__= -D __TIME__= -D __TIMESTAMP__=
-isysroot ../../build/linux/debian_sid_amd64-sysroot -internal-isystem
../../build/linux/debian_sid_amd64-sysroot/usr/local/include -internal-isystem
../../third_party/llvm-build/Release+Asserts/lib/clang/8.0.0/include
-internal-externc-isystem
../../build/linux/debian_sid_amd64-sysroot/usr/include/x86_64-linux-gnu
-internal-externc-isystem ../../build/linux/debian_sid_amd64-sysroot/include
-internal-externc-isystem
../../build/linux/debian_sid_amd64-sysroot/usr/include -O2
-Wno-builtin-macro-redefined -Wall -Werror -Wextra -Wimplicit-fallthrough
-Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter
-Wno-c++11-narrowing -Wno-unneeded-internal-declaration
-Wno-undefined-var-template -Wno-null-pointer-arithmetic
-Wno-ignored-pragma-optimize -Wno-defaulted-function-deleted -Wheader-hygiene
-Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors
-Wno-shorten-64-to-32 -std=c++14 -fdeprecated-macro -fdebug-compilation-dir
/usr/local/google/home/khushalsagar/code/clankium/src/out/linux-release
-ferror-limit 19 -fmessage-length 0 -fvisibility hidden
-fvisibility-inlines-hidden -pthread -stack-protector 1
-stack-protector-buffer-size 4 -fno-rtti -fobjc-runtime=gcc -Qn
-fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp
-mllvm -instcombine-lower-dbg-declare=0 -load
../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so
-add-plugin find-bad-constructs -plugin-arg-find-bad-constructs
enforce-in-thirdparty-webkit -plugin-arg-find-bad-constructs
check-enum-max-value -plugin-arg-find-bad-constructs check-ipc -o
obj/cc/paint/paint/paint_cache.o -x c++ ../../cc/paint/paint_cache.cc
-fcomplete-member-pointers -faddrsig 
1.      ../../cc/paint/paint_cache.cc:143:36: current parser token '?'
2.      ../../cc/paint/paint_cache.cc:11:1: parsing namespace 'cc'
3.      ../../cc/paint/paint_cache.cc:141:53: parsing function body
'cc::ServicePaintCache::GetPath'
4.      ../../cc/paint/paint_cache.cc:141:53: in compound statement ('{}')
5.      ../../buildtools/third_party/libc++/trunk/include/map:632:8:
instantiating class definition 'std::__1::__value_type<unsigned int, SkPath>'
6.      ../../buildtools/third_party/libc++/trunk/include/utility:315:29:
instantiating class definition 'std::__1::pair<const unsigned int, SkPath>'
#0 0x0000000002197af4
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2197af4)
#1 0x000000000219598e llvm::sys::RunSignalHandlers()
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x219598e)
#2 0x0000000002197cb2
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2197cb2)
#3 0x00007f87c0dc60c0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x110c0)
#4 0x00007f87bfb81fcf gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x32fcf)
#5 0x00007f87bfb833fa abort (/lib/x86_64-linux-gnu/libc.so.6+0x343fa)
#6 0x00007f87bfb7ae37 (/lib/x86_64-linux-gnu/libc.so.6+0x2be37)
#7 0x00007f87bfb7aee2 (/lib/x86_64-linux-gnu/libc.so.6+0x2bee2)
#8 0x0000000003ff47be
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3ff47be)
#9 0x0000000003be2c43
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3be2c43)
#10 0x0000000003cc0807
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3cc0807)
#11 0x0000000003cb4b84
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3cb4b84)
#12 0x0000000003cbf49a
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3cbf49a)
#13 0x0000000003cbd8b2
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3cbd8b2)
#14 0x0000000003c9e816
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3c9e816)
#15 0x0000000003c9e0c3
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3c9e0c3)
#16 0x0000000003c9dce2 clang::Sema::SubstType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, bool)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3c9dce2)
#17 0x0000000003ce032c
clang::TemplateDeclInstantiator::VisitNonTypeTemplateParmDecl(clang::NonTypeTemplateParmDecl*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3ce032c)
#18 0x0000000003cd6afd
clang::TemplateDeclInstantiator::SubstTemplateParams(clang::TemplateParameterList*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3cd6afd)
#19 0x0000000003cdc243
clang::TemplateDeclInstantiator::VisitFunctionTemplateDecl(clang::FunctionTemplateDecl*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3cdc243)
#20 0x0000000003ca8258 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3ca8258)
#21 0x0000000003ca9df6
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3ca9df6)
#22 0x0000000003d1f419
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3d1f419)
#23 0x0000000003d1ed3f clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3d1ed3f)
#24 0x0000000003d0bc76 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, unsigned int)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3d0bc76)
#25 0x00000000037bf69c clang::Sema::CheckFieldDecl(clang::DeclarationName,
clang::QualType, clang::TypeSourceInfo*, clang::RecordDecl*,
clang::SourceLocation, bool, clang::Expr*, clang::InClassInitStyle,
clang::SourceLocation, clang::AccessSpecifier, clang::NamedDecl*,
clang::Declarator*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x37bf69c)
#26 0x0000000003cd8124
clang::TemplateDeclInstantiator::VisitFieldDecl(clang::FieldDecl*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3cd8124)
#27 0x0000000003ca8258 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3ca8258)
#28 0x0000000003ca9df6
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3ca9df6)
#29 0x0000000003d1f419
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3d1f419)
#30 0x0000000003a8b253
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3a8b253)
#31 0x0000000003a8b210
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3a8b210)
#32 0x0000000003a8b210
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3a8b210)
#33 0x0000000003a8a828
clang::Sema::FindAssociatedClassesAndNamespaces(clang::SourceLocation,
llvm::ArrayRef<clang::Expr*>, llvm::SmallSetVector<clang::DeclContext*, 16u>&,
llvm::SmallSetVector<clang::CXXRecordDecl*, 16u>&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3a8a828)
#34 0x0000000003a8e2ad
clang::Sema::ArgumentDependentLookup(clang::DeclarationName,
clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::ADLResult&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3a8e2ad)
#35 0x0000000003b5443a
clang::Sema::AddArgumentDependentLookupCandidates(clang::DeclarationName,
clang::SourceLocation, llvm::ArrayRef<clang::Expr*>,
clang::TemplateArgumentListInfo*, clang::OverloadCandidateSet&, bool)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3b5443a)
#36 0x0000000003b641a5
clang::Sema::CreateOverloadedBinOp(clang::SourceLocation,
clang::BinaryOperatorKind, clang::UnresolvedSetImpl const&, clang::Expr*,
clang::Expr*, bool)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3b641a5)
#37 0x0000000003961ede
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3961ede)
#38 0x00000000039210b0 clang::Sema::ActOnBinOp(clang::Scope*,
clang::SourceLocation, clang::tok::TokenKind, clang::Expr*, clang::Expr*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x39210b0)
#39 0x000000000341b367
clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*,
true>, clang::prec::Level)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x341b367)
#40 0x000000000341a450
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x341a450)
#41 0x000000000341a339
clang::Parser::ParseExpression(clang::Parser::TypeCastState)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x341a339)
#42 0x000000000346dffa clang::Parser::ParseReturnStatement()
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x346dffa)
#43 0x0000000003468172
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*,
clang::Parser::ParsedAttributesWithRange&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3468172)
#44 0x00000000034679c3
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x34679c3)
#45 0x000000000346fc03 clang::Parser::ParseCompoundStatementBody(bool)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x346fc03)
#46 0x0000000003470660 clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3470660)
#47 0x00000000033d66bb
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33d66bb)
#48 0x00000000033eff9e clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33eff9e)
#49 0x00000000033d55a9
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33d55a9)
#50 0x00000000033d5043
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33d5043)
#51 0x00000000033d3624
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33d3624)
#52 0x00000000034053e3
clang::Parser::ParseInnerNamespace(std::vector<clang::SourceLocation,
std::allocator<clang::SourceLocation> >&, std::vector<clang::IdentifierInfo*,
std::allocator<clang::IdentifierInfo*> >&, std::vector<clang::SourceLocation,
std::allocator<clang::SourceLocation> >&, unsigned int, clang::SourceLocation&,
clang::ParsedAttributes&, clang::BalancedDelimiterTracker&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x34053e3)
#53 0x0000000003404be1 clang::Parser::ParseNamespace(clang::DeclaratorContext,
clang::SourceLocation&, clang::SourceLocation)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3404be1)
#54 0x00000000033eb949
clang::Parser::ParseDeclaration(clang::DeclaratorContext,
clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33eb949)
#55 0x00000000033d2cda
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33d2cda)
#56 0x00000000033d235b
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33d235b)
#57 0x00000000033cd0d6 clang::ParseAST(clang::Sema&, bool, bool)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33cd0d6)
#58 0x00000000028352f0 clang::FrontendAction::Execute()
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x28352f0)
#59 0x00000000027dd641
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x27dd641)
#60 0x00000000028d5769
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x28d5769)
#61 0x00000000008ec1d3 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x8ec1d3)
#62 0x00000000008e99b5 main
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x8e99b5)
#63 0x00007f87bfb6f2b1 __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x202b1)
#64 0x00000000008e69ad _start
(../../third_party/llvm-build/Release+Asserts/bin/clang+++0x8e69ad)
clang++: error: unable to execute command: Aborted
clang++: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 8.0.0 (trunk 344066)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: ../../third_party/llvm-build/Release+Asserts/bin
clang++: note: diagnostic msg: PLEASE submit a bug report to
https://bugs.llvm.org/ and include the crash backtrace, preprocessed source,
and associated run script.
clang++: note: diagnostic msg:

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181103/13f1d18a/attachment-0001.html>


More information about the llvm-bugs mailing list