llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.16k stars 12.03k forks source link

Assertion failed at CodeGen/RegisterScavenging.cpp:418 #26098

Closed sbc100 closed 8 years ago

sbc100 commented 8 years ago
Bugzilla Link 25724
Resolution FIXED
Resolved on Oct 04, 2016 21:36
Version trunk
OS Linux
Attachments command line, pre-processed source
CC @zmodem,@MatzeB,@nico,@TNorthover

Extended Description

[4729/4785] CXX obj/extensions/extensions_unittests/extension_pref_value_map_unittest.o FAILED: /usr/local/google/home/sbc/bin/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/extensions/extensions_unittests/extension_pref_value_map_unittest.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -DENABLE_MDNS=1 -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DDONT_EMBED_BUILD_METADATA -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_CLIPBOARD_AURAX11=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_GLIB=1 -DUSE_OPENSSL=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DENABLE_WEBRTC=1 -DENABLE_EXTENSIONS=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_HIDPI=1 -DENABLE_TOPCHROME_MD=1 -DENABLE_BACKGROUND=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=254049-1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -DCOMPONENT_BUILD -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DMOJO_USE_SYSTEM_IMPL -DMOJO_USE_SYSTEM_IMPL -DGL_GLEXT_PROTOTYPES -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=0 -DGTEST_HAS_RTTI=0 -DMOJO_USE_GLES2_IMPL -DTOOLKIT_VIEWS=1 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_IGNORE_GL_TEXTURE_TARGET -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DPROTOBUF_USE_DLLS -DUSE_LIBJPEG_TURBO=1 -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DV8_SHARED -DUSING_V8_SHARED -DOPENSSL_SMALL -DBORINGSSL_SHARED_LIBRARY -DUNIT_TEST -DLEVELDB_PLATFORM_CHROMIUM=1 -I../.. -Igen -Igen/extensions -Igen/extensions -Igen/extensions -I../../build/linux/debian_wheezy_arm-sysroot/usr/include/glib-2.0 -I../../build/linux/debian_wheezy_arm-sysroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I../../third_party/khronos -I../../gpu -I../../third_party/libwebp -I../../testing/gtest/include -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/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/WebKit -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/protobuf -I../../third_party/libjpeg_turbo -I../../third_party/iccjpeg -I../../third_party/libpng -I../../third_party/zlib -I../../third_party/ots/include -I../../third_party/qcms/src -I../../v8/include -I../../build/linux/debian_wheezy_arm-sysroot/usr/include/nss -I../../build/linux/debian_wheezy_arm-sysroot/usr/include/nspr -I../../third_party/boringssl/src/include -I../../testing/gmock/include -Igen/extensions/strings -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -fcolor-diagnostics -pthread -target arm-linux-gnueabihf -march=armv7-a -mfloat-abi=hard -mthumb -mtune=generic-armv7-a -mfpu=neon -Wall -Wsign-compare -Wendif-labels -Wno-missing-field-initializers -Wno-unused-parameter -Werror -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-reserved-user-defined-literal -Wno-shift-negative-value -Wno-bitfield-width -O0 -g2 --sysroot=/usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot -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-templates -Wheader-hygiene -Wstring-conversion -Wno-header-guard -fno-threadsafe-statics -fvisibility-inlines-hidden -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++11 -fno-rtti -fno-exceptions -c ../../extensions/browser/extension_pref_value_map_unittest.cc -o obj/extensions/extensions_unittests/extension_pref_value_map_unittest.o clang: /work/chromium/src/third_party/llvm/lib/CodeGen/RegisterScavenging.cpp:418: unsigned int llvm::RegScavenger::scavengeRegister(const llvm::TargetRegisterClass , MachineBasicBlock::iterator, int): Assertion `Scavenged[SI].FrameIndex >= 0 && "Cannot scavenge register without an emergency spill slot!"' failed. 0 clang 0x000000000185e6e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40 1 clang 0x000000000185ee47 2 libc.so.6 0x00007f3cb8368d40 3 libc.so.6 0x00007f3cb8368cc9 gsignal + 57 4 libc.so.6 0x00007f3cb836c0d8 abort + 328 5 libc.so.6 0x00007f3cb8361b86 6 libc.so.6 0x00007f3cb8361c32 7 clang 0x00000000012a7feb 8 clang 0x0000000001267741 9 clang 0x00000000011f9bf9 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 153 10 clang 0x000000000149bf44 llvm::FPPassManager::runOnFunction(llvm::Function&) + 564 11 clang 0x000000000149c18b llvm::FPPassManager::runOnModule(llvm::Module&) + 43 12 clang 0x000000000149c655 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 869 13 clang 0x0000000001994d7d clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module, clang::BackendAction, llvm::raw_pwrite_stream) + 8429 14 clang 0x0000000001fec758 15 clang 0x0000000001d40e4c clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) + 44 16 clang 0x00000000023664b6 clang::ParseAST(clang::Sema&, bool, bool) + 598 17 clang 0x0000000001d0c455 clang::FrontendAction::Execute() + 69 18 clang 0x0000000001cd7ae1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1153 19 clang 0x0000000001d99b1e clang::ExecuteCompilerInvocation(clang::CompilerInstance) + 3086 20 clang 0x00000000006f0282 cc1_main(llvm::ArrayRef<char const>, char const, void*) + 1186 21 clang 0x00000000006eed73 main + 12675 22 libc.so.6 0x00007f3cb8353ec5 __libc_start_main + 245 23 clang 0x00000000006ebac9 Stack dump:

  1. Program arguments: /usr/local/google/home/sbc/dev/chromium/src/third_party/llvm-build/Release+Asserts/bin/clang -cc1 -triple thumbv7--linux-gnueabihf -emit-obj -mrelax-all -disable-free -main-file-name extension_pref_value_map_unittest.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu cortex-a8 -target-feature -fp-only-sp -target-feature -d16 -target-feature +vfp3 -target-feature -fp16 -target-feature -vfp4 -target-feature -fp-armv8 -target-feature +neon -target-feature -crypto -target-abi aapcs-linux -mfloat-abi hard -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -coverage-file /usr/local/google/home/sbc/dev/chromium/src/out_arm_gn/debug/obj/extensions/extensions_unittests/extension_pref_value_map_unittest.o -resource-dir /usr/local/google/home/sbc/dev/chromium/src/third_party/llvm-build/Release+Asserts/bin/../lib/clang/3.8.0 -dependency-file obj/extensions/extensions_unittests/extension_pref_value_map_unittest.o.d -MT obj/extensions/extensions_unittests/extension_pref_value_map_unittest.o -D V8_DEPRECATION_WARNINGS -D CLD_VERSION=2 -D ENABLE_MDNS=1 -D ENABLE_NOTIFICATIONS -D ENABLE_PEPPER_CDMS -D ENABLE_PLUGINS=1 -D ENABLE_PDF=1 -D ENABLE_PRINTING=1 -D ENABLE_BASIC_PRINTING=1 -D ENABLE_PRINT_PREVIEW=1 -D ENABLE_SPELLCHECK=1 -D DONT_EMBED_BUILD_METADATA -D USE_UDEV -D UI_COMPOSITOR_IMAGE_TRANSPORT -D USE_ASH=1 -D USE_AURA=1 -D USE_PANGO=1 -D USE_CAIRO=1 -D USE_CLIPBOARD_AURAX11=1 -D USE_DEFAULT_RENDER_THEME=1 -D USE_GLIB=1 -D USE_OPENSSL=1 -D USE_NSS_CERTS=1 -D USE_X11=1 -D ENABLE_WEBRTC=1 -D ENABLE_EXTENSIONS=1 -D ENABLE_CONFIGURATION_POLICY -D ENABLE_TASK_MANAGER=1 -D ENABLE_THEMES=1 -D ENABLE_CAPTIVE_PORTAL_DETECTION=1 -D ENABLE_SESSION_SERVICE=1 -D ENABLE_APP_LIST=1 -D ENABLE_SETTINGS_APP=1 -D ENABLE_SUPERVISED_USERS=1 -D ENABLE_SERVICE_DISCOVERY=1 -D ENABLE_AUTOFILL_DIALOG=1 -D ENABLE_ONE_CLICK_SIGNIN -D ENABLE_HIDPI=1 -D ENABLE_TOPCHROME_MD=1 -D ENABLE_BACKGROUND=1 -D FULL_SAFE_BROWSING -D SAFE_BROWSING_CSD -D SAFE_BROWSING_DB_LOCAL -D CHROMIUM_BUILD -D ENABLE_MEDIA_ROUTER=1 -D FIELDTRIAL_TESTING_ENABLED -D CR_CLANG_REVISION=254049-1 -D _FILE_OFFSET_BITS=64 -D _LARGEFILE_SOURCE -D _LARGEFILE64_SOURCE -D STDC_CONSTANT_MACROS -D STDC_FORMAT_MACROS -D COMPONENT_BUILD -D _DEBUG -D DYNAMIC_ANNOTATIONS_ENABLED=1 -D WTF_USE_DYNAMIC_ANNOTATIONS=1 -D MOJO_USE_SYSTEM_IMPL -D MOJO_USE_SYSTEM_IMPL -D GL_GLEXT_PROTOTYPES -D GTEST_HAS_POSIX_RE=0 -D GTEST_LANG_CXX11=0 -D GTEST_HAS_RTTI=0 -D MOJO_USE_GLES2_IMPL -D TOOLKIT_VIEWS=1 -D SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -D SK_IGNORE_GL_TEXTURE_TARGET -D SKIA_DLL -D GR_GL_IGNORE_ES3_MSAA=0 -D SK_SUPPORT_GPU=1 -D V8_USE_EXTERNAL_STARTUP_DATA -D U_USING_ICU_NAMESPACE=0 -D U_ENABLE_DYLOAD=0 -D GOOGLE_PROTOBUF_NO_RTTI -D GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -D PROTOBUF_USE_DLLS -D USE_LIBJPEG_TURBO=1 -D CHROME_PNG_WRITE_SUPPORT -D PNG_USER_CONFIG -D V8_SHARED -D USING_V8_SHARED -D OPENSSL_SMALL -D BORINGSSL_SHARED_LIBRARY -D UNIT_TEST -D LEVELDB_PLATFORM_CHROMIUM=1 -I ../.. -I gen -I gen/extensions -I gen/extensions -I gen/extensions -I ../../build/linux/debian_wheezy_arm-sysroot/usr/include/glib-2.0 -I ../../build/linux/debian_wheezy_arm-sysroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I ../../third_party/khronos -I ../../gpu -I ../../third_party/libwebp -I ../../testing/gtest/include -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/effects -I ../../third_party/skia/include/images -I ../../third_party/skia/include/lazy -I ../../third_party/skia/include/pathops -I ../../third_party/skia/include/pdf -I ../../third_party/skia/include/pipe -I ../../third_party/skia/include/ports -I ../../third_party/skia/include/utils -I ../../third_party/skia/include/gpu -I ../../third_party/skia/src/gpu -I ../../third_party/WebKit -I ../../third_party/icu/source/common -I ../../third_party/icu/source/i18n -I ../../third_party/npapi -I ../../third_party/npapi/bindings -I ../../third_party/protobuf/src -I gen/protoc_out -I ../../third_party/protobuf/src -I ../../third_party/protobuf -I ../../third_party/libjpeg_turbo -I ../../third_party/iccjpeg -I ../../third_party/libpng -I ../../third_party/zlib -I ../../third_party/ots/include -I ../../third_party/qcms/src -I ../../v8/include -I ../../build/linux/debian_wheezy_arm-sysroot/usr/include/nss -I ../../build/linux/debian_wheezy_arm-sysroot/usr/include/nspr -I ../../third_party/boringssl/src/include -I ../../testing/gmock/include -I gen/extensions/strings -I ../../third_party/leveldatabase -I ../../third_party/leveldatabase/src -I ../../third_party/leveldatabase/src/include -isysroot /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot -internal-isystem /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../../include/c++/4.6 -internal-isystem /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../../include/c++/4.6/arm-linux-gnueabihf -internal-isystem /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../../include/c++/4.6/backward -internal-isystem /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/local/include -internal-isystem /usr/local/google/home/sbc/dev/chromium/src/third_party/llvm-build/Release+Asserts/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/include/arm-linux-gnueabihf -internal-externc-isystem /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot/include -internal-externc-isystem /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/include -O0 -Wall -Wsign-compare -Wendif-labels -Wno-missing-field-initializers -Wno-unused-parameter -Werror -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-reserved-user-defined-literal -Wno-shift-negative-value -Wno-bitfield-width -Wheader-hygiene -Wstring-conversion -Wno-header-guard -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++11 -fdeprecated-macro -fdebug-compilation-dir /usr/local/google/home/sbc/dev/chromium/src/out_arm_gn/debug -ferror-limit 19 -fmessage-length 0 -fvisibility hidden -fvisibility-inlines-hidden -pthread -stack-protector 1 -stack-protector-buffer-size 4 -fallow-half-arguments-and-returns -fno-rtti -fno-signed-char -fno-threadsafe-statics -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -load ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -add-plugin find-bad-constructs -plugin-arg-find-bad-constructs check-templates -o obj/extensions/extensions_unittests/extension_pref_value_map_unittest.o -x c++ ../../extensions/browser/extension_pref_value_map_unittest.cc
  2. parser at end of file
  3. Code generation
  4. Running pass 'Function Pass Manager' on module '../../extensions/browser/extension_pref_value_map_unittest.cc'.
  5. Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@_ZN7testing8internal12ValueArray32I25OverrideIncognitoTestCaseS2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_EC2ES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2S2' clang: error: unable to execute command: Aborted (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 3.8.0 (trunk 254049) Target: arm--linux-gnueabihf Thread model: posix InstalledDir: /usr/local/google/home/sbc/dev/chromium/src/third_party/llvm-build/Release+Asserts/bin
MatzeB commented 8 years ago

This was fixed by r268869.

MatzeB commented 8 years ago

Does not reproduce on ToT. Trying the old version mentioned in the report.

zmodem commented 8 years ago

+Tim for ARM, and Matthias because it says "register" :-)

zmodem commented 8 years ago

Reduced test case Attaching reduced test case, to be run with:

$ clang -cc1 -triple thumbv7--linux-gnueabihf -emit-obj -O0 /tmp/a.cc

sbc100 commented 8 years ago

Only occurs with -O0.. switching to -O1 or -O2 fixed it.