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

[self-profiler] Make the profiler faster/more efficient #58425

Merged
merged 4 commits into from Mar 3, 2019

Conversation

Projects
None yet
9 participants
@wesleywiser
Copy link
Member

wesleywiser commented Feb 13, 2019

Related to #58372

r? @michaelwoerister

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from a569a0d to 550146f Feb 13, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Feb 13, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:2708a897:start=1550064370670388663,finish=1550064371914852396,duration=1244463733
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:09:40] 
[01:09:40] running 119 tests
[01:10:05] .iiiii...i.....i..i...i..i.i..i.ii...i.....i..i....i..........iiii..........i...ii...i.......ii.i.i. 100/119
[01:10:09] i......iii.i.....ii
[01:10:09] 
[01:10:09]  finished in 28.683
[01:10:09] travis_fold:end:test_debuginfo

---
[01:28:53] 
[01:29:13] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:29:13]     --> src/librustc/session/config.rs:2617:24
[01:29:13]      |
[01:29:13] 2617 |               let sess = build_session(sessopts, None, registry);
[01:29:13]      | 
[01:29:13]     ::: src/librustc/session/mod.rs:1007:1
[01:29:13]      |
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1008 | |     sopts: config::Options,
[01:29:13] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:29:13] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:29:13] 1022 | |     )
[01:29:13] 1023 | | }
[01:29:13]      | |_- defined here
[01:29:13] 
[01:29:13] 
[01:29:13] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:29:13]     --> src/librustc/session/config.rs:2635:24
[01:29:13]      |
[01:29:13] 2635 |               let sess = build_session(sessopts, None, registry);
[01:29:13]      | 
[01:29:13]     ::: src/librustc/session/mod.rs:1007:1
[01:29:13]      |
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1008 | |     sopts: config::Options,
[01:29:13] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:29:13] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:29:13] 1022 | |     )
[01:29:13] 1023 | | }
[01:29:13]      | |_- defined here
[01:29:13] 
[01:29:13] 
[01:29:13] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:29:13]     --> src/librustc/session/config.rs:2649:24
[01:29:13]      |
[01:29:13] 2649 |               let sess = build_session(sessopts, None, registry);
[01:29:13]      | 
[01:29:13]     ::: src/librustc/session/mod.rs:1007:1
[01:29:13]      |
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1008 | |     sopts: config::Options,
[01:29:13] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:29:13] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:29:13] 1022 | |     )
[01:29:13] 1023 | | }
[01:29:13]      | |_- defined here
[01:29:13] 
[01:29:13] 
[01:29:13] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:29:13]     --> src/librustc/session/config.rs:2659:24
[01:29:13]      |
[01:29:13] 2659 |               let sess = build_session(sessopts, None, registry);
[01:29:13]      | 
[01:29:13]     ::: src/librustc/session/mod.rs:1007:1
[01:29:13]      |
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1008 | |     sopts: config::Options,
[01:29:13] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:29:13] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:29:13] 1022 | |     )
[01:29:13] 1023 | | }
[01:29:13]      | |_- defined here
[01:29:13] 
[01:29:13] 
[01:29:13] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:29:13]     --> src/librustc/session/config.rs:2667:24
[01:29:13]      |
[01:29:13] 2667 |               let sess = build_session(sessopts, None, registry);
[01:29:13]      | 
[01:29:13]     ::: src/librustc/session/mod.rs:1007:1
[01:29:13]      |
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1007 | / pub fn build_session(
[01:29:13] 1008 | |     sopts: config::Options,
[01:29:13] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:29:13] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:29:13] 1022 | |     )
[01:29:13] 1023 | | }
[01:29:13]      | |_- defined here
[01:29:13] 
---
[01:29:21] 
[01:29:21] To learn more, run the command again with --verbose.
[01:29:21] 
[01:29:21] 
[01:29:21] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "-p" "rustc" "--" "--quiet"
[01:29:21] 
[01:29:21] 
[01:29:21] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:29:21] Build completed unsuccessfully in 0:30:55
[01:29:21] Build completed unsuccessfully in 0:30:55
[01:29:21] Makefile:48: recipe for target 'check' failed
[01:29:21] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0b0eb3d8
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Wed Feb 13 14:55:44 UTC 2019
---
travis_time:end:009d3a76:start=1550069746046369497,finish=1550069746051734721,duration=5365224
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00d05a89
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:044c1d78
travis_time:start:044c1d78
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:29060f50
$ dmesg | grep -i kill

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)

@michaelwoerister

This comment has been minimized.

Copy link
Contributor

michaelwoerister commented Feb 13, 2019

Once #58309 lands, we should do a perf run to measure the overhead. I suspect that emitting JSON instead of binary data is still more expensive than we'd like it to be.

@wesleywiser

This comment has been minimized.

Copy link
Member Author

wesleywiser commented Feb 13, 2019

Probably, I haven't looked into doing binary serialization yet. Is there any existing infrastructure in the compiler for that or should I roll my own?

@wesleywiser

This comment has been minimized.

Copy link
Member Author

wesleywiser commented Feb 13, 2019

(FYI, in case you were remembering the performance of serialization as it was at All-Hands, that was without buffering the writes. I added a BufWriter around the file and it significantly improved the performance.)

@michaelwoerister

This comment has been minimized.

Copy link
Contributor

michaelwoerister commented Feb 13, 2019

There is rustc's libserialize which works OK for metadata and incremental caches.

@michaelwoerister

This comment has been minimized.

Copy link
Contributor

michaelwoerister commented Feb 13, 2019

I don't know how easy or hard it is to use libserialize outside of the compiler though. Let's check how the JSON version does first.

@wesleywiser

This comment has been minimized.

Copy link
Member Author

wesleywiser commented Feb 13, 2019

I think it's just a matter of #[derive(RustcDecodable)] but I'm not sure.

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 14, 2019

☔️ The latest upstream changes (presumably #58455) made this pull request unmergeable. Please resolve the merge conflicts.

@michaelwoerister

This comment has been minimized.

Copy link
Contributor

michaelwoerister commented Feb 15, 2019

I think it's just a matter of #[derive(RustcDecodable)] but I'm not sure.

Yes, I think that's true as long as both the compiler and importing tool are compiled with the same compiler version.

Given that there's just a couple of data structures that need to be serialized, doing something handwritten might be a viable option though. libserialize has some overhead because it uses leb128 for encoding integers. Since we care more about speed than about file size libserialize might not be a good trade off.

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from 550146f to 27d5873 Feb 15, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Feb 15, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:01d41984:start=1550232874282701886,finish=1550232875131673338,duration=848971452
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:10:41] 
[01:10:41] running 119 tests
[01:11:05] .iiiii...i.....i..i...i..i.i..i.ii...i.....i..i....i..........iiii..........i...ii...i.......ii.i.i. 100/119
[01:11:10] i......iii.i.....ii
[01:11:10] 
[01:11:10]  finished in 28.498
[01:11:10] travis_fold:end:test_debuginfo

---
[01:29:56] 
[01:30:17] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:30:17]     --> src/librustc/session/config.rs:2619:24
[01:30:17]      |
[01:30:17] 2619 |               let sess = build_session(sessopts, None, registry);
[01:30:17]      | 
[01:30:17]     ::: src/librustc/session/mod.rs:1007:1
[01:30:17]      |
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1008 | |     sopts: config::Options,
[01:30:17] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:30:17] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:30:17] 1022 | |     )
[01:30:17] 1023 | | }
[01:30:17]      | |_- defined here
[01:30:17] 
[01:30:17] 
[01:30:17] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:30:17]     --> src/librustc/session/config.rs:2637:24
[01:30:17]      |
[01:30:17] 2637 |               let sess = build_session(sessopts, None, registry);
[01:30:17]      | 
[01:30:17]     ::: src/librustc/session/mod.rs:1007:1
[01:30:17]      |
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1008 | |     sopts: config::Options,
[01:30:17] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:30:17] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:30:17] 1022 | |     )
[01:30:17] 1023 | | }
[01:30:17]      | |_- defined here
[01:30:17] 
[01:30:17] 
[01:30:17] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:30:17]     --> src/librustc/session/config.rs:2651:24
[01:30:17]      |
[01:30:17] 2651 |               let sess = build_session(sessopts, None, registry);
[01:30:17]      | 
[01:30:17]     ::: src/librustc/session/mod.rs:1007:1
[01:30:17]      |
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1008 | |     sopts: config::Options,
[01:30:17] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:30:17] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:30:17] 1022 | |     )
[01:30:17] 1023 | | }
[01:30:17]      | |_- defined here
[01:30:17] 
[01:30:17] 
[01:30:17] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:30:17]     --> src/librustc/session/config.rs:2661:24
[01:30:17]      |
[01:30:17] 2661 |               let sess = build_session(sessopts, None, registry);
[01:30:17]      | 
[01:30:17]     ::: src/librustc/session/mod.rs:1007:1
[01:30:17]      |
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1008 | |     sopts: config::Options,
[01:30:17] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:30:17] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:30:17] 1022 | |     )
[01:30:17] 1023 | | }
[01:30:17]      | |_- defined here
[01:30:17] 
[01:30:17] 
[01:30:17] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:30:17]     --> src/librustc/session/config.rs:2669:24
[01:30:17]      |
[01:30:17] 2669 |               let sess = build_session(sessopts, None, registry);
[01:30:17]      | 
[01:30:17]     ::: src/librustc/session/mod.rs:1007:1
[01:30:17]      |
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1007 | / pub fn build_session(
[01:30:17] 1008 | |     sopts: config::Options,
[01:30:17] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:30:17] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:30:17] 1022 | |     )
[01:30:17] 1023 | | }
[01:30:17]      | |_- defined here
[01:30:17] 
---
[01:30:25] 
[01:30:25] To learn more, run the command again with --verbose.
[01:30:25] 
[01:30:25] 
[01:30:25] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "-p" "rustc" "--" "--quiet"
[01:30:25] 
[01:30:25] 
[01:30:25] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:30:25] Build completed unsuccessfully in 0:31:05
[01:30:25] Build completed unsuccessfully in 0:31:05
[01:30:25] make: *** [check] Error 1
[01:30:25] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:2e3ef98a
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Fri Feb 15 13:45:11 UTC 2019

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)

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from 27d5873 to 8a006f1 Feb 18, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Feb 18, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:0128cb10:start=1550449253697689067,finish=1550449328373580793,duration=74675891726
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:13:51] 
[01:13:51] running 119 tests
[01:14:16] .iiiii...i.....i..i...i..i.i..i.ii...i.....i..i....i..........iiii..........i...ii...i.......ii.i.i. 100/119
[01:14:20] i......iii.i.....ii
[01:14:20] 
[01:14:20]  finished in 29.335
[01:14:20] travis_fold:end:test_debuginfo

---
[01:34:13] 
[01:34:34] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:34:34]     --> src/librustc/session/config.rs:2617:24
[01:34:34]      |
[01:34:34] 2617 |               let sess = build_session(sessopts, None, registry);
[01:34:34]      | 
[01:34:34]     ::: src/librustc/session/mod.rs:1007:1
[01:34:34]      |
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1008 | |     sopts: config::Options,
[01:34:34] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:34:34] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:34:34] 1022 | |     )
[01:34:34] 1023 | | }
[01:34:34]      | |_- defined here
[01:34:34] 
[01:34:34] 
[01:34:34] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:34:34]     --> src/librustc/session/config.rs:2635:24
[01:34:34]      |
[01:34:34] 2635 |               let sess = build_session(sessopts, None, registry);
[01:34:34]      | 
[01:34:34]     ::: src/librustc/session/mod.rs:1007:1
[01:34:34]      |
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1008 | |     sopts: config::Options,
[01:34:34] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:34:34] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:34:34] 1022 | |     )
[01:34:34] 1023 | | }
[01:34:34]      | |_- defined here
[01:34:34] 
[01:34:34] 
[01:34:34] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:34:34]     --> src/librustc/session/config.rs:2649:24
[01:34:34]      |
[01:34:34] 2649 |               let sess = build_session(sessopts, None, registry);
[01:34:34]      | 
[01:34:34]     ::: src/librustc/session/mod.rs:1007:1
[01:34:34]      |
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1008 | |     sopts: config::Options,
[01:34:34] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:34:34] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:34:34] 1022 | |     )
[01:34:34] 1023 | | }
[01:34:34]      | |_- defined here
[01:34:34] 
[01:34:34] 
[01:34:34] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:34:34]     --> src/librustc/session/config.rs:2659:24
[01:34:34]      |
[01:34:34] 2659 |               let sess = build_session(sessopts, None, registry);
[01:34:34]      | 
[01:34:34]     ::: src/librustc/session/mod.rs:1007:1
[01:34:34]      |
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1008 | |     sopts: config::Options,
[01:34:34] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:34:34] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:34:34] 1022 | |     )
[01:34:34] 1023 | | }
[01:34:34]      | |_- defined here
[01:34:34] 
[01:34:34] 
[01:34:34] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:34:34]     --> src/librustc/session/config.rs:2667:24
[01:34:34]      |
[01:34:34] 2667 |               let sess = build_session(sessopts, None, registry);
[01:34:34]      | 
[01:34:34]     ::: src/librustc/session/mod.rs:1007:1
[01:34:34]      |
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1007 | / pub fn build_session(
[01:34:34] 1008 | |     sopts: config::Options,
[01:34:34] 1009 | |     self_profiler: Option<Arc<Mutex<SelfProfiler>>>,
[01:34:34] 1010 | |     local_crate_source_file: Option<PathBuf>,
[01:34:34] 1022 | |     )
[01:34:34] 1023 | | }
[01:34:34]      | |_- defined here
[01:34:34] 
---
[01:34:43] 
[01:34:43] To learn more, run the command again with --verbose.
[01:34:43] 
[01:34:43] 
[01:34:43] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "-p" "rustc" "--" "--quiet"
[01:34:43] 
[01:34:43] 
[01:34:43] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:34:43] Build completed unsuccessfully in 0:32:44
[01:34:43] Build completed unsuccessfully in 0:32:44
[01:34:43] make: *** [check] Error 1
[01:34:43] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:16362ab2
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Mon Feb 18 01:57:01 UTC 2019
---
travis_time:end:07c998e1:start=1550455022870337492,finish=1550455022876994055,duration=6656563
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00ae26d3
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:06eb0568
travis_time:start:06eb0568
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0a2895e0
$ dmesg | grep -i kill

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)

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from 8a006f1 to be88e76 Feb 18, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Feb 18, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:037c875e:start=1550455553814798650,finish=1550455626830561442,duration=73015762792
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:12:02] 
[01:12:02] running 119 tests
[01:12:27] .iiiii...i.....i..i...i..i.i..i.ii...i.....i..i....i..........iiii..........i...ii...i.......ii.i.i. 100/119
[01:12:31] i......iii.i.....ii
[01:12:31] 
[01:12:31]  finished in 29.275
[01:12:31] travis_fold:end:test_debuginfo

---
[01:33:25]    Compiling rustc_driver v0.0.0 (/checkout/src/librustc_driver)
[01:33:26] error[E0061]: this function takes 5 parameters but 4 parameters were supplied
[01:33:26]    --> src/librustc_driver/test.rs:109:16
[01:33:26]     |
[01:33:26] 109 |       let sess = session::build_session_(
[01:33:26] 110 | |         options,
[01:33:26] 111 | |         None,
[01:33:26] 112 | |         diagnostic_handler,
[01:33:26] 112 | |         diagnostic_handler,
[01:33:26] 113 | |         Lrc::new(SourceMap::new(FilePathMapping::empty())),
[01:33:26]     | |_____^ expected 5 parameters
[01:33:26] 
[01:33:27] error: aborting due to previous error
[01:33:27] 
[01:33:27] 
[01:33:27] For more information about this error, try `rustc --explain E0061`.
[01:33:27] error: Could not compile `rustc_driver`.
[01:33:27] 
[01:33:27] To learn more, run the command again with --verbose.
[01:33:27] 
[01:33:27] 
[01:33:27] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "-p" "rustc_driver" "--" "--quiet"
[01:33:27] 
[01:33:27] 
[01:33:27] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:33:27] Build completed unsuccessfully in 0:33:03
[01:33:27] Build completed unsuccessfully in 0:33:03
[01:33:27] Makefile:48: recipe for target 'check' failed
[01:33:27] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:19b9f858
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Mon Feb 18 03:40:43 UTC 2019

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)

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from be88e76 to fff27a0 Feb 18, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Feb 19, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:35fb09b6:start=1550533479078235053,finish=1550533555252273406,duration=76174038353
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:17:59] 
[01:17:59] running 119 tests
[01:18:25] .iiiii...i.....i..i...i..i.i..i.ii...i.....i..i....i..........iiii..........i...ii...i.......ii.i.i. 100/119
[01:18:30] i......iii.i.....ii
[01:18:30] 
[01:18:30]  finished in 31.524
[01:18:30] travis_fold:end:test_debuginfo

---
travis_time:start:test_run-make-fulldeps
Check compiletest suite=run-make-fulldeps mode=run-make (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:47:02] 
[01:47:02] running 195 tests
[01:47:29] ..................i...i.............................................F...................i........... 100/195
[01:48:16] ...................................................i......................................i....
[01:48:16] failures:
[01:48:16] 
[01:48:16] ---- [run-make] run-make-fulldeps/issue-19371 stdout ----
[01:48:16] ---- [run-make] run-make-fulldeps/issue-19371 stdout ----
[01:48:16] 
[01:48:16] error: make failed
[01:48:16] status: exit code: 2
[01:48:16] command: "make"
[01:48:16] stdout:
[01:48:16] ------------------------------------------
[01:48:16] make[1]: Entering directory '/checkout/src/test/run-make-fulldeps/issue-19371'
[01:48:16] LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/issue-19371/issue-19371:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib" '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc' --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/issue-19371/issue-19371 -L /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/issue-19371/issue-19371  foo.rs
[01:48:16] Makefile:8: recipe for target 'all' failed
[01:48:16] make[1]: Leaving directory '/checkout/src/test/run-make-fulldeps/issue-19371'
[01:48:16] ------------------------------------------
[01:48:16] stderr:
[01:48:16] ------------------------------------------
[01:48:16] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:48:16] error[E0061]: this function takes 4 parameters but 3 parameters were supplied
[01:48:16]   --> foo.rs:47:16
[01:48:16]    |
[01:48:16] 47 |     let sess = build_session(opts, None, descriptions);
[01:48:16] 
[01:48:16] error: aborting due to previous error
[01:48:16] 
[01:48:16] For more information about this error, try `rustc --explain E0061`.
[01:48:16] For more information about this error, try `rustc --explain E0061`.
[01:48:16] make[1]: *** [all] Error 1
[01:48:16] ------------------------------------------
[01:48:16] 
[01:48:16] thread '[run-make] run-make-fulldeps/issue-19371' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:48:16] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
---
[01:48:16] test result: FAILED. 189 passed; 1 failed; 5 ignored; 0 measured; 0 filtered out
[01:48:16] 
[01:48:16] 
[01:48:16] 
[01:48:16] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--rustdoc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "--src-base" "/checkout/src/test/run-make-fulldeps" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "run-make" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "cc" "--cxx" "c++" "--cflags" "-ffunction-sections -fdata-sections -fPIC -m64" "--llvm-components" "aarch64 aarch64asmparser aarch64asmprinter aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils all all-targets amdgpu amdgpuasmparser amdgpuasmprinter amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo amdgpuutils analysis arm armasmparser armasmprinter armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter binaryformat bitreader bitwriter bpf bpfasmparser bpfasmprinter bpfcodegen bpfdesc bpfdisassembler bpfinfo codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfomsf debuginfopdb demangle dlltooldriver engine executionengine fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interpreter ipo irreader lanai lanaiasmparser lanaiasmprinter lanaicodegen lanaidesc lanaidisassembler lanaiinfo libdriver lineeditor linker lto mc mcdisassembler mcjit mcparser mips mipsasmparser mipsasmprinter mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmprinter msp430codegen msp430desc msp430info native nativecodegen nvptx nvptxasmprinter nvptxcodegen nvptxdesc nvptxinfo objcarcopts object objectyaml option orcjit passes powerpc powerpcasmparser powerpcasmprinter powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata runtimedyld scalaropts selectiondag sparc sparcasmparser sparcasmprinter sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzasmprinter systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target transformutils vectorize windowsmanifest x86 x86asmparser x86asmprinter x86codegen x86desc x86disassembler x86info x86utils xcore xcoreasmprinter xcorecodegen xcoredesc xcoredisassembler xcoreinfo" "--llvm-cxxflags" "-I/usr/lib/llvm-6.0/include -std=c++0x -fuse-ld=gold -Wl,--no-keep-files-mapped -Wl,--no-map-whole-files -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -ffunction-sections -fdata-sections -O2 -DNDEBUG  -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS" "--ar" "ar" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:48:16] 
[01:48:16] 
[01:48:16] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:48:16] Build completed unsuccessfully in 0:42:47
[01:48:16] Build completed unsuccessfully in 0:42:47
[01:48:16] make: *** [check] Error 1
[01:48:16] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:028d96e5
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Feb 19 01:34:21 UTC 2019

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)

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from fff27a0 to d30f158 Feb 19, 2019

@michaelwoerister

This comment has been minimized.

Copy link
Contributor

michaelwoerister commented Feb 19, 2019

Can you switch this to use a parking_lot::Mutex? Then we can do a first perf run to see how be the overhead is now.

@wesleywiser

This comment has been minimized.

Copy link
Member Author

wesleywiser commented Feb 19, 2019

Sure, I can do that tonight. Are you trying to measure the record overhead or the save results overhead?

I'll need to push a commit to enable whichever option you want to record by default since the entire feature is disabled by default.

@michaelwoerister

This comment has been minimized.

Copy link
Contributor

michaelwoerister commented Feb 19, 2019

I think we should do both.

@wesleywiser

This comment has been minimized.

Copy link
Member Author

wesleywiser commented Feb 19, 2019

Ok. Do you want to do seperate perf runs or just one with the option turned on by default?

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Feb 19, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:01fcfb57:start=1550589021553079281,finish=1550589097536483033,duration=75983403752
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0

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)

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from f50d3a1 to 855c2ef Feb 20, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Feb 20, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:1bc9b3dc:start=1550625912573257665,finish=1550625914720158722,duration=2146901057
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---

[00:04:05] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:05] tidy error: /checkout/src/librustc_codegen_ssa/base.rs:665: TODO is deprecated; use FIXME
[00:04:05] tidy error: /checkout/src/librustc_codegen_ssa/back/write.rs:1607: TODO is deprecated; use FIXME
[00:04:07] some tidy checks failed
[00:04:07] 
[00:04:07] 
[00:04:07] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:07] 
[00:04:07] 
[00:04:07] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:07] Build completed unsuccessfully in 0:00:46
[00:04:07] Build completed unsuccessfully in 0:00:46
[00:04:07] make: *** [tidy] Error 1
[00:04:07] Makefile:68: recipe for target 'tidy' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0e0ff07c
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Wed Feb 20 01:29:32 UTC 2019
---
travis_time:end:0fc83c14:start=1550626173683236612,finish=1550626173688196302,duration=4959690
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:32c5189a
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:05f22750
travis_time:start:05f22750
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0b134344
$ dmesg | grep -i kill

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)

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from 855c2ef to 2ba18f3 Feb 20, 2019

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from d1ac877 to c0c7ac6 Mar 3, 2019

@wesleywiser

This comment has been minimized.

Copy link
Member Author

wesleywiser commented Mar 3, 2019

Rebased

@bors r=michaelwoerister

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Mar 3, 2019

📌 Commit c0c7ac6 has been approved by michaelwoerister

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Mar 3, 2019

🔒 Merge conflict

This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again.

How do I rebase?

Assuming self is your fork and upstream is this repository, you can resolve the conflict following these steps:

  1. git checkout more_profiler_changes (switch to your branch)
  2. git fetch upstream master (retrieve the latest master)
  3. git rebase upstream/master -p (rebase on top of it)
  4. Follow the on-screen instruction to resolve conflicts (check git status if you got lost).
  5. git push self more_profiler_changes --force-with-lease (update this PR)

You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial.

Please avoid the "Resolve conflicts" button on GitHub. It uses git merge instead of git rebase which makes the PR commit history more difficult to read.

Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Cargo.lock conflict is handled during merge and rebase. This is normal, and you should still perform step 5 to update this PR.

Error message
warning: Cannot merge binary files: Cargo.lock (HEAD vs. heads/homu-tmp)
Auto-merging Cargo.lock
CONFLICT (content): Merge conflict in Cargo.lock
Automatic merge failed; fix conflicts and then commit the result.

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from c0c7ac6 to d2c2a67 Mar 3, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

rust-highfive commented Mar 3, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:02334c93:start=1551624861368464697,finish=1551624863470510215,duration=2102045518
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
################################                                          45.0%
######################################################################## 100.0%
[00:02:09] extracting /checkout/obj/build/cache/2019-02-27/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:02:09]     Updating crates.io index
[00:02:21] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:02:21] Build completed unsuccessfully in 0:00:27
[00:02:21] Makefile:70: recipe for target 'prepare' failed
[00:02:21] make: *** [prepare] Error 1
[00:02:22] Command failed. Attempt 2/5:
[00:02:22] Command failed. Attempt 2/5:
[00:02:22] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:02:22] Build completed unsuccessfully in 0:00:00
[00:02:22] make: *** [prepare] Error 1
[00:02:22] Makefile:70: recipe for target 'prepare' failed
[00:02:24] Command failed. Attempt 3/5:
[00:02:24] Command failed. Attempt 3/5:
[00:02:25] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:02:25] Build completed unsuccessfully in 0:00:00
[00:02:25] make: *** [prepare] Error 1
[00:02:25] Makefile:70: recipe for target 'prepare' failed
[00:02:28] Command failed. Attempt 4/5:
[00:02:28] Command failed. Attempt 4/5:
[00:02:28] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:02:28] Build completed unsuccessfully in 0:00:00
[00:02:28] make: *** [prepare] Error 1
[00:02:28] Makefile:70: recipe for target 'prepare' failed
[00:02:32] Command failed. Attempt 5/5:
[00:02:32] Command failed. Attempt 5/5:
[00:02:32] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:02:32] Build completed unsuccessfully in 0:00:00
[00:02:32] make: *** [prepare] Error 1
[00:02:32] Makefile:70: recipe for target 'prepare' failed
[00:02:32] The command has failed after 5 attempts.
---
travis_time:end:096dd2d8:start=1551625029013668839,finish=1551625029019317917,duration=5649078
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0c40813e
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:19fd16d2
travis_time:start:19fd16d2
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:26383f14
$ dmesg | grep -i kill

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)

wesleywiser added some commits Feb 10, 2019

@wesleywiser wesleywiser force-pushed the wesleywiser:more_profiler_changes branch from d2c2a67 to f20ad70 Mar 3, 2019

@wesleywiser

This comment has been minimized.

Copy link
Member Author

wesleywiser commented Mar 3, 2019

Rebased

@bors r=michaelwoerister

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Mar 3, 2019

📌 Commit f20ad70 has been approved by michaelwoerister

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Mar 3, 2019

⌛️ Testing commit f20ad70 with merge 87a4363...

bors added a commit that referenced this pull request Mar 3, 2019

Auto merge of #58425 - wesleywiser:more_profiler_changes, r=michaelwo…
…erister

[self-profiler] Make the profiler faster/more efficient

Related to #58372

r? @michaelwoerister
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Mar 3, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: michaelwoerister
Pushing 87a4363 to master...

@bors bors added the merged-by-bors label Mar 3, 2019

@bors bors merged commit f20ad70 into rust-lang:master Mar 3, 2019

1 check passed

homu Test successful
Details
@jens1o

This comment has been minimized.

Copy link
Contributor

jens1o commented Mar 4, 2019

What is the perf-graph looking like today?

@Mark-Simulacrum

This comment has been minimized.

Copy link
Member

Mark-Simulacrum commented Mar 4, 2019

This won't affect perf.r-l.o since it isn't run with self-profile enabled.

@michaelwoerister

This comment has been minimized.

Copy link
Contributor

michaelwoerister commented Mar 5, 2019

I still expect it to be rather slow. Here are some thoughts on how to make it faster: #58372

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.