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

Completes support for coverage in external crates #75037

Merged
merged 1 commit into from
Aug 5, 2020

Conversation

richkadel
Copy link
Contributor

Follow-up to #74959 :

The prior PR corrected for errors encountered when trying to generate
the coverage map on source code inlined from external crates (including
macros and generics) by avoiding adding external DefIds to the coverage
map.

This made it possible to generate a coverage report including external
crates, but the external crate coverage was incomplete (did not include
coverage for the DefIds that were eliminated.

The root issue was that the coverage map was converting Span locations
to source file and locations, using the SourceMap for the current crate,
and this would not work for spans from external crates (compliled with a
different SourceMap).

The solution was to convert the Spans to filename and location during
MIR generation instead, so precompiled external crates would already
have the correct source code locations embedded in their MIR, when
imported into another crate.

@wesleywiser FYI
r? @tmandry

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 2, 2020
@richkadel richkadel force-pushed the llvm-coverage-map-gen-5.2 branch from da475bc to 37bf1c4 Compare August 2, 2020 04:27
Copy link
Member

@wesleywiser wesleywiser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm! Once small suggestion.

src/librustc_middle/mir/interpret/value.rs Outdated Show resolved Hide resolved
@richkadel richkadel force-pushed the llvm-coverage-map-gen-5.2 branch from 37bf1c4 to d55f927 Compare August 3, 2020 01:58
@wesleywiser
Copy link
Member

@bors r=wesleywiser r+ rollup=always

@bors
Copy link
Contributor

bors commented Aug 3, 2020

📌 Commit d55f927 has been approved by wesleywiser

@bors
Copy link
Contributor

bors commented Aug 3, 2020

💡 This pull request was already approved, no need to approve it again.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 3, 2020
@bors
Copy link
Contributor

bors commented Aug 3, 2020

📌 Commit d55f927 has been approved by wesleywiser

Manishearth added a commit to Manishearth/rust that referenced this pull request Aug 3, 2020
…, r=wesleywiser

Completes support for coverage in external crates

Follow-up to rust-lang#74959 :

The prior PR corrected for errors encountered when trying to generate
the coverage map on source code inlined from external crates (including
macros and generics) by avoiding adding external DefIds to the coverage
map.

This made it possible to generate a coverage report including external
crates, but the external crate coverage was incomplete (did not include
coverage for the DefIds that were eliminated.

The root issue was that the coverage map was converting Span locations
to source file and locations, using the SourceMap for the current crate,
and this would not work for spans from external crates (compliled with a
different SourceMap).

The solution was to convert the Spans to filename and location during
MIR generation instead, so precompiled external crates would already
have the correct source code locations embedded in their MIR, when
imported into another crate.

@wesleywiser FYI
r? @tmandry
@richkadel
Copy link
Contributor Author

mir-opt fails in CI on instrument-coverage:

https://github.com/rust-lang-ci/rust/runs/939814485#step:23:18408

The file references now in the MIR are absolute paths. The mir-opt tests replace the string value versions of absolute paths to directories with $DIR but the converted [u8] array encoding is not converted. (Their's a hash-like blocks value that would be hard to simply substitute as well.) I'll need to find a workaround for the test.

@wesleywiser
Copy link
Member

@bors r-

@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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 3, 2020
@richkadel
Copy link
Contributor Author

Looking for recommendations/preferences on how to resolve this.

I'm not sure why the SourceMap is using absolute path references when compiling the sample code in the mir-opt test. If there's a "switch" that forces the test to somehow use relative paths instead, that might resolve it. If the MIR code requires the absolute paths, because that's what's expected in MIR encoding, then I don't think it makes sense to violate those assumptions in the librustc_* code just to get a test to pass.

I could add an additional normalization to runtests.rs (where the string paths are normalized to $DIR today) to also normalize the Debug representation of the Slice data structure.

To do that, I would do a regex replace starting with Slice { data: Allocation { bytes: followed by the first part of the byte representation of the path (without trailing square brace), followed by some patterns that capture the rest of the Slice data structure, ignoring the remaining literal values.

It's a bit ugly since it's hardcoding a fix for this particular data structure, but I'm not sure if there's a better solution.

Here's the data structure affected by the absolute path references in the SourceMap (not these are printed on one line, but for readability, I broke it into multiple lines with indent):

            Slice {
                data: Allocation {
                    bytes: [47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 103, 111, 111, 103, 108, 101, 47, 104, 111, 109, 101, 47, 114, 105, 99, 104, 107, 97, 100, 101, 108, 47, 114, 117, 115, 116, 47, 115, 114, 99, 47, 116, 101, 115, 116, 47, 109, 105, 114, 45, 111, 112, 116, 47, 105, 110, 115, 116, 114, 117, 109, 101, 110, 116, 95, 99, 111, 118, 101, 114, 97, 103, 101, 46, 114, 115],
                    relocations: Relocations(
                        SortedMap { data: [] }
                    ),
                    init_mask: InitMask {
                        blocks: [18446744073709551615, 8191], len: Size { raw: 77 }
                    },
                    size: Size {
                        raw: 77
                    },
                    align: Align {
                        pow2: 0
                    },
                    mutability: Not,
                    extra: ()
                },
                start: 0,
                end: 77
            }

@richkadel
Copy link
Contributor Author

I found a much better solution. There's a compile-flag I can add to the test config:

// compile-flags: -Zinstrument-coverage --remap-path-prefix={{cwd}}=/the/cwd

This should resolve the issue. I'll change in the updated test and test results in a few minutes.

@richkadel richkadel force-pushed the llvm-coverage-map-gen-5.2 branch from d55f927 to 22161c3 Compare August 3, 2020 19:17
@@ -3,7 +3,7 @@
// intrinsics, during codegen.

// needs-profiler-support
// compile-flags: -Zinstrument-coverage
// compile-flags: -Zinstrument-coverage --remap-path-prefix={{cwd}}=/the/cwd
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wesleywiser @tmandry
See this change, and the resulting path changes in the mir-opt diffs (for example).

This ensures the byte array representations are also the same, no matter where the absolute build paths are.

@richkadel
Copy link
Contributor Author

@wesleywiser @tmandry

One question that might come up is, will the encoded MIR be significantly larger, given each injected call to count_code_region() (several per function, eventually) has a filename operand (as a str literal).

I'm more hopeful than I am sure that this will not be an issue, because the string literal is stored in an interned Allocation, when constructing the Operand:

https://github.com/richkadel/rust/blob/22161c30e7ab219011c280ca5358bc3acc63b9bd/src/librustc_middle/mir/mod.rs#L1849-L1851

    pub fn const_from_str(tcx: TyCtxt<'tcx>, val: &str, span: Span) -> Operand<'tcx> {
        let tcx = tcx;
        let allocation = Allocation::from_byte_aligned_bytes(val.as_bytes());
        let allocation = tcx.intern_const_alloc(allocation);

This leads me to believe that only one copy of the byte array representation of each file will be stored in the encoded MIR.

Does that make sense to you as well?

@wesleywiser
Copy link
Member

This leads me to believe that only one copy of the byte array representation of each file will be stored in the encoded MIR.

Does that make sense to you as well?

Yes, that's correct. intern_const_alloc uses allocation_interner which "Stores the value of constants (and deduplicates the actual memory)"

https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.GlobalCtxt.html#structfield.allocation_interner

@richkadel
Copy link
Contributor Author

@wesleywiser Great!

The change I submitted passed in-PR.

I'm fairly confident this resolves the CI issue.

Can you re-submit to bors? Or if you are not as confident, we can do a bors try first.

@wesleywiser
Copy link
Member

Looks good!

@bors r+

@bors
Copy link
Contributor

bors commented Aug 3, 2020

📌 Commit 22161c3 has been approved by wesleywiser

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Aug 3, 2020
@richkadel
Copy link
Contributor Author

@wesleywiser @tmandry -

Just as a data point for reference, below is a sample of file size changes (for json5format) from the standard cargo build vs. RUSTFLAGS="-Zinstrument-coverage" cargo build, as of this PR. (Both versions use the same rustc.)

As a reminder, the -Zinstrument-coverage flag does also force a few other options that may also be affecting size.

Most look "OK" I guess, though they will get bigger once we're injecting the additional calls that cover branches.

A couple of notable outliers (though rare), perhaps attributable to one of the other compiler options enabled when coverage is enabled:

 -18.65% =  758K /  617K: target/debug/deps/librand_os-b60b393cdb757723.rlib
...
+563.82% =   12K /   75K: target/debug/deps/libfnv-70433b12dbf99f71.rlib

Side note: Representing each counter or counter expression as a function call in the MIR, with a new BasicBlock, and 2 Statements to represent the void return value, is convenient for some reasons, but not the most optimized representation for storing the encoded MIR.

$ for file in $(find target-nocov -name '*.r[lm]*'); do \
  covfile="${file/target-nocov/target-cov}"; \
  nocov=$(stat -c%s $file); cov=$(stat -c%s $covfile); \
  printf "%+7.2f%% = %5s / %5s: %s\n" \
      "$( echo "scale=4; 100 * ($cov / $nocov) - 100" | bc )" \
      "$(numfmt --to=si $nocov)" \
      "$(numfmt --to=si $cov)" \
      "${file/-nocov/}"; \
done
  +0.00% =  3.8K /  3.8K: target/debug/build/anyhow-97eed389dc27c96e/out/libanyhow_build.rmeta
+127.82% =  570K /  1.3M: target/debug/deps/libbyteorder-50fc4695e19d7ab9.rlib
 +23.17% =  138K /  169K: target/debug/deps/libbit_vec-216f894e7acf5ed1.rmeta
  +3.10% =  3.8K /  4.0K: target/debug/deps/librand_core-ba67c199a423fd05.rmeta
  +1.71% =  6.9K /  7.0K: target/debug/deps/libcfg_if-f684e274e487e96f.rlib
  -0.27% =  984K /  981K: target/debug/deps/libtextwrap-9f062607bc8fde17.rlib
  +4.14% =  1.2M /  1.3M: target/debug/deps/libunicode_segmentation-e3199e5a88ba56a4.rmeta
 +46.38% =  1.6M /  2.3M: target/debug/deps/librand_chacha-213cf7fb0e9bd547.rlib
 +17.90% =  412K /  486K: target/debug/deps/libbyteorder-50fc4695e19d7ab9.rmeta
 +93.70% =  414K /  801K: target/debug/deps/librand_core-c2cd29e770d8c249.rlib
 -10.56% =  641K /  573K: target/debug/deps/libheck-57089ec22f060e53.rlib
 +22.73% =  103K /  126K: target/debug/deps/libbit_set-1d60244958099963.rmeta
  +1.13% =   95K /   96K: target/debug/deps/libquick_error-0d6f6b2fbcc6f798.rmeta
 -18.65% =  758K /  617K: target/debug/deps/librand_os-b60b393cdb757723.rlib
 +21.80% =   19M /   23M: target/debug/deps/libclap-109453d49aa6c4ca.rlib
 +22.32% =  128K /  157K: target/debug/deps/libvec_map-89adda8c92f41cf4.rmeta
  +2.64% =   16K /   17K: target/debug/deps/libmaplit-3ed3a6192585a4de.rmeta
 +14.64% =  1.3M /  1.4M: target/debug/deps/libwait_timeout-b4012ddd6afa494c.rlib
 +18.12% =  1.3M /  1.6M: target/debug/deps/libanyhow-059b1008746bbf29.rlib
  +8.53% =   22K /   24K: target/debug/deps/libwait_timeout-b4012ddd6afa494c.rmeta
  +8.82% =  4.9K /  5.3K: target/debug/deps/libatty-7e883ea11672fdcc.rmeta
  +2.68% =  376K /  386K: target/debug/deps/librand_jitter-c6e4cbc858ff84a3.rlib
 +64.98% =  795K /  1.4M: target/debug/deps/libmemchr-0760aa7756efb52a.rlib
  +1.40% =  141K /  142K: target/debug/deps/libunicode_xid-0824ceb644627ca6.rmeta
 +16.70% =  136K /  158K: target/debug/deps/librand_core-c2cd29e770d8c249.rmeta
 +17.23% =  2.0M /  2.4M: target/debug/deps/libclap-109453d49aa6c4ca.rmeta
 +14.19% =  1.7M /  2.0M: target/debug/deps/librusty_fork-b6b8394354ecf706.rlib
  +2.47% =   18K /   18K: target/debug/deps/libmaplit-3ed3a6192585a4de.rlib
 +99.19% =  436K /  868K: target/debug/deps/librand_core-4f00ced6d5b15e39.rlib
  +6.46% =   22K /   23K: target/debug/deps/liblazy_static-06ab8ad1d76937a8.rmeta
  +8.27% =   80K /   87K: target/debug/deps/libtextwrap-9f062607bc8fde17.rmeta
 +15.27% =   34K /   39K: target/debug/deps/librand_jitter-c6e4cbc858ff84a3.rmeta
  +8.64% =  1.4K /  1.5K: target/debug/deps/libremove_dir_all-d1c2e16e6be130cb.rmeta
 +80.57% =  1.8M /  3.2M: target/debug/deps/libunicode_segmentation-e3199e5a88ba56a4.rlib
  +8.57% =   37K /   41K: target/debug/deps/libheck-57089ec22f060e53.rmeta
 +26.14% =  484K /  610K: target/debug/deps/libbit_vec-216f894e7acf5ed1.rlib
  +6.11% =  192K /  204K: target/debug/deps/libunicode_xid-0824ceb644627ca6.rlib
 +44.60% =  3.1M /  4.4M: target/debug/deps/librand-57d3ce39bbf0518c.rlib
 +15.11% =  166K /  190K: target/debug/deps/librand_xorshift-a46364958d14d5d1.rlib
 +12.45% =  543K /  610K: target/debug/deps/libansi_term-0621cf33f49d2bd6.rlib
 +24.91% =  130K /  162K: target/debug/deps/libvec_map-89adda8c92f41cf4.rlib
 +15.02% =  1.5M /  1.7M: target/debug/deps/librand-57d3ce39bbf0518c.rmeta
  +6.87% =  1.4M /  1.4M: target/debug/deps/libstrsim-11f5f692f4969710.rlib
 +11.30% =   81K /   91K: target/debug/deps/libautocfg-897c884da0f1666d.rmeta
 +40.00% =  1.1M /  1.6M: target/debug/deps/libtempfile-38c93f4e7520e595.rlib
 +15.07% =  127K /  146K: target/debug/deps/librand_core-4f00ced6d5b15e39.rmeta
  +6.40% =  5.9M /  6.3M: target/debug/deps/libregex_syntax-c54e5537074b1bf9.rmeta
 +13.82% =  2.0M /  2.3M: target/debug/deps/libsyn-0c38ce0788c1a26e.rmeta
 +12.12% =  216K /  243K: target/debug/deps/libmemchr-0760aa7756efb52a.rmeta
 +11.60% =   79K /   89K: target/debug/deps/libautocfg-14440038bbbba6fb.rmeta
 +27.97% =   31K /   39K: target/debug/deps/librand_pcg-4a93811b222b4b1e.rmeta
 +20.38% =  717K /  863K: target/debug/deps/libppv_lite86-b573aeb0a667b683.rmeta
 +23.18% =  140K /  172K: target/debug/deps/librand_chacha-213cf7fb0e9bd547.rmeta
 +15.52% =  287K /  331K: target/debug/deps/libjson5format-01dfd2ad9c132a84.rmeta
 +36.61% =   13M /   17M: target/debug/deps/libsyn-0c38ce0788c1a26e.rlib
  +3.43% =  122K /  126K: target/debug/deps/libunicode_width-fc78fbc48a1895ef.rmeta
 +19.02% =  103K /  123K: target/debug/deps/libthread_local-9e135d10aa28d4fc.rmeta
+186.68% =  1.9M /  5.4M: target/debug/deps/libnum_traits-d32b533e7af65b21.rlib
 +36.93% =  108K /  148K: target/debug/deps/libbit_set-1d60244958099963.rlib
 +11.81% =  7.4M /  8.3M: target/debug/deps/libproptest-fd7aba53fa619202.rmeta
 +68.39% =  2.0M /  3.3M: target/debug/deps/liblibc-3ee6402eb4bbb96d.rmeta
  +2.05% =  5.8K /  5.9K: target/debug/deps/libcfg_if-f684e274e487e96f.rmeta
 +19.16% =  385K /  459K: target/debug/deps/libgetrandom-abf9e0f7d31e6a28.rlib
 +18.71% =  6.5M /  7.6M: target/debug/deps/libjson5format-01dfd2ad9c132a84.rlib
  +0.24% =   49K /   50K: target/debug/deps/libbitflags-5d46a95e98fe3ecb.rlib
 +10.25% =  605K /  667K: target/debug/deps/librand_hc-0e6f8611161d033c.rlib
 +99.31% =  112K /  223K: target/debug/deps/librand_pcg-4a93811b222b4b1e.rlib
 +39.65% =  1.7M /  2.4M: target/debug/deps/libnum_traits-d32b533e7af65b21.rmeta
  +2.81% =  115K /  118K: target/debug/deps/libquote-e2efbceaed72c9a9.rmeta
  +0.24% =   48K /   48K: target/debug/deps/libbitflags-5d46a95e98fe3ecb.rmeta
  +6.14% =   23K /   24K: target/debug/deps/liblazy_static-06ab8ad1d76937a8.rlib
 +23.39% =   22K /   27K: target/debug/deps/librand_chacha-87dea561b0b6ed81.rmeta
+123.06% =   30M /   67M: target/debug/deps/libproptest-fd7aba53fa619202.rlib
 +10.32% =  1.1M /  1.2M: target/debug/deps/libquote-e2efbceaed72c9a9.rlib
  +3.46% =   32K /   33K: target/debug/deps/libstructopt-c7395b2c855363d3.rlib
 +15.03% =   11K /   12K: target/debug/deps/libfnv-70433b12dbf99f71.rmeta
 +19.29% =  5.5M /  6.6M: target/debug/deps/libaho_corasick-a757256ac4799247.rlib
 +11.49% =  171K /  190K: target/debug/deps/libanyhow-059b1008746bbf29.rmeta
  +4.27% =   18K /   18K: target/debug/deps/libstrsim-11f5f692f4969710.rmeta
 +13.60% =  262K /  298K: target/debug/deps/libproc_macro2-324dcf6266a2d945.rmeta
 +23.77% =   61K /   76K: target/debug/deps/libgetrandom-abf9e0f7d31e6a28.rmeta
+138.45% =  123K /  293K: target/debug/deps/libunicode_width-fc78fbc48a1895ef.rlib
  +5.45% =  184K /  194K: target/debug/deps/libansi_term-0621cf33f49d2bd6.rmeta
 +15.68% =  758K /  877K: target/debug/deps/libthread_local-9e135d10aa28d4fc.rlib
 +28.91% =   12M /   15M: target/debug/deps/libregex-87f249d16cf5b233.rlib
 +34.03% =  2.9M /  3.8M: target/debug/deps/librand-ebc0a3dafd997fe1.rlib
 +10.57% =  1.2M /  1.3M: target/debug/deps/libregex-87f249d16cf5b233.rmeta
 +19.06% =  1.9M /  2.3M: target/debug/deps/libautocfg-14440038bbbba6fb.rlib
 +79.36% =  2.2M /  3.9M: target/debug/deps/liblibc-3ee6402eb4bbb96d.rlib
 +20.59% =   16K /   19K: target/debug/deps/librand_xorshift-a46364958d14d5d1.rmeta
 +17.57% =   29K /   34K: target/debug/deps/librand_hc-0e6f8611161d033c.rmeta
  +4.75% =  2.5K /  2.7K: target/debug/deps/libremove_dir_all-d1c2e16e6be130cb.rlib
 +44.82% =  222K /  321K: target/debug/deps/librand_chacha-87dea561b0b6ed81.rlib
 +39.07% =  725K /  1.1M: target/debug/deps/libppv_lite86-b573aeb0a667b683.rlib
 +12.84% =  155K /  175K: target/debug/deps/libtempfile-38c93f4e7520e595.rmeta
 +31.53% =   15K /   20K: target/debug/deps/libatty-7e883ea11672fdcc.rlib
 +14.27% =   43K /   50K: target/debug/deps/librand_os-b60b393cdb757723.rmeta
 +15.96% =  615K /  714K: target/debug/deps/librand_isaac-65e9137899d996c8.rlib
 +23.22% =   86K /  106K: target/debug/deps/librand_isaac-65e9137899d996c8.rmeta
 +11.55% =  1.2M /  1.4M: target/debug/deps/libaho_corasick-a757256ac4799247.rmeta
  +1.12% =   96K /   97K: target/debug/deps/libquick_error-0d6f6b2fbcc6f798.rlib
 +18.95% =  1.9M /  2.3M: target/debug/deps/libautocfg-897c884da0f1666d.rlib
 +56.53% =  2.4M /  3.8M: target/debug/deps/libproc_macro2-324dcf6266a2d945.rlib
+563.82% =   12K /   75K: target/debug/deps/libfnv-70433b12dbf99f71.rlib
  +3.59% =   31K /   32K: target/debug/deps/libstructopt-c7395b2c855363d3.rmeta
  +2.40% =  5.0K /  5.1K: target/debug/deps/librand_core-ba67c199a423fd05.rlib
 +25.04% =   15M /   19M: target/debug/deps/libregex_syntax-c54e5537074b1bf9.rlib
 +14.87% =  1.5M /  1.7M: target/debug/deps/librand-ebc0a3dafd997fe1.rmeta
  +8.44% =  119K /  129K: target/debug/deps/librusty_fork-b6b8394354ecf706.rmeta

@bors
Copy link
Contributor

bors commented Aug 4, 2020

⌛ Testing commit e0dc8de with merge 118a0185f14f7936c3edb16044cf2b903dce4963...

@bors
Copy link
Contributor

bors commented Aug 4, 2020

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 4, 2020
@rust-log-analyzer
Copy link
Collaborator

The job i686-gnu 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.

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 @rust-lang/infra. (Feature Requests)

@richkadel
Copy link
Contributor Author

Random infra failure? Otherwise, I don't see any relevant error messages.

@tmandry tmandry added the A-spurious Area: Spurious failures in builds (spuriously == for no apparent reason) label Aug 4, 2020
@tmandry
Copy link
Member

tmandry commented Aug 4, 2020

Looks spurious:

    Updating crates.io index
error: failed to get `cc` as a dependency of package `bootstrap v0.0.0 (/checkout/src/bootstrap)`

Caused by:
  failed to fetch `https://github.com/rust-lang/crates.io-index`

Caused by:
  error inflating zlib stream; class=Zlib (5)
failed to run: /checkout/obj/build/i686-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
Build completed unsuccessfully in 0:00:29
make: *** [prepare] Error 1
Makefile:60: recipe for target 'prepare' failed

@bors r=wesleywiser

@bors
Copy link
Contributor

bors commented Aug 4, 2020

💡 This pull request was already approved, no need to approve it again.

@bors
Copy link
Contributor

bors commented Aug 4, 2020

📌 Commit e0dc8de has been approved by wesleywiser

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 4, 2020
@tmandry
Copy link
Member

tmandry commented Aug 4, 2020

@bors retry

@bors
Copy link
Contributor

bors commented Aug 5, 2020

⌛ Testing commit e0dc8de with merge 92c20f72f8b3bc26a4b007afb030959f01643f68...

@bors
Copy link
Contributor

bors commented Aug 5, 2020

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 5, 2020
@richkadel
Copy link
Contributor Author

Test flake I believe:

2020-08-05T00:38:09.4959609Z failures:
2020-08-05T00:38:09.4959824Z
2020-08-05T00:38:09.4960935Z ---- build::close_output stdout ----
2020-08-05T00:38:09.4962359Z thread 'build::close_output' panicked at 'assertion failed: !status.success()', src/tools/cargo/tests/testsuite/build.rs:5027:9
2020-08-05T00:38:09.4962671Z note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
2020-08-05T00:38:09.4962811Z
2020-08-05T00:38:09.4962916Z
2020-08-05T00:38:09.4965906Z failures:
2020-08-05T00:38:09.4970334Z build::close_output
2020-08-05T00:38:09.4970699Z
2020-08-05T00:38:09.4971037Z test result: FAILED. 1943 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out
2020-08-05T00:38:09.4971278Z

@richkadel
Copy link
Contributor Author

@wesleywiser or @tmandry

Can we @bors retry again?

Thanks

@bors
Copy link
Contributor

bors commented Aug 5, 2020

@richkadel: 🔑 Insufficient privileges: not in try users

@tmandry
Copy link
Member

tmandry commented Aug 5, 2020

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2020
@bors
Copy link
Contributor

bors commented Aug 5, 2020

⌛ Testing commit e0dc8de with merge dab2ae0...

@bors
Copy link
Contributor

bors commented Aug 5, 2020

☀️ Test successful - checks-actions, checks-azure
Approved by: wesleywiser
Pushing dab2ae0 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 5, 2020
@bors bors merged commit dab2ae0 into rust-lang:master Aug 5, 2020
@cuviper cuviper added this to the 1.47.0 milestone May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-spurious Area: Spurious failures in builds (spuriously == for no apparent reason) merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants