New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 769759 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 769761

Blocking:
issue 22532



Sign in to add a comment

Clang compiler crash on valid code

Project Member Reported by zentaro@chromium.org, Sep 28 2017

Issue description

Committed this code https://chromium-review.googlesource.com/c/chromium/src/+/608620 but it got reverted due to this compiler crash.

This is blocking landing the feature.

See here https://build.chromium.org/p/chromium.linux/builders/Cast%20Audio%20Linux/builds/4848

Seems to be this bug - https://bugs.llvm.org/show_bug.cgi?id=34159

FAILED: obj/net/net/ntlm.o 
/b/c/goma_client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/net/net/ntlm.o.d -DV8_DEPRECATION_WARNINGS -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"313786-1\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DDLOPEN_KERBEROS -DNET_IMPLEMENTATION -DENABLE_BUILT_IN_DNS -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I../../build/linux/debian_jessie_amd64-sysroot/usr/include/nss -I../../build/linux/debian_jessie_amd64-sysroot/usr/include/nspr -I../../third_party/zlib -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/brotli/include -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=1 -fdebug-prefix-map=/mnt/data/b/c/b/Cast_Audio_Linux/src=. -m64 -march=x86-64 -Wall -Werror -Wextra -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-tautological-unsigned-zero-compare -Wno-null-pointer-arithmetic -Wno-tautological-unsigned-enum-zero-compare -O2 -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -g2 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-auto-raw-pointer -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wno-header-guard -std=gnu++14 -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_jessie_amd64-sysroot -fno-exceptions -fvisibility-inlines-hidden -c ../../net/ntlm/ntlm.cc -o obj/net/net/ntlm.o
clang: /b/build/slave/linux_upload_clang/build/src/third_party/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp:404: void llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression *): Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed.
#0 0x0000000001dac084 (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x1dac084)
#1 0x0000000001dac3e6 (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x1dac3e6)
#2 0x00007f00c4464330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#3 0x00007f00c3057c37 gsignal /build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#4 0x00007f00c305b028 abort /build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c:91:0
#5 0x00007f00c3050bf6 __assert_fail_base /build/eglibc-oGUzwX/eglibc-2.19/assert/assert.c:92:0
#6 0x00007f00c3050ca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2)
#7 0x0000000002455503 (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2455503)
#8 0x0000000002491ec8 llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2491ec8)
#9 0x0000000002490fb5 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2490fb5)
#10 0x0000000002490864 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2490864)
#11 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#12 0x0000000002490864 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2490864)
#13 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#14 0x0000000002490864 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2490864)
#15 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#16 0x0000000002490864 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2490864)
#17 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#18 0x00000000024908ad llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24908ad)
#19 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#20 0x00000000024908ad llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24908ad)
#21 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#22 0x0000000002490864 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2490864)
#23 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#24 0x00000000024908ad llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24908ad)
#25 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#26 0x00000000024908ad llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24908ad)
#27 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#28 0x00000000024908ad llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24908ad)
#29 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#30 0x00000000024908ad llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24908ad)
#31 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#32 0x0000000002490864 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2490864)
#33 0x00000000024911de llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24911de)
#34 0x0000000002492bad llvm::DwarfCompileUnit::constructSubprogramScopeDIE(llvm::DISubprogram const*, llvm::LexicalScope*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2492bad)
#35 0x00000000024475b7 llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x24475b7)
#36 0x0000000002484d34 llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2484d34)
#37 0x000000000242b67c llvm::AsmPrinter::EmitFunctionBody() (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x242b67c)
#38 0x00000000011359d0 (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x11359d0)
#39 0x00000000015cb718 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x15cb718)
#40 0x00000000018edb7f llvm::FPPassManager::runOnFunction(llvm::Function&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x18edb7f)
#41 0x00000000018ede43 llvm::FPPassManager::runOnModule(llvm::Module&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x18ede43)
#42 0x00000000018ee326 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x18ee326)
#43 0x0000000001f463cf clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x1f463cf)
#44 0x00000000026d2550 (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x26d2550)
#45 0x000000000239131c clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x239131c)
#46 0x0000000002bb6a36 clang::ParseAST(clang::Sema&, bool, bool) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2bb6a36)
#47 0x00000000023683d0 clang::FrontendAction::Execute() (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x23683d0)
#48 0x0000000002315c21 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x2315c21)
#49 0x00000000023fd50a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x23fd50a)
#50 0x0000000000866229 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x866229)
#51 0x0000000000863c56 main (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x863c56)
#52 0x00007f00c3042f45 __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:321:0
#53 0x0000000000860bc9 _start (/mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang+0x860bc9)
Stack dump:
0.	Program arguments: /mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name ntlm.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -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 -momit-leaf-frame-pointer -ffunction-sections -fdata-sections -coverage-notes-file /mnt/data/b/c/b/Cast_Audio_Linux/src/out/Release/obj/net/net/ntlm.gcno -nostdinc++ -resource-dir /mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0 -dependency-file obj/net/net/ntlm.o.d -MT obj/net/net/ntlm.o -isystem ../../buildtools/third_party/libc++/trunk/include -isystem ../../buildtools/third_party/libc++abi/trunk/include -D V8_DEPRECATION_WARNINGS -D USE_AURA=1 -D USE_NSS_CERTS=1 -D USE_OZONE=1 -D CHROMIUM_BUILD -D FIELDTRIAL_TESTING_ENABLED -D CR_CLANG_REVISION="313786-1" -D _FILE_OFFSET_BITS=64 -D _LARGEFILE_SOURCE -D _LARGEFILE64_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D NDEBUG -D NVALGRIND -D DYNAMIC_ANNOTATIONS_ENABLED=0 -D DLOPEN_KERBEROS -D NET_IMPLEMENTATION -D ENABLE_BUILT_IN_DNS -D GOOGLE_PROTOBUF_NO_RTTI -D GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -D HAVE_PTHREAD -D U_USING_ICU_NAMESPACE=0 -D U_ENABLE_DYLOAD=0 -D U_STATIC_IMPLEMENTATION -D ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -D UCHAR_TYPE=uint16_t -I ../.. -I gen -I ../../third_party/protobuf/src -I gen/protoc_out -I ../../third_party/protobuf/src -I ../../third_party/boringssl/src/include -I ../../build/linux/debian_jessie_amd64-sysroot/usr/include/nss -I ../../build/linux/debian_jessie_amd64-sysroot/usr/include/nspr -I ../../third_party/zlib -I ../../third_party/ced/src -I ../../third_party/icu/source/common -I ../../third_party/icu/source/i18n -I ../../third_party/brotli/include -D __DATE__= -D __TIME__= -D __TIMESTAMP__= -isysroot ../../build/linux/debian_jessie_amd64-sysroot -internal-isystem ../../build/linux/debian_jessie_amd64-sysroot/usr/local/include -internal-isystem /mnt/data/b/c/b/Cast_Audio_Linux/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/include -internal-externc-isystem ../../build/linux/debian_jessie_amd64-sysroot/usr/include/x86_64-linux-gnu -internal-externc-isystem ../../build/linux/debian_jessie_amd64-sysroot/include -internal-externc-isystem ../../build/linux/debian_jessie_amd64-sysroot/usr/include -O2 -Wno-builtin-macro-redefined -Wall -Werror -Wextra -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-tautological-unsigned-zero-compare -Wno-null-pointer-arithmetic -Wno-tautological-unsigned-enum-zero-compare -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wno-header-guard -std=gnu++14 -fdeprecated-macro -fdebug-compilation-dir /mnt/data/b/c/b/Cast_Audio_Linux/src/out/Release -fdebug-prefix-map=/mnt/data/b/c/b/Cast_Audio_Linux/src=. -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 -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -mllvm -instcombine-lower-dbg-declare=1 -load ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -add-plugin find-bad-constructs -plugin-arg-find-bad-constructs check-auto-raw-pointer -plugin-arg-find-bad-constructs check-ipc -o obj/net/net/ntlm.o -x c++ ../../net/ntlm/ntlm.cc 
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '../../net/ntlm/ntlm.cc'.
4.	Running pass 'X86 Assembly Printer' on function '@_ZN3net4ntlm25GenerateUpdatedTargetInfoEbbRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_RKNS1_6vectorINS0_6AvPairENS5_ISB_EEEEPm'
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 6.0.0 (trunk 313786)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /mnt/data/b/c/b/Cast_Audio_Linux/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
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/ntlm-50e45b.cpp
clang: note: diagnostic msg: /tmp/ntlm-50e45b.sh
clang: note: diagnostic msg: 
********************
 

Comment 1 by thakis@chromium.org, Sep 28 2017

Sounds like it's fixed in upstream r311217 and should go away in the next roll. That will probably happen in 1-2 weeks. If you can wait for that, just do that. Else it's probably possible to add some workaround to your CL to not run into this issue.

Comment 2 by thakis@chromium.org, Sep 28 2017

Blockedon: 769761

Comment 3 by h...@chromium.org, Sep 28 2017

We're already at r313786. Did you copy/paste the wrong revision?

Comment 4 by asanka@chromium.org, Sep 28 2017

Perhaps that specific bot uses an older compiler?

Comment 5 by h...@chromium.org, Sep 28 2017

No, it looks like the bot has the right one: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.linux%2FCast_Audio_Linux%2F4848%2F%2B%2Frecipes%2Fsteps%2Fgclient_runhooks%2F0%2Fstdout


It sounds like the upstream bug wasn't completely fixed.
We'd like to land it this week so we can start testing.

Open to any suggestions on a workaround? The bug also seems to say it could be non-deterministic. Do you know how I can try and repro this locally? Are there instructions somewhere for this target?

Or at least is cast_shell_audio_linux the right trybot?

Comment 7 by thakis@chromium.org, Sep 28 2017

https://build.chromium.org/p/chromium.linux/builders/Cast%20Audio%20Linux/builds/4848 says "got_clang_revision	313786-1".

So maybe the fix in that bug was incomplete?

Did it only fail on that bug?
Blocking: 22532

Comment 9 by thakis@chromium.org, Sep 28 2017

Just use the args.gn from https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.linux%2FCast_Audio_Linux%2F4848%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout and you should be able to repro.

(If you do, please attach the .cpp and .sh files mentioned in the error output)
That llvm bug is just what I found by searching and it seemed to be the same, but I don't know for sure it is the same.

Comment 11 by h...@chromium.org, Sep 28 2017

Attaching the repro.
ntlm-d5d40a.cpp
3.3 MB View Download
ntlm-d5d40a.sh
10.2 KB View Download

Comment 12 by h...@chromium.org, Sep 28 2017

If the function is not very performance sensitive, a temporary work-around could be something like this:

diff --git a/net/ntlm/ntlm.cc b/net/ntlm/ntlm.cc
index a93d9c44fbcf..1818a547530f 100644
--- a/net/ntlm/ntlm.cc
+++ b/net/ntlm/ntlm.cc
@@ -343,6 +343,9 @@ void GenerateMicV2(const uint8_t* session_key,
   HMAC_Final(ctx.get(), mic, nullptr);
 }
 
+#if defined(__clang__)
+[[clang::optnone]]  // TODO( crbug.com/769759 ) Clang crashes on this function.
+#endif
 NET_EXPORT_PRIVATE Buffer
 GenerateUpdatedTargetInfo(bool is_mic_enabled,
                           bool is_epa_enabled,
That seems ok for now. And we can remove in a couple weeks.
I added the flag for now. We can remove when the fix makes it in.

https://chromium-review.googlesource.com/c/chromium/src/+/689956

Comment 15 by h...@chromium.org, Sep 28 2017

Status: Started (was: Untriaged)
I filed a new upstream bug to track this: https://bugs.llvm.org/show_bug.cgi?id=34769

Comment 16 by h...@chromium.org, Oct 17 2017

Cc: -h...@chromium.org thakis@chromium.org
Owner: h...@chromium.org
Removing the temporary work-around now that we've rolled Clang: https://chromium-review.googlesource.com/c/chromium/src/+/724231
Project Member

Comment 17 by bugdroid1@chromium.org, Oct 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/783030e101ab75c46ce04d15992ff9a33ffe8f6c

commit 783030e101ab75c46ce04d15992ff9a33ffe8f6c
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Oct 18 21:08:11 2017

Remove Clang bug work-around

The issue was fixed in Clang r313905, which we rolled past in #508804.

TBR=zentaro

Bug:  769759 
Change-Id: Id6af77871f3696c5d54fa5b9bedc528479096c0b
Reviewed-on: https://chromium-review.googlesource.com/724231
Reviewed-by: Hans Wennborg <hans@chromium.org>
Reviewed-by: Asanka Herath <asanka@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509873}
[modify] https://crrev.com/783030e101ab75c46ce04d15992ff9a33ffe8f6c/net/ntlm/ntlm.cc

Comment 18 by h...@chromium.org, Oct 18 2017

Status: Fixed (was: Started)

Sign in to add a comment