[llvm-bugs] [Bug 34045] New: Regression(309922:309934): clang crashes compiling chrome/android

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Aug 3 08:16:08 PDT 2017


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

            Bug ID: 34045
           Summary: Regression(309922:309934): clang crashes compiling
                    chrome/android
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Transformation Utilities
          Assignee: unassignedbugs at nondot.org
          Reporter: nicolasweber at gmx.de
                CC: llvm-bugs at lists.llvm.org

FAILED: obj/third_party/boringssl/boringssl/bcm.o 
../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF
obj/third_party/boringssl/boringssl/bcm.o.d -DV8_DEPRECATION_WARNINGS
-DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DSAFE_BROWSING_DB_REMOTE
-DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"309934\"
-D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H
-DANDROID_NDK_VERSION_ROLL=r12b_1 -DCOMPONENT_BUILD -D__GNU_SOURCE=1
-D__compiler_offsetof=__builtin_offsetof -Dnan=__builtin_nan -D_DEBUG
-DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1
-DBORINGSSL_ALLOW_CXX_RUNTIME -DBORINGSSL_IMPLEMENTATION
-DBORINGSSL_NO_STATIC_INITIALIZER -DOPENSSL_SMALL -D_XOPEN_SOURCE=700
-DBORINGSSL_SHARED_LIBRARY -I../.. -Igen
-I../../third_party/boringssl/src/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
-fcolor-diagnostics -ffunction-sections -fno-short-enums
--target=arm-linux-androideabi -march=armv7-a -mfloat-abi=softfp
-mtune=generic-armv7-a -mfpu=neon -mthumb -Oz -fno-ident -fdata-sections
-ffunction-sections -fomit-frame-pointer -gdwarf-3 -g2 -fvisibility=hidden
-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 -std=gnu11
--sysroot=../../third_party/android_tools/ndk/platforms/android-16/arch-arm
-std=c99 -c ../../third_party/boringssl/src/crypto/fipsmodule/bcm.c -o
obj/third_party/boringssl/boringssl/bcm.o
Overran sorted position:
t1130: i32,i32 = umul_lohi t1128, t1129
  t1128: i32,ch = load<LD4[%b]> t46, t6, undef:i32
    t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
      t5: i32 = Register %vreg2
    t8: i32 = undef
  t1129: i32,ch = load<LD4[%arrayidx55]> t46, t48, undef:i32
    t48: i32 = add t4, Constant:i32<8>
      t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
        t3: i32 = Register %vreg1
      t47: i32 = Constant<8>
    t8: i32 = undef
Checking if this is due to cycles
Detected cycle in SelectionDAG
Offending node:
t2321: i32,i32 = ARMISD::UMLAL t1110, t1111, t2322, Constant:i32<0>
  t1110: i32,ch = load<LD4[%b]> t19, t6, undef:i32
    t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
      t5: i32 = Register %vreg2
    t8: i32 = undef
  t1111: i32,ch = load<LD4[%arrayidx33]> t19, t30, undef:i32
    t30: i32 = add t4, Constant:i32<4>
      t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
        t3: i32 = Register %vreg1
      t22: i32 = Constant<4>
    t8: i32 = undef
  t2322: i32,i32 = ARMISD::UMLAL t1113, t1114, t1109:1, t2321:1
    t1113: i32,ch = load<LD4[%arrayidx14]> t19, t23, undef:i32
      t23: i32 = add t6, Constant:i32<4>
        t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
          t5: i32 = Register %vreg2
        t22: i32 = Constant<4>
      t8: i32 = undef
    t1114: i32,ch = load<LD4[%a]> t19, t4, undef:i32
      t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
        t3: i32 = Register %vreg1
      t8: i32 = undef
    t1109: i32,i32 = umul_lohi t1108, t1107
      t1108: i32,ch = load<LD4[%b]> t0, t6, undef:i32
        t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
          t5: i32 = Register %vreg2
        t8: i32 = undef
      t1107: i32,ch = load<LD4[%a]> t0, t4, undef:i32
        t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
          t3: i32 = Register %vreg1
        t8: i32 = undef
    t2321: i32,i32 = ARMISD::UMLAL t1110, t1111, t2322, Constant:i32<0>
      t1110: i32,ch = load<LD4[%b]> t19, t6, undef:i32
        t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
          t5: i32 = Register %vreg2
        t8: i32 = undef
      t1111: i32,ch = load<LD4[%arrayidx33]> t19, t30, undef:i32
        t30: i32 = add t4, Constant:i32<4>
          t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
            t3: i32 = Register %vreg1
          t22: i32 = Constant<4>
        t8: i32 = undef
      t2322: i32,i32 = ARMISD::UMLAL t1113, t1114, t1109:1, t2321:1
        t1113: i32,ch = load<LD4[%arrayidx14]> t19, t23, undef:i32
          t23: i32 = add t6, Constant:i32<4>
            t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
              t5: i32 = Register %vreg2
            t22: i32 = Constant<4>
          t8: i32 = undef
        t1114: i32,ch = load<LD4[%a]> t19, t4, undef:i32
          t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
            t3: i32 = Register %vreg1
          t8: i32 = undef
        t1109: i32,i32 = umul_lohi t1108, t1107
          t1108: i32,ch = load<LD4[%b]> t0, t6, undef:i32
            t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
              t5: i32 = Register %vreg2
            t8: i32 = undef
          t1107: i32,ch = load<LD4[%a]> t0, t4, undef:i32
            t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
              t3: i32 = Register %vreg1
            t8: i32 = undef
        t2321: i32,i32 = ARMISD::UMLAL t1110, t1111, t2322, Constant:i32<0>
          t1110: i32,ch = load<LD4[%b]> t19, t6, undef:i32
            t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
              t5: i32 = Register %vreg2
            t8: i32 = undef
          t1111: i32,ch = load<LD4[%arrayidx33]> t19, t30, undef:i32
            t30: i32 = add t4, Constant:i32<4>
              t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
                t3: i32 = Register %vreg1
              t22: i32 = Constant<4>
            t8: i32 = undef
          t2322: i32,i32 = ARMISD::UMLAL t1113, t1114, t1109:1, t2321:1
            t1113: i32,ch = load<LD4[%arrayidx14]> t19, t23, undef:i32
              t23: i32 = add t6, Constant:i32<4>
                t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
                  t5: i32 = Register %vreg2
                t22: i32 = Constant<4>
              t8: i32 = undef
            t1114: i32,ch = load<LD4[%a]> t19, t4, undef:i32
              t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
                t3: i32 = Register %vreg1
              t8: i32 = undef
            t1109: i32,i32 = umul_lohi t1108, t1107
              t1108: i32,ch = load<LD4[%b]> t0, t6, undef:i32
                t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
                  t5: i32 = Register %vreg2
                t8: i32 = undef
              t1107: i32,ch = load<LD4[%a]> t0, t4, undef:i32
                t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
                  t3: i32 = Register %vreg1
                t8: i32 = undef
            t2321: i32,i32 = ARMISD::UMLAL t1110, t1111, t2322, Constant:i32<0>
              t1110: i32,ch = load<LD4[%b]> t19, t6, undef:i32
                t6: i32,ch = CopyFromReg t0, Register:i32 %vreg2
                  t5: i32 = Register %vreg2
                t8: i32 = undef
              t1111: i32,ch = load<LD4[%arrayidx33]> t19, t30, undef:i32
                t30: i32 = add t4, Constant:i32<4>
                  t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
                  t22: i32 = Constant<4>
                t8: i32 = undef
              t2322: i32,i32 = ARMISD::UMLAL t1113, t1114, t1109:1, t2321:1
                t1113: i32,ch = load<LD4[%arrayidx14]> t19, t23, undef:i32
                  t23: i32 = add t6, Constant:i32<4>
                  t8: i32 = undef
                t1114: i32,ch = load<LD4[%a]> t19, t4, undef:i32
                  t4: i32,ch = CopyFromReg t0, Register:i32 %vreg1
                  t8: i32 = undef
                t1109: i32,i32 = umul_lohi t1108, t1107
                  t1108: i32,ch = load<LD4[%b]> t0, t6, undef:i32
                  t1107: i32,ch = load<LD4[%a]> t0, t4, undef:i32
                t2321: i32,i32 = ARMISD::UMLAL t1110, t1111, t2322,
Constant:i32<0>
                  t1110: i32,ch = load<LD4[%b]> t19, t6, undef:i32
                  t1111: i32,ch = load<LD4[%arrayidx33]> t19, t30, undef:i32
                  t2322: i32,i32 = ARMISD::UMLAL t1113, t1114, t1109:1, t2321:1
                  t1106: i32 = Constant<0>
              t1106: i32 = Constant<0>
          t1106: i32 = Constant<0>
      t1106: i32 = Constant<0>
  t1106: i32 = Constant<0>
#0 0x000000000204659a llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x204659a)
#1 0x000000000204469e llvm::sys::RunSignalHandlers()
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x204469e)
#2 0x0000000002044802
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2044802)
#3 0x00007f74af318330 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#4 0x00007f74adf08c37 gsignal
/build/eglibc-SvCtMH/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
...
#51 0x0000000002793706 llvm::checkForCycles(llvm::SDNode const*,
llvm::SelectionDAG const*, bool)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2793706)
#52 0x00000000027984d3 llvm::SelectionDAG::AssignTopologicalOrder()
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x27984d3)
#53 0x00000000027bebe1 llvm::SelectionDAGISel::DoInstructionSelection()
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x27bebe1)
#54 0x00000000027c46d5 llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x27c46d5)
#55 0x00000000027c52d6
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,
true, false, void>, false, true>,
llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true,
false, void>, false, true>, bool&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x27c52d6)
#56 0x00000000027cce83
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x27cce83)
#57 0x00000000027cf2a7
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x27cf2a7)
#58 0x0000000000f109b4
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0xf109b4)
#59 0x0000000001913755
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1913755)
#60 0x0000000001c05ed3 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1c05ed3)
#61 0x0000000001c05f7c llvm::FPPassManager::runOnModule(llvm::Module&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1c05f7c)
#62 0x0000000001c06ccf llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1c06ccf)
#63 0x00000000021c1cf8
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x21c1cf8)
#64 0x00000000021c2fc2 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> >)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x21c2fc2)
#65 0x00000000028877cb
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x28877cb)
#66 0x0000000002c81692 clang::ParseAST(clang::Sema&, bool, bool)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2c81692)
#67 0x0000000002886e6f clang::CodeGenAction::ExecuteAction()
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2886e6f)
#68 0x000000000254d616 clang::FrontendAction::Execute()
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x254d616)
#69 0x000000000252567e
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x252567e)
#70 0x00000000025db7cb
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x25db7cb)
#71 0x0000000000b71408 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*)
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0xb71408)
#72 0x0000000000b0d73d main
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0xb0d73d)
#73 0x00007f74adef3f45 __libc_start_main
/build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:321:0
#74 0x0000000000b6cb79 _start
(/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0xb6cb79)
Stack dump:
0.      Program arguments:
/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0
-cc1 -triple thumbv7--linux-android -emit-obj -disable-free -main-file-name
bcm.c -mrelocation-model pic -pic-level 2 -mthread-model posix
-relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases
-munwind-tables -fuse-init-array -target-cpu generic -target-feature
+soft-float-abi -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 soft -dwarf-column-info
-debug-info-kind=limited -dwarf-version=3 -debugger-tuning=gdb
-ffunction-sections -fdata-sections -coverage-notes-file
/b/c/builder/ClangToTAndroid__dbg_/src/out/Debug/obj/third_party/boringssl/boringssl/bcm.gcno
-resource-dir
/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0
-dependency-file obj/third_party/boringssl/boringssl/bcm.o.d -MT
obj/third_party/boringssl/boringssl/bcm.o -D V8_DEPRECATION_WARNINGS -D
USE_OPENSSL_CERTS=1 -D NO_TCMALLOC -D DISABLE_NACL -D SAFE_BROWSING_DB_REMOTE
-D CHROMIUM_BUILD -D FIELDTRIAL_TESTING_ENABLED -D CR_CLANG_REVISION="309934"
-D _FILE_OFFSET_BITS=64 -D ANDROID -D HAVE_SYS_UIO_H -D
ANDROID_NDK_VERSION_ROLL=r12b_1 -D COMPONENT_BUILD -D __GNU_SOURCE=1 -D
__compiler_offsetof=__builtin_offsetof -D nan=__builtin_nan -D _DEBUG -D
DYNAMIC_ANNOTATIONS_ENABLED=1 -D WTF_USE_DYNAMIC_ANNOTATIONS=1 -D
BORINGSSL_ALLOW_CXX_RUNTIME -D BORINGSSL_IMPLEMENTATION -D
BORINGSSL_NO_STATIC_INITIALIZER -D OPENSSL_SMALL -D _XOPEN_SOURCE=700 -D
BORINGSSL_SHARED_LIBRARY -I ../.. -I gen -I
../../third_party/boringssl/src/include -D __DATE__= -D __TIME__= -D
__TIMESTAMP__= -isysroot
../../third_party/android_tools/ndk/platforms/android-16/arch-arm
-internal-isystem
../../third_party/android_tools/ndk/platforms/android-16/arch-arm/usr/local/include
-internal-isystem
/b/c/builder/ClangToTAndroid__dbg_/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/include
-internal-externc-isystem
../../third_party/android_tools/ndk/platforms/android-16/arch-arm/include
-internal-externc-isystem
../../third_party/android_tools/ndk/platforms/android-16/arch-arm/usr/include
-Oz -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 -std=c99
-fdebug-compilation-dir /b/c/builder/ClangToTAndroid__dbg_/src/out/Debug
-ferror-limit 19 -fmessage-length 0 -fvisibility hidden -femulated-tls
-stack-protector 1 -stack-protector-buffer-size 4
-fallow-half-arguments-and-returns -fno-signed-char -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -vectorize-slp -o
obj/third_party/boringssl/boringssl/bcm.o -x c
../../third_party/boringssl/src/crypto/fipsmodule/bcm.c 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module
'../../third_party/boringssl/src/crypto/fipsmodule/bcm.c'.
4.      Running pass 'ARM Instruction Selection' on function '@bn_mul_comba8'
clang-6.0: error: unable to execute command: Aborted (core dumped)
clang-6.0: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 6.0.0 (trunk 309934)
Target: arm--linux-android
Thread model: posix
InstalledDir:
/b/c/builder/ClangToTAndroid__dbg_/src/out/Debug/../../third_party/llvm-build/Release+Asserts/bin
clang-6.0: 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-6.0: 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/20170803/cc185d73/attachment-0001.html>


More information about the llvm-bugs mailing list