Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Switch rustc allocator to mimalloc #62340

Closed
wants to merge 9 commits into from

Conversation

gnzlbg
Copy link
Contributor

@gnzlbg gnzlbg commented Jul 3, 2019

Here, strong claims are made about the performance of mimalloc against pretty much every other widely-used allocator.

This PR is the smallest-diff that hopefully allows us to do a perf run of rustc with mimalloc.

Independently of the outcome, this is not intended to be merged upstream - hence tagged as WIP to prevent that.

r? @Zoxc

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 3, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 3, 2019

@Zoxc I would prefer to only run the tests of this PR on the target that is used by perf. Do you know which one is it? (is it x86_64-unknown-linux-gnu with builtin LLVM ?)

@Zoxc
Copy link
Contributor

Zoxc commented Jul 3, 2019

I'm not sure what you mean by that statement. I don't think try builds have much in the way of tests anyway.

I tried mimalloc in #62073, but I just hooked the Rust allocation functions so LLVM was unaffected. Does this hook C functions too?

@Mark-Simulacrum
Copy link
Member

Try builds do not have tests.

@bors try

@bors
Copy link
Contributor

bors commented Jul 3, 2019

⌛ Trying commit 23a20c3 with merge f98cbb8...

bors added a commit that referenced this pull request Jul 3, 2019
[WIP] Switch rustc allocator to mimalloc

[Here](https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action/), strong claims are made about the performance of mimalloc against pretty much every other widely-used allocator.

This PR is the smallest-diff that hopefully allows us to do a perf run of rustc with mimalloc.

Independently of the outcome, this is not intended to be merged upstream - hence tagged as WIP to prevent that.

r? @Zoxc
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 3, 2019

Does this hook C functions too?

That's a good question. I'll do a full build and use nm to find out. mimalloc has some build options to override the malloc symbols. I'll try setting that up as well.

@Zoxc
Copy link
Contributor

Zoxc commented Jul 3, 2019

@rust-timer build f98cbb8

@rust-timer
Copy link
Collaborator

Success: Queued f98cbb8 with parent 8c6fb02, comparison URL.

@bors
Copy link
Contributor

bors commented Jul 3, 2019

☀️ Try build successful - checks-azure, checks-travis
Build commit: f98cbb8

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 3, 2019

Can we abort ? I found a better way to statically link this, that overrides malloc completely. Should also do so for LLVM.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit f98cbb8, comparison URL.

@mati865
Copy link
Contributor

mati865 commented Jul 3, 2019

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 4, 2019

So that looks like this change managed to enable mimalloc properly (EDIT: maybe not, that might have picked the system allocator - no idea). I'm going to push a commit that updates the mimalloc-sys version, since there are a couple of things enabled in its --release builds that shouldn't be part of it.

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 4, 2019

So I've pushed a new commit that uses mimalloc-sys 0.1.4, which statically links mimalloc, and overrides all malloc symbols with the mimalloc ones. This should work for LLVM as well.

@Zoxc
Copy link
Contributor

Zoxc commented Jul 4, 2019

@bors try

@bors
Copy link
Contributor

bors commented Jul 4, 2019

⌛ Trying commit cf6409f with merge 1ca280b...

bors added a commit that referenced this pull request Jul 4, 2019
[WIP] Switch rustc allocator to mimalloc

[Here](https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action/), strong claims are made about the performance of mimalloc against pretty much every other widely-used allocator.

This PR is the smallest-diff that hopefully allows us to do a perf run of rustc with mimalloc.

Independently of the outcome, this is not intended to be merged upstream - hence tagged as WIP to prevent that.

r? @Zoxc
@bors
Copy link
Contributor

bors commented Jul 4, 2019

💔 Test failed - checks-azure

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 4, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 4, 2019

Forgot to update the lock-file, fixed.

@Xanewok
Copy link
Member

Xanewok commented Jul 4, 2019

@bors try

@bors
Copy link
Contributor

bors commented Jul 4, 2019

⌛ Trying commit 6080cc6 with merge ce5ffa9d5cc2f0c5c91d9a830fb883543d83ba19...

@bors
Copy link
Contributor

bors commented Jul 4, 2019

💔 Test failed - checks-azure

@mati865
Copy link
Contributor

mati865 commented Jul 4, 2019

According to https://docs.rs/mimalloc-sys/0.1.4/mimalloc_sys/ you have to use it like mimalloc_sys::mi_calloc instead of mimalloc_sys::calloc. There is another issue, aligned_alloc and posix_memalign are not available at all.

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 4, 2019

According to https://docs.rs/mimalloc-sys/0.1.4/mimalloc_sys/ you have to use it like mimalloc_sys::mi_calloc instead of mimalloc_sys::calloc

Done.

There is another issue, aligned_alloc and posix_memalign are not available at all.

They aren't exposed in the bindings, but they are part of the static library when override is enabled. They both call mi_malloc_aligned, see: https://github.com/microsoft/mimalloc/blob/1125271c2756ee1db1303918816fea35e08b3405/src/alloc-override.c#L138

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jul 4, 2019

I've pushed mimalloc-sys 0.1.5 which exports the standard C and POSIX definitions when the override is enabled.

@ljedrz
Copy link
Contributor

ljedrz commented Sep 12, 2019

@bors try

@bors
Copy link
Contributor

bors commented Sep 12, 2019

⌛ Trying commit 17ee296 with merge 54c5aaddedc71854b080a8c33c08a07a0410c550...

@bors
Copy link
Contributor

bors commented Sep 12, 2019

💔 Test failed - checks-azure

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-linux-alt of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-09-12T14:29:08.3761119Z Assembling stage1 compiler (x86_64-unknown-linux-gnu)
2019-09-12T14:29:08.4668017Z Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-09-12T14:29:08.9986925Z    Compiling cc v1.0.35
2019-09-12T14:29:08.9987816Z    Compiling core v0.0.0 (/checkout/src/libcore)
2019-09-12T14:29:09.0059170Z mimalloc: process init: 0x7fafc876dc80
2019-09-12T14:29:09.0059295Z mimalloc: debug level : 3
2019-09-12T14:29:09.0065361Z mimalloc: option 'pool_commit': 0
2019-09-12T14:29:09.0107252Z mimalloc: thread init: 0x7fafc33ff940
2019-09-12T14:29:09.0654545Z mimalloc: option 'page_reset': 0
2019-09-12T14:29:09.3766270Z mimalloc: option 'cache_reset': 0
2019-09-12T14:29:19.1405644Z    Compiling libc v0.2.62
2019-09-12T14:29:20.1603035Z [RUSTC-TIMING] build_script_build test:false 1.014
2019-09-12T14:29:20.1653676Z    Compiling build_helper v0.1.0 (/checkout/src/build_helper)
2019-09-12T14:29:22.0601172Z [RUSTC-TIMING] build_helper test:false 1.890
---
2019-09-12T14:29:35.6822883Z    Compiling rustc_lsan v0.0.0 (/checkout/src/librustc_lsan)
2019-09-12T14:29:36.5443375Z [RUSTC-TIMING] build_script_build test:false 0.856
2019-09-12T14:29:36.5481083Z    Compiling rustc_asan v0.0.0 (/checkout/src/librustc_asan)
2019-09-12T14:29:37.4408333Z [RUSTC-TIMING] build_script_build test:false 0.887
2019-09-12T14:29:38.0783232Z mimalloc: thread init: 0x7fafc4661940
2019-09-12T14:29:38.0783891Z mimalloc: thread init: 0x7fafc13fe940
2019-09-12T14:29:38.0784033Z mimalloc: thread init: 0x7fafba3b4940
2019-09-12T14:29:45.0188436Z    Compiling rustc-std-workspace-core v1.99.0 (/checkout/src/tools/rustc-std-workspace-core)
2019-09-12T14:29:45.0272103Z mimalloc: process init: 0x7f93233ecc80
2019-09-12T14:29:45.0279190Z mimalloc: debug level : 3
2019-09-12T14:29:45.0286007Z mimalloc: option 'pool_commit': 0
2019-09-12T14:29:45.0312651Z mimalloc: thread init: 0x7f931dfff940
2019-09-12T14:29:45.0657710Z mimalloc: thread init: 0x7f931f2e0940
2019-09-12T14:29:45.0666216Z mimalloc: thread init: 0x7f931bffe940
2019-09-12T14:29:45.0683165Z mimalloc: thread init: 0x7f9314fb4940
2019-09-12T14:29:45.0740666Z mimalloc: thread done: 0x7f931f2e0940
2019-09-12T14:29:45.0747949Z mimalloc: thread done: 0x7f931bffe940
2019-09-12T14:29:45.0773899Z mimalloc: option 'page_reset': 0
2019-09-12T14:29:45.0780139Z mimalloc: option 'cache_reset': 0
2019-09-12T14:29:45.0786405Z mimalloc: thread done: 0x7f931dfff940
2019-09-12T14:29:45.0793152Z mimalloc: option 'show_stats': 0
2019-09-12T14:29:45.0799454Z heap stats:     peak      total      freed       unit      count  
2019-09-12T14:29:45.0805762Z    elapsed:     0.049 s
2019-09-12T14:29:45.0828645Z    process: user: 0.017 s, system: 0.030 s, faults: 0, reclaims: 4501, rss: 82.2 mb
2019-09-12T14:29:45.0829756Z mimalloc: process done: 0x7f93233ecc80
2019-09-12T14:29:45.0863465Z [RUSTC-TIMING] rustc_std_workspace_core test:false 0.063
2019-09-12T14:29:45.8936088Z mimalloc: thread done: 0x7fafc4661940
2019-09-12T14:29:45.8940748Z mimalloc: thread done: 0x7fafc13fe940
2019-09-12T14:29:45.8952161Z mimalloc: thread done: 0x7fafba3b4940
2019-09-12T14:29:46.0144920Z mimalloc: thread done: 0x7fafc33ff940
2019-09-12T14:29:46.0152545Z mimalloc: option 'show_stats': 0
2019-09-12T14:29:46.0168735Z heap stats:     peak      total      freed       unit      count  
2019-09-12T14:29:46.0171152Z    elapsed:    37.008 s
2019-09-12T14:29:46.0183404Z    process: user: 36.334 s, system: 0.727 s, faults: 0, reclaims: 215496, rss: 831.7 mb
2019-09-12T14:29:46.0183515Z mimalloc: process done: 0x7fafc876dc80
2019-09-12T14:29:46.0253595Z [RUSTC-TIMING] core test:false 37.021
2019-09-12T14:30:41.1088874Z mimalloc: process init: 0x7fbc0662cc80
2019-09-12T14:30:41.1089375Z mimalloc: debug level : 3
2019-09-12T14:30:41.1090761Z mimalloc: option 'pool_commit': 0
2019-09-12T14:30:41.1146509Z mimalloc: thread init: 0x7fbc00fff940
2019-09-12T14:30:41.2280546Z mimalloc: option 'page_reset': 0
2019-09-12T14:30:41.2281928Z mimalloc: option 'cache_reset': 0
2019-09-12T14:30:42.4438773Z mimalloc: thread init: 0x7fbbf7fb4940
2019-09-12T14:30:42.4510578Z mimalloc: thread init: 0x7fbbfeffe940
2019-09-12T14:30:42.5032630Z mimalloc: thread init: 0x7fbbf4788940
2019-09-12T14:30:43.5079312Z mimalloc: thread done: 0x7fbbfeffe940
2019-09-12T14:30:43.5087872Z mimalloc: thread done: 0x7fbbf7fb4940
2019-09-12T14:30:43.5099552Z mimalloc: thread done: 0x7fbbf4788940
2019-09-12T14:30:43.5197104Z mimalloc: thread done: 0x7fbc00fff940
2019-09-12T14:30:43.7836467Z [RUSTC-TIMING] compiler_builtins test:false 2.678
2019-09-12T14:30:43.7844756Z rustc exited with signal: 11
2019-09-12T14:30:43.7860434Z error: Could not compile `compiler_builtins`.
2019-09-12T14:30:43.7860630Z Caused by:
2019-09-12T14:30:43.7860630Z Caused by:
2019-09-12T14:30:43.7864834Z   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name compiler_builtins /cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.18/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 --cfg 'feature="c"' --cfg 'feature="cc"' --cfg 'feature="compiler-builtins"' --cfg 'feature="core"' --cfg 'feature="default"' --cfg 'feature="rustc-dep-of-std"' -C metadata=44aab0dd629ccf93 -C extra-filename=-44aab0dd629ccf93 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=clang -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps --extern core=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_std_workspace_core-33cdf145454cc94a.rmeta --cap-lints allow -Zbinary-dep-depinfo -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/build/compiler_builtins-1126bf16533914f3/out --cfg '__absvdi2="optimized-c"' --cfg '__absvsi2="optimized-c"' --cfg '__absvti2="optimized-c"' --cfg '__addvdi3="optimized-c"' --cfg '__addvsi3="optimized-c"' --cfg '__addvti3="optimized-c"' --cfg '__clzdi2="optimized-c"' --cfg '__clzsi2="optimized-c"' --cfg '__clzti2="optimized-c"' --cfg '__cmpdi2="optimized-c"' --cfg '__cmpti2="optimized-c"' --cfg '__ctzdi2="optimized-c"' --cfg '__ctzsi2="optimized-c"' --cfg '__ctzti2="optimized-c"' --cfg '__divdc3="optimized-c"' --cfg '__divsc3="optimized-c"' --cfg '__divxc3="optimized-c"' --cfg '__extendhfsf2="optimized-c"' --cfg '__ffsti2="optimized-c"' --cfg '__floatdisf="optimized-c"' --cfg '__floatdixf="optimized-c"' --cfg '__floatundidf="optimized-c"' --cfg '__floatundisf="optimized-c"' --cfg '__floatundixf="optimized-c"' --cfg '__int_util="optimized-c"' --cfg '__muldc3="optimized-c"' --cfg '__mulsc3="optimized-c"' --cfg '__mulvdi3="optimized-c"' --cfg '__mulvsi3="optimized-c"' --cfg '__mulvti3="optimized-c"' --cfg '__mulxc3="optimized-c"' --cfg '__negdf2="optimized-c"' --cfg '__negdi2="optimized-c"' --cfg '__negsf2="optimized-c"' --cfg '__negti2="optimized-c"' --cfg '__negvdi2="optimized-c"' --cfg '__negvsi2="optimized-c"' --cfg '__negvti2="optimized-c"' --cfg '__paritydi2="optimized-c"' --cfg '__paritysi2="optimized-c"' --cfg '__parityti2="optimized-c"' --cfg '__popcountdi2="optimized-c"' --cfg '__popcountsi2="optimized-c"' --cfg '__popcountti2="optimized-c"' --cfg '__powixf2="optimized-c"' --cfg '__subvdi3="optimized-c"' --cfg '__subvsi3="optimized-c"' --cfg '__subvti3="optimized-c"' --cfg '__truncdfhf2="optimized-c"' --cfg '__truncdfsf2="optimized-c"' --cfg '__truncsfhf2="optimized-c"' --cfg '__ucmpdi2="optimized-c"' --cfg '__ucmpti2="optimized-c"' --cfg 'apple_versioning="optimized-c"' -l static=compiler-rt` (exit code: 254)
2019-09-12T14:31:00.6027867Z error: build failed
2019-09-12T14:31:00.6028871Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace profiler compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-09-12T14:31:00.6029130Z expected success, got: exit code: 101
2019-09-12T14:31:00.6029522Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap dist --host x86_64-unknown-linux-gnu --target x86_64-unknown-linux-gnu
2019-09-12T14:31:00.6029522Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap dist --host x86_64-unknown-linux-gnu --target x86_64-unknown-linux-gnu
2019-09-12T14:31:00.6029651Z Build completed unsuccessfully in 1:05:01
2019-09-12T14:31:00.6029776Z == clock drift check ==
2019-09-12T14:31:00.6029848Z   local time: Thu Sep 12 14:30:59 UTC 2019
2019-09-12T14:31:00.6029952Z   network time: Thu, 12 Sep 2019 14:31:00 GMT
2019-09-12T14:31:00.6030024Z == end clock drift check ==
2019-09-12T14:31:01.7692246Z ##[error]Bash exited with code '1'.
2019-09-12T14:31:01.7729760Z ##[section]Starting: Upload CPU usage statistics
2019-09-12T14:31:01.7735145Z ==============================================================================
2019-09-12T14:31:01.7735237Z Task         : Bash
2019-09-12T14:31:01.7735325Z Description  : Run a Bash script on macOS, Linux, or Windows

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@gnzlbg gnzlbg closed this Sep 12, 2019
@gnzlbg gnzlbg reopened this Sep 12, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Sep 12, 2019

@daanx the mimalloc version has been updated to the dev branch, that version is published on crates.io as 0.1.6-dev (you can find the sources in the dev branch of the Rust bindings here: https://github.com/gnzlbg/mimallocator/tree/dev - the version of mimalloc dev branch used is imported via a git submodule, you can see the exact commit it tracks here: https://github.com/gnzlbg/mimallocator/tree/dev/mimalloc-sys).

The bindings are built with the override, check_full, and secure "cargo features". These options try to enable the corresponding options of the mimalloc library while building it, but note that we don't use cmake, but instead define the C defines ourselves. You can see how that is done here: (https://github.com/gnzlbg/mimallocator/blob/dev/mimalloc-sys/build.rs)

@bors: try

@bors
Copy link
Contributor

bors commented Sep 12, 2019

@gnzlbg: 🔑 Insufficient privileges: not in try users

@ljedrz
Copy link
Contributor

ljedrz commented Sep 12, 2019

@bors try

@bors
Copy link
Contributor

bors commented Sep 12, 2019

⌛ Trying commit dd4b146 with merge abbecd0b5fc6c66fcc0e7ec1d6874f6dabcef44a...

@bors
Copy link
Contributor

bors commented Sep 12, 2019

💔 Test failed - checks-azure

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-linux-alt of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-09-12T17:30:53.8971064Z [RUSTC-TIMING] rustc_target test:false 36.663
2019-09-12T17:33:44.9433242Z [RUSTC-TIMING] syntax test:false 190.584
2019-09-12T17:33:44.9480477Z    Compiling syntax_ext v0.0.0 (/checkout/src/libsyntax_ext)
2019-09-12T17:34:50.0436416Z [RUSTC-TIMING] syntax_ext test:false 65.090
2019-09-12T17:34:50.0439324Z rustc exited with signal: 11
2019-09-12T17:34:50.0440227Z error: Could not compile `syntax_ext`.
2019-09-12T17:34:50.0440836Z Caused by:
2019-09-12T17:34:50.0440836Z Caused by:
2019-09-12T17:34:50.0444406Z   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name syntax_ext src/libsyntax_ext/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 -C metadata=1b3148a98b295d00 -C extra-filename=-1b3148a98b295d00 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=clang -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps --extern fmt_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libfmt_macros-031ce71afabb2ae9.rmeta --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-9352617273cf03be.rmeta --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-86db59526a5a9ff7.rmeta --extern errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-c6e47645683f1740.rmeta --extern rustc_lexer=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_lexer-05e9d19d2f137100.rmeta --extern rustc_target=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_target-0ed0b00234c42c34.rmeta --extern smallvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsmallvec-a8e0c8d042bcaf35.rmeta --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-6f8de0098a4c61f5.rmeta --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-416f875a0cc5ae05.rmeta -Zbinary-dep-depinfo` (exit code: 254)
2019-09-12T17:41:56.2032240Z [RUSTC-TIMING] rustc test:false 662.300
2019-09-12T17:41:56.2148131Z error: build failed
2019-09-12T17:41:56.2170980Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "jemalloc" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-09-12T17:41:56.2171247Z expected success, got: exit code: 101
2019-09-12T17:41:56.2171247Z expected success, got: exit code: 101
2019-09-12T17:41:56.2184352Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap dist --host x86_64-unknown-linux-gnu --target x86_64-unknown-linux-gnu
2019-09-12T17:41:56.2184536Z Build completed unsuccessfully in 1:19:31
2019-09-12T17:41:56.2240826Z == clock drift check ==
2019-09-12T17:41:56.2263186Z   local time: Thu Sep 12 17:41:56 UTC 2019
2019-09-12T17:41:56.5558499Z   network time: Thu, 12 Sep 2019 17:41:56 GMT
2019-09-12T17:41:56.5559597Z == end clock drift check ==
2019-09-12T17:41:59.1365329Z ##[error]Bash exited with code '1'.
2019-09-12T17:41:59.1402924Z ##[section]Starting: Upload CPU usage statistics
2019-09-12T17:41:59.1409792Z ==============================================================================
2019-09-12T17:41:59.1409895Z Task         : Bash
2019-09-12T17:41:59.1409959Z Description  : Run a Bash script on macOS, Linux, or Windows

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@gnzlbg gnzlbg closed this Sep 12, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Sep 12, 2019

The error has been reported upstream: microsoft/mimalloc#77 (comment)

@gnzlbg gnzlbg reopened this Sep 12, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Sep 12, 2019

So "0.1.6-dev" was being resolved as "0.1.6" (nice catch @daanx). Fixed that in the last commit.

@bors: try

@bors
Copy link
Contributor

bors commented Sep 12, 2019

@gnzlbg: 🔑 Insufficient privileges: not in try users

@matklad
Copy link
Member

matklad commented Sep 12, 2019

@bors try

@bors
Copy link
Contributor

bors commented Sep 12, 2019

⌛ Trying commit 60927dd with merge 9a2e5c9c86099b7aa035031f905e32e72aaa06b1...

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-linux-alt of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-09-12T23:07:37.1481381Z [RUSTC-TIMING] syntax test:false 194.422
2019-09-12T23:07:37.1519006Z    Compiling syntax_ext v0.0.0 (/checkout/src/libsyntax_ext)
2019-09-12T23:08:43.4273038Z [RUSTC-TIMING] syntax_ext test:false 66.267
2019-09-12T23:12:05.8903021Z [RUSTC-TIMING] rustc_metadata test:false 202.454
2019-09-12T23:12:05.8903188Z rustc exited with signal: 11
2019-09-12T23:12:05.8926039Z error: Could not compile `rustc_metadata`.
2019-09-12T23:12:05.8926235Z Caused by:
2019-09-12T23:12:05.8926235Z Caused by:
2019-09-12T23:12:05.8930729Z   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name rustc_metadata src/librustc_metadata/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 -C metadata=a5f1a9999c6b6514 -C extra-filename=-a5f1a9999c6b6514 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=clang -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps --extern flate2=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libflate2-e280e77eab6861ca.rmeta --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-88b512bde012b5c2.rmeta --extern memmap=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libmemmap-b8b6fc822e9b8f0f.rmeta --extern rustc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc-476e62a7cb316b30.rmeta --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-b3d61ad1ad5d912b.rmeta --extern errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-b8349556a564c536.rmeta --extern rustc_target=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_target-3c7afe7f9429251b.rmeta --extern rustc_serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-e01c50c45011be00.rmeta --extern smallvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsmallvec-c8e4dd45c44e2f8e.rmeta --extern stable_deref_trait=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libstable_deref_trait-e2fccb8d2286731a.rmeta --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-6c497f1bb928a823.rmeta --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-68165496958caa36.rmeta -Zbinary-dep-depinfo -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/miniz-sys-7c6f17e16b7f38ca/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/backtrace-sys-bcb65f4492db4d84/out` (exit code: 254)
2019-09-12T23:12:05.8932432Z warning: build failed, waiting for other jobs to finish...
2019-09-12T23:14:31.9142450Z mimalloc: warning: possibly trying to mi_free a pointer that does not point to a valid heap region: 0x0x413f1c02000
2019-09-12T23:14:31.9142691Z (this may still be a valid very large allocation (over 64MiB))
2019-09-12T23:14:31.9142806Z mimalloc: warning: (yes, the previous pointer 0x0x413f1c02000 was valid after all)
2019-09-12T23:14:31.9292779Z mimalloc: warning: possibly trying to mi_free a pointer that does not point to a valid heap region: 0x0x41426002000
2019-09-12T23:14:31.9292911Z (this may still be a valid very large allocation (over 64MiB))
2019-09-12T23:14:31.9294975Z mimalloc: warning: (yes, the previous pointer 0x0x41426002000 was valid after all)
2019-09-12T23:18:21.3635930Z [RUSTC-TIMING] rustc test:false 821.997
2019-09-12T23:18:21.3636999Z rustc exited with signal: 11
2019-09-12T23:18:21.3699421Z 
2019-09-12T23:18:21.3699502Z Caused by:
2019-09-12T23:18:21.3699502Z Caused by:
2019-09-12T23:18:21.3708739Z   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name rustc src/librustc/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 -C metadata=476e62a7cb316b30 -C extra-filename=-476e62a7cb316b30 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=clang -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps --extern arena=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libarena-37f6d513c1917828.rmeta --extern backtrace=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libbacktrace-b6abe5564a8d0aca.rmeta --extern bitflags=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libbitflags-ee10ae51cb4a7d91.rmeta --extern byteorder=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libbyteorder-04369285c633a2dd.rmeta --extern chalk_engine=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libchalk_engine-200579d743bd7526.rmeta --extern fmt_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libfmt_macros-688519fe80ffab72.rmeta --extern graphviz=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libgraphviz-6d2bb103e2250168.rmeta --extern jobserver=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libjobserver-37f72d61a9a2cab6.rmeta --extern lazy_static=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblazy_static-36392f4cf7390ae7.rmeta --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-88b512bde012b5c2.rmeta --extern measureme=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libmeasureme-2c7310d552e962f3.rmeta --extern num_cpus=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libnum_cpus-809fce6131ce1066.rmeta --extern parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libparking_lot-357b8a7c5dacb4b8.rmeta --extern polonius_engine=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libpolonius_engine-a603a19f9782c263.rmeta --extern rustc_rayon=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_rayon-df0e29451f8f7744.rmeta --extern rustc_rayon_core=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_rayon_core-9e7c3b821321f400.rmeta --extern rustc_apfloat=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_apfloat-7e8932e8cec8758e.rmeta --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-b3d61ad1ad5d912b.rmeta --extern errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-b8349556a564c536.rmeta --extern rustc_fs_util=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_fs_util-3eabeaa59fab0709.rmeta --extern rustc_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps/librustc_macros-db21d7e98d9fabb1.so --extern rustc_target=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_target-3c7afe7f9429251b.rmeta --extern scoped_tls=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libscoped_tls-85fbd1370dac0bc0.rmeta --extern rustc_serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-e01c50c45011be00.rmeta --extern smallvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsmallvec-c8e4dd45c44e2f8e.rmeta --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-6c497f1bb928a823.rmeta --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-68165496958caa36.rmeta -Zbinary-dep-depinfo --cfg always_verify_llvm_ir -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/backtrace-sys-bcb65f4492db4d84/out` (exit code: 254)
2019-09-12T23:18:21.3721266Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "jemalloc" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-09-12T23:18:21.3737057Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap dist --host x86_64-unknown-linux-gnu --target x86_64-unknown-linux-gnu
2019-09-12T23:18:21.3737257Z Build completed unsuccessfully in 1:23:26
2019-09-12T23:18:21.3804255Z == clock drift check ==
2019-09-12T23:18:21.3822138Z   local time: Thu Sep 12 23:18:21 UTC 2019
2019-09-12T23:18:21.3822138Z   local time: Thu Sep 12 23:18:21 UTC 2019
2019-09-12T23:18:21.7130145Z   network time: Thu, 12 Sep 2019 23:18:21 GMT
2019-09-12T23:18:21.7133612Z == end clock drift check ==
2019-09-12T23:18:24.3565561Z ##[error]Bash exited with code '1'.
2019-09-12T23:18:24.3604087Z ##[section]Starting: Upload CPU usage statistics
2019-09-12T23:18:24.3610957Z ==============================================================================
2019-09-12T23:18:24.3611080Z Task         : Bash
2019-09-12T23:18:24.3611156Z Description  : Run a Bash script on macOS, Linux, or Windows

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Sep 12, 2019

💔 Test failed - checks-azure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet