[tor-bugs] #10599 [Tor bundles/installation]: Investigate building TBB with SoftBound or AddressSanitizer

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Jun 23 14:59:40 UTC 2014


#10599: Investigate building TBB with SoftBound or AddressSanitizer
-------------------------------------+-------------------------------------
     Reporter:  mikeperry            |      Owner:  erinn
         Type:  enhancement          |     Status:  new
     Priority:  major                |  Milestone:
    Component:  Tor                  |    Version:
  bundles/installation               |   Keywords:  gitian, tbb-security,
   Resolution:                       |  TorBrowserTeam201406
Actual Points:                       |  Parent ID:
       Points:                       |
-------------------------------------+-------------------------------------

Comment (by gk):

 Excluding the host tools from SoftBound CETS seems to help a bit. But the
 next issue is not far:

 clang -o Decimal.o -c  -fvisibility=hidden -DIMPL_MFBT
 -DMOZ_GLUE_IN_PROGRAM -DNO_NSPR_10_SUPPORT
 -I/home/firefox64/softboundcets-34/tor-browser/mfbt -I. -I../dist/include
 -I/home/firefox64/softboundcets-34/tor-browser/obj-x86_64-unknown-linux-
 gnu/dist/include/nspr -I/home/firefox64/softboundcets-34/tor-browser/obj-
 x86_64-unknown-linux-gnu/dist/include/nss      -fPIC -Qunused-arguments
 -Qunused-arguments -Wall -Wpointer-arith -Woverloaded-virtual -Werror
 =return-type -Wtype-limits -Wempty-body -Wsign-compare -Wno-invalid-
 offsetof -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-
 warning-option -Wno-return-type-c-linkage -Wno-mismatched-tags
 -fsoftboundcets -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-
 sections -fdata-sections -fno-exceptions -std=gnu++0x -pthread -pipe
 -DNDEBUG -DTRIMMED -g -Os -freorder-blocks  -fomit-frame-pointer
 -Qunused-arguments  -DMOZILLA_CLIENT -include ../mozilla-config.h -MD -MP
 -MF .deps/Decimal.o.pp  /home/firefox64/softboundcets-34/tor-
 browser/mfbt/decimal/Decimal.cpp
 1 warning generated.
 clang: SoftBoundCETS.cpp:3375: void
 SoftBoundCETSPass::addDereferenceChecks(llvm::Function*): Assertion `0 &&
 "Atomic Instructions not handled"' failed.
 0  clang           0x0000000002614f92
 llvm::sys::PrintStackTrace(_IO_FILE*) + 34
 1  clang           0x0000000002614379
 2  libpthread.so.0 0x00002ab31e673cb0
 3  libc.so.6       0x00002ab31f4f6425 gsignal + 53
 4  libc.so.6       0x00002ab31f4f9b8b abort + 379
 5  libc.so.6       0x00002ab31f4ef0ee
 6  libc.so.6       0x00002ab31f4ef192
 7  clang           0x00000000015bf62c
 SoftBoundCETSPass::addDereferenceChecks(llvm::Function*) + 540
 8  clang           0x00000000015c03a8
 SoftBoundCETSPass::runOnModule(llvm::Module&) + 600
 9  clang           0x000000000259a81f
 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 927
 10 clang           0x0000000000857aa6
 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions
 const&, clang::TargetOptions const&, clang::LangOptions const&,
 llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 3606
 11 clang           0x0000000000854e7d
 12 clang           0x0000000000a12534 clang::ParseAST(clang::Sema&, bool,
 bool) + 372
 13 clang           0x00000000006bf6ca clang::FrontendAction::Execute() +
 282
 14 clang           0x000000000069ff50
 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 352
 15 clang           0x000000000068536d
 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1693
 16 clang           0x000000000067c640 cc1_main(char const**, char const**,
 char const*, void*) + 1232
 17 clang           0x00000000006837b9 main + 665
 18 libc.so.6       0x00002ab31f4e176d __libc_start_main + 237
 19 clang           0x000000000067bff9
 Stack dump:
 0.      Program arguments: /home/firefox64/softboundcets-34/softboundcets-
 llvm-clang34/Release+Asserts/bin/clang -cc1 -triple x86_64-unknown-linux-
 gnu -emit-obj -disable-free -main-file-name Decimal.cpp -mrelocation-model
 pic -pic-level 2 -relaxed-aliasing -fmath-errno -masm-verbose
 -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-
 version 2.22 -momit-leaf-frame-pointer -g -ffunction-sections -fdata-
 sections -coverage-file /home/firefox64/softboundcets-34/tor-browser/obj-
 x86_64-unknown-linux-gnu/mfbt/Decimal.o -resource-dir
 /home/firefox64/softboundcets-34/softboundcets-llvm-
 clang34/Release+Asserts/bin/../lib/clang/3.4 -dependency-file
 .deps/Decimal.o.pp -MT Decimal.o -sys-header-deps -MP -include ../mozilla-
 config.h -D IMPL_MFBT -D MOZ_GLUE_IN_PROGRAM -D NO_NSPR_10_SUPPORT -D
 NDEBUG -D TRIMMED -D MOZILLA_CLIENT -I /home/firefox64/softboundcets-34
 /tor-browser/mfbt -I . -I ../dist/include -I
 /home/firefox64/softboundcets-34/tor-browser/obj-x86_64-unknown-linux-
 gnu/dist/include/nspr -I /home/firefox64/softboundcets-34/tor-browser/obj-
 x86_64-unknown-linux-gnu/dist/include/nss -internal-isystem
 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6 -internal-
 isystem /usr/lib/gcc/x86_64-linux-
 gnu/4.6/../../../../include/c++/4.6/x86_64-linux-gnu -internal-isystem
 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/backward
 -internal-isystem /usr/lib/gcc/x86_64-linux-
 gnu/4.6/../../../../include/x86_64-linux-gnu/c++/4.6 -internal-isystem
 /usr/local/include -internal-isystem /home/firefox64/softboundcets-34
 /softboundcets-llvm-clang34/Release+Asserts/bin/../lib/clang/3.4/include
 -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-
 isystem /include -internal-externc-isystem /usr/include -Os -Wall
 -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits
 -Wempty-body -Wsign-compare -Wno-invalid-offsetof -Wno-c++0x-extensions
 -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-
 type-c-linkage -Wno-mismatched-tags -std=gnu++0x -fdeprecated-macro
 -fdebug-compilation-dir /home/firefox64/softboundcets-34/tor-browser/obj-
 x86_64-unknown-linux-gnu/mfbt -ferror-limit 19 -fmessage-length 80
 -fvisibility hidden -pthread -fsoftboundcets -mstackrealign -fno-rtti
 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics
 -vectorize-loops -vectorize-slp -o Decimal.o -x c++
 /home/firefox64/softboundcets-34/tor-browser/mfbt/decimal/Decimal.cpp
 1.      <eof> parser at end of file
 2.      Per-module optimization passes
 3.      Running pass ' SoftBoundCETSPass' on module
 '/home/firefox64/softboundcets-34/tor-browser/mfbt/decimal/Decimal.cpp'.
 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.4 (branches/release_34)
 Target: x86_64-unknown-linux-gnu
 Thread model: posix
 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/Decimal-8da576.cpp
 clang: note: diagnostic msg: /tmp/Decimal-8da576.sh
 clang: note: diagnostic msg:

 ********************
 make[5]: *** [Decimal.o] Error 254

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/10599#comment:38>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list