New issue
Advanced search Search tips

Issue 813017 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

ClangToT fails with a crash in clang::DeclContext::isDependentContext()

Project Member Reported by h...@chromium.org, Feb 16 2018

Issue description

From https://ci.chromium.org/buildbot/chromium.clang/ToTLinux/1633



FAILED: obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-font.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-font.o.d -DHAVE_OT -DHAVE_ICU -DHAVE_ICU_BUILTIN -DHAVE_INTEL_ATOMIC_PRIMITIVES -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCR_CLANG_REVISION=\"325328\" -DCOMPONENT_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DFT_CONFIG_CONFIG_H=\"freetype-custom-config/ftconfig.h\" -DFT_CONFIG_MODULES_H=\"freetype-custom-config/ftmodule.h\" -DFT_CONFIG_OPTIONS_H=\"freetype-custom-config/ftoption.h\" -DPDFIUM_REQUIRED_MODULES -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/freetype/include -I../../third_party/freetype/src/include -I../../build/linux/debian_stretch_amd64-sysroot/usr/include/glib-2.0 -I../../build/linux/debian_stretch_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../third_party/harfbuzz-ng/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -m64 -march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g2 -ggnu-pubnames -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -fvisibility=default -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -Wno-enum-compare-switch -Wno-null-pointer-arithmetic -Wno-unused-value -Wno-unused-local-typedef -std=gnu++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_stretch_amd64-sysroot -c ../../third_party/harfbuzz-ng/src/hb-ot-font.cc -o obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-font.o
#0 0x000000000226d5ca llvm::sys::PrintStackTrace(llvm::raw_ostream&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x226d5ca)
#1 0x000000000226b6ae llvm::sys::RunSignalHandlers() (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x226b6ae)
#2 0x000000000226b812 SignalHandler(int) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x226b812)
#3 0x00007fe09837b330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#4 0x0000000003a98df4 clang::DeclContext::isDependentContext() const (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3a98df4)
#5 0x0000000003185ae8 (anonymous namespace)::EffectiveContext::EffectiveContext(clang::DeclContext*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3185ae8)
#6 0x000000000318ad59 clang::Sema::CheckAddressOfMemberAccess(clang::Expr*, clang::DeclAccessPair) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x318ad59)
#7 0x00000000034d1fb9 clang::Sema::ResolveAddressOfOverloadedFunction(clang::Expr*, clang::QualType, bool, clang::DeclAccessPair&, bool*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x34d1fb9)
#8 0x00000000033a5fac clang::Sema::PerformImplicitConversion(clang::Expr*, clang::QualType, clang::StandardConversionSequence const&, clang::Sema::AssignmentAction, clang::Sema::CheckedConversionKind) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33a5fac)
#9 0x00000000033b1df4 clang::Sema::PerformImplicitConversion(clang::Expr*, clang::QualType, clang::ImplicitConversionSequence const&, clang::Sema::AssignmentAction, clang::Sema::CheckedConversionKind) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x33b1df4)
#10 0x00000000034dd081 clang::Sema::PerformImplicitConversion(clang::Expr*, clang::QualType, clang::Sema::AssignmentAction, bool, clang::ImplicitConversionSequence&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x34dd081)
#11 0x00000000034dd16b clang::Sema::PerformImplicitConversion(clang::Expr*, clang::QualType, clang::Sema::AssignmentAction, bool) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x34dd16b)
#12 0x000000000334ba57 clang::Sema::CheckSingleAssignmentConstraints(clang::QualType, clang::ActionResult<clang::Expr*, true>&, bool, bool, bool) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x334ba57)
#13 0x000000000334c493 clang::Sema::CheckAssignmentOperands(clang::Expr*, clang::ActionResult<clang::Expr*, true>&, clang::SourceLocation, clang::QualType) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x334c493)
#14 0x0000000003354fee clang::Sema::CreateBuiltinBinOp(clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3354fee)
#15 0x0000000003355e6f clang::Sema::BuildBinOp(clang::Scope*, clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3355e6f)
#16 0x0000000003356076 clang::Sema::ActOnBinOp(clang::Scope*, clang::SourceLocation, clang::tok::TokenKind, clang::Expr*, clang::Expr*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x3356076)
#17 0x0000000002fb05cc clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*, true>, clang::prec::Level) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fb05cc)
#18 0x0000000002fb020c clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fb020c)
#19 0x0000000002fb0279 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fb0279)
#20 0x0000000002fea6da clang::Parser::ParseExprStatement() (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fea6da)
#21 0x0000000002fe8b1d clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fe8b1d)
#22 0x0000000002fe8d1e clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fe8d1e)
#23 0x0000000002fe8e8b clang::Parser::ParseStatement(clang::SourceLocation*, bool) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fe8e8b)
#24 0x0000000002fead77 clang::Parser::ParseIfStatement(clang::SourceLocation*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fead77)
#25 0x0000000002fe881b clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fe881b)
#26 0x0000000002fe8d1e clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fe8d1e)
#27 0x0000000002febe0f clang::Parser::ParseCompoundStatementBody(bool) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2febe0f)
#28 0x0000000002fedb4f clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fedb4f)
#29 0x0000000002f7900c clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f7900c)
#30 0x0000000002f78d7e clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f78d7e)
#31 0x0000000002f78d7e clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f78d7e)
#32 0x0000000002fa7af9 clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int, clang::Decl*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fa7af9)
#33 0x0000000002fa9df9 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::Parser::ParsedAttributesWithRange&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fa9df9)
#34 0x0000000002f8c08c clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f8c08c)
#35 0x0000000002f719e6 clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f719e6)
#36 0x0000000002f7224e clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f7224e)
#37 0x0000000002f75a28 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f75a28)
#38 0x0000000002fa5a52 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+++0x2fa5a52)
#39 0x0000000002fa6289 clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2fa6289)
#40 0x0000000002f960d8 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f960d8)
#41 0x0000000002f75a4a clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f75a4a)
#42 0x0000000002f76aa2 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f76aa2)
#43 0x0000000002f6ecbb clang::ParseAST(clang::Sema&, bool, bool) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2f6ecbb)
#44 0x0000000002b3b72f clang::CodeGenAction::ExecuteAction() (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x2b3b72f)
#45 0x00000000027d6796 clang::FrontendAction::Execute() (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x27d6796)
#46 0x00000000027ab96e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x27ab96e)
#47 0x000000000286a962 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0x286a962)
#48 0x0000000000c00588 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (../../third_party/llvm-build/Release+Asserts/bin/clang+++0xc00588)
#49 0x0000000000b8f21c main (../../third_party/llvm-build/Release+Asserts/bin/clang+++0xb8f21c)
#50 0x00007fe096f55f45 __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:321:0
#51 0x0000000000bfb329 _start (../../third_party/llvm-build/Release+Asserts/bin/clang+++0xbfb329)
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 hb-ot-font.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -ggnu-pubnames -momit-leaf-frame-pointer -ffunction-sections -fdata-sections -coverage-notes-file /b/c/b/ToTLinux/src/out/Release/obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-font.gcno -nostdinc++ -resource-dir ../../third_party/llvm-build/Release+Asserts/lib/clang/7.0.0 -dependency-file obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-font.o.d -MT obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-font.o -isystem ../../buildtools/third_party/libc++/trunk/include -isystem ../../buildtools/third_party/libc++abi/trunk/include -D HAVE_OT -D HAVE_ICU -D HAVE_ICU_BUILTIN -D HAVE_INTEL_ATOMIC_PRIMITIVES -D V8_DEPRECATION_WARNINGS -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 CR_CLANG_REVISION="325328" -D COMPONENT_BUILD -D NDEBUG -D NVALGRIND -D DYNAMIC_ANNOTATIONS_ENABLED=0 -D FT_CONFIG_CONFIG_H="freetype-custom-config/ftconfig.h" -D FT_CONFIG_MODULES_H="freetype-custom-config/ftmodule.h" -D FT_CONFIG_OPTIONS_H="freetype-custom-config/ftoption.h" -D PDFIUM_REQUIRED_MODULES -D GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -D GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -D U_USING_ICU_NAMESPACE=0 -D U_ENABLE_DYLOAD=0 -D ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -D UCHAR_TYPE=uint16_t -I ../.. -I gen -I ../../third_party/freetype/include -I ../../third_party/freetype/src/include -I ../../build/linux/debian_stretch_amd64-sysroot/usr/include/glib-2.0 -I ../../build/linux/debian_stretch_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I ../../third_party/harfbuzz-ng/src -I ../../third_party/icu/source/common -I ../../third_party/icu/source/i18n -D __DATE__= -D __TIME__= -D __TIMESTAMP__= -isysroot ../../build/linux/debian_stretch_amd64-sysroot -internal-isystem ../../build/linux/debian_stretch_amd64-sysroot/usr/local/include -internal-isystem ../../third_party/llvm-build/Release+Asserts/lib/clang/7.0.0/include -internal-externc-isystem ../../build/linux/debian_stretch_amd64-sysroot/usr/include/x86_64-linux-gnu -internal-externc-isystem ../../build/linux/debian_stretch_amd64-sysroot/include -internal-externc-isystem ../../build/linux/debian_stretch_amd64-sysroot/usr/include -O2 -Wno-builtin-macro-redefined -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -Wno-enum-compare-switch -Wno-null-pointer-arithmetic -Wno-unused-value -Wno-unused-local-typedef -std=gnu++14 -fdeprecated-macro -fdebug-compilation-dir /b/c/b/ToTLinux/src/out/Release -ferror-limit 19 -fmessage-length 0 -fvisibility default -pthread -stack-protector 1 -stack-protector-buffer-size 4 -fno-rtti -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -mllvm -instcombine-lower-dbg-declare=0 -o obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-font.o -x c++ ../../third_party/harfbuzz-ng/src/hb-ot-font.cc 
1.	../../third_party/harfbuzz-ng/src/hb-ot-cmap-table.hh:549:64: current parser token ';'
2.	../../third_party/harfbuzz-ng/src/hb-ot-cmap-table.hh:33:1: parsing namespace 'OT'
3.	../../third_party/harfbuzz-ng/src/hb-ot-cmap-table.hh:495:1: parsing struct/union/class body 'OT::cmap'
4.	../../third_party/harfbuzz-ng/src/hb-ot-cmap-table.hh:510:5: parsing function body 'OT::cmap::accelerator_t::init'
5.	../../third_party/harfbuzz-ng/src/hb-ot-cmap-table.hh:510:5: in compound statement ('{}')
clang++: error: unable to execute command: Segmentation fault (core dumped)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 7.0.0 (trunk 325328)
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: 
 

Comment 1 by h...@chromium.org, Feb 16 2018

Bisection points to this one:

---
Author: ahatanak
Date: Fri Feb 16 00:47:37 2018
New Revision: 325321

URL: http://llvm.org/viewvc/llvm-project?rev=325321&view=rev
Log:
[Sema] Take into account the current context when checking the
accessibility of a class member.

This fixes PR32898.

rdar://problem/33737747

Differential revision: https://reviews.llvm.org/D36918

Modified:
    cfe/trunk/lib/Sema/SemaAccess.cpp
    cfe/trunk/test/SemaCXX/access.cpp
---

Comment 2 by h...@chromium.org, Feb 16 2018

Attaching the repro.
hb-ot-font-6d5606.cpp
1.3 MB View Download
hb-ot-font-6d5606.sh
9.9 KB View Download

Comment 3 by h...@chromium.org, Feb 16 2018

Status: Fixed (was: Started)
Revert is in r325335.

Sign in to add a comment