twitter / rpc-perf

A tool for benchmarking RPC services
Apache License 2.0
464 stars 82 forks source link

Fails to compile on OS X (Yosemite) / Rust nightly #4

Closed seppo0010 closed 8 years ago

seppo0010 commented 8 years ago
swaisbrot@tw-mbp-swaisbrot:~/workspace/rpc-perf% multirust run nightly cargo build --release
   Compiling histogram v0.3.2
   Compiling bitflags v0.1.1
   Compiling winapi-build v0.1.1
   Compiling mpmc v0.1.0 (https://github.com/brayniac/mpmc#0cc33c9d)
   Compiling winapi v0.2.4
   Compiling regex-syntax v0.2.2
   Compiling rustc-serialize v0.3.16
   Compiling libc v0.1.12
   Compiling getopts v0.2.14
   Compiling shuteye v0.0.5
   Compiling lazy_static v0.1.15
   Compiling clock_ticks v0.0.5
   Compiling winapi v0.1.23
   Compiling crc v1.2.0
   Compiling log v0.3.3
   Compiling advapi32-sys v0.1.2
   Compiling nix v0.3.9
   Compiling kernel32-sys v0.2.1
   Compiling memchr v0.1.6
   Compiling bytes v0.2.11 (https://github.com/carllerche/bytes?branch=v0.2.x#d9eac250)
   Compiling request v0.1.0 (file:///Users/swaisbrot/workspace/rpc-perf)
   Compiling aho-corasick v0.3.4
   Compiling parser v0.1.0 (file:///Users/swaisbrot/workspace/rpc-perf)
   Compiling libc v0.2.2
   Compiling slab v0.1.2
   Compiling time v0.1.34
   Compiling rand v0.3.11
   Compiling mio v0.4.3 (file:///Users/swaisbrot/workspace/rpc-perf)
   Compiling simple_logger v0.4.0
   Compiling ratelimit v0.1.8
   Compiling workload v0.1.0 (file:///Users/swaisbrot/workspace/rpc-perf)
   Compiling regex v0.1.41
   Compiling toml v0.1.23
   Compiling rpc-perf v0.1.0 (file:///Users/swaisbrot/workspace/rpc-perf)
Assertion failed: (Ty == resolve(Ty->getRef()) && "type was not uniqued, possible ODR violation."), function getOrCreateTypeDIE, file /Users/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-mac/build/src/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp, line 713.
Could not compile `rpc-perf`.
swaisbrot@tw-mbp-swaisbrot:~/workspace/rpc-perf% multirust run nightly rustc --version
rustc 1.7.0-nightly (b4707ebca 2015-12-27)
brayniac commented 8 years ago

Got this to reproduce. Confirmed it's from debug + LTO in the release profile. Disabling either one results in a successful build.

For now, we should drop LTO option. It is more valuable to retain debugging symbols for profiling rpc-perf itself

brayniac commented 8 years ago

5 is merged to master and resolves the build issue on my test system