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

Fix const prop miscompilations of references with projections. #68002

Closed
wants to merge 3 commits into from

Conversation

jumbatm
Copy link
Contributor

@jumbatm jumbatm commented Jan 8, 2020

Closes #67529.

Previously, we only returned early out of const prop of uninitialised Refs to Places if they had no projection. This meant that for uninitialised Places with a projection, when we forced an allocation, we wouldn't have a value to initialise the allocation with, leading us to replace the Ref with an allocation which we would never (and could never) initialise.

This PR fixes this by early returning out of const_prop if the Place's base local is uninitialised for Refs with projections, too.

r? @oli-obk

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 8, 2020
@oli-obk
Copy link
Contributor

oli-obk commented Jan 8, 2020

@bors r+ thanks!

@bors
Copy link
Contributor

bors commented Jan 8, 2020

📌 Commit 63baf79837c61c9a4fc268bf037b594aef159281 has been approved by oli-obk

@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 Jan 8, 2020
@oli-obk
Copy link
Contributor

oli-obk commented Jan 8, 2020

cc @wesleywiser

@oli-obk
Copy link
Contributor

oli-obk commented Jan 8, 2020

@bors r-

Ok, so new information from #67862 suggests that we're definitely doing the wrong thing here and should fix this properly.

Keeping this on hold until the discussion in #67862 reaches a conclusion

@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 Jan 8, 2020
@bors
Copy link
Contributor

bors commented Jan 11, 2020

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

@jumbatm jumbatm force-pushed the fix-constprop-miscomp branch from 63baf79 to 7f83055 Compare January 11, 2020 23:33
@rust-highfive
Copy link
Collaborator

The job mingw-check 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.
2020-01-11T23:34:26.0429876Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-01-11T23:34:26.0445331Z ##[command]git config gc.auto 0
2020-01-11T23:34:26.0450771Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-01-11T23:34:26.0454660Z ##[command]git config --get-all http.proxy
2020-01-11T23:34:26.0462717Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/68002/merge:refs/remotes/pull/68002/merge
---
2020-01-11T23:42:32.5082763Z     |
2020-01-11T23:42:32.5083425Z 292 | impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
2020-01-11T23:42:32.5083971Z     |                                              - un-closed delimiter
2020-01-11T23:42:32.5084186Z ...
2020-01-11T23:42:32.5084529Z 612 |                 if let PlaceRef { base: PlaceBase::Local(local), .. } = place_ref.as_ref() {
2020-01-11T23:42:32.5084965Z     |                                                                                            - this delimiter might not be properly closed...
2020-01-11T23:42:32.5085449Z 629 |             }
2020-01-11T23:42:32.5085968Z     |             - ...as it matches this but it has different indentation
2020-01-11T23:42:32.5086254Z ...
2020-01-11T23:42:32.5086495Z 976 | }
---
2020-01-11T23:42:32.5110202Z     |
2020-01-11T23:42:32.5110471Z 631 |             _ => {}
2020-01-11T23:42:32.5110783Z     |             ^ expected expression
2020-01-11T23:42:32.5110843Z 
2020-01-11T23:42:32.5128583Z error: expected one of `::`, `=>`, `if`, or `|`, found `.`
2020-01-11T23:42:32.5129153Z     |
2020-01-11T23:42:32.5129153Z     |
2020-01-11T23:42:32.5129443Z 634 |         self.use_ecx(source_info, |this| {
2020-01-11T23:42:32.5130023Z     |             ^ expected one of `::`, `=>`, `if`, or `|`
2020-01-11T23:42:32.5153178Z error: unexpected `self` parameter in function
2020-01-11T23:42:32.5153496Z    --> src/librustc_mir/transform/const_prop.rs:641:28
2020-01-11T23:42:32.5153744Z     |
2020-01-11T23:42:32.5153744Z     |
2020-01-11T23:42:32.5154106Z 641 |     fn operand_from_scalar(&self, scalar: Scalar, ty: Ty<'tcx>, span: Span) -> Operand<'tcx> {
2020-01-11T23:42:32.5154454Z     |                            ^^^^^ not valid as function parameter
2020-01-11T23:42:32.5155020Z     = note: `self` is only valid as the first parameter of an associated function
2020-01-11T23:42:32.5155061Z 
2020-01-11T23:42:32.5243163Z error: unexpected `self` parameter in function
2020-01-11T23:42:32.5243480Z    --> src/librustc_mir/transform/const_prop.rs:650:9
---
2020-01-11T23:42:32.5246407Z     |                          ^^^^^^^^^ not valid as function parameter
2020-01-11T23:42:32.5246629Z     |
2020-01-11T23:42:32.5247090Z     = note: `self` is only valid as the first parameter of an associated function
2020-01-11T23:42:32.5247165Z 
2020-01-11T23:42:32.5247539Z error: expected one of `async`, `const`, `crate`, `default`, `extern`, `fn`, `pub`, `type`, or `unsafe`, found keyword `enum`
2020-01-11T23:42:32.5248172Z     |
2020-01-11T23:42:32.5248458Z 749 | #[derive(Clone, Copy, Debug, PartialEq)]
2020-01-11T23:42:32.5248813Z     |                                         - expected one of 9 possible tokens
2020-01-11T23:42:32.5248813Z     |                                         - expected one of 9 possible tokens
2020-01-11T23:42:32.5249104Z 750 | enum ConstPropMode {
2020-01-11T23:42:32.5249437Z 
2020-01-11T23:42:33.5287033Z error[E0433]: failed to resolve: use of undeclared type or module `CanConstProp`
2020-01-11T23:42:33.5287540Z    --> src/librustc_mir/transform/const_prop.rs:312:30
2020-01-11T23:42:33.5287814Z     |
2020-01-11T23:42:33.5287814Z     |
2020-01-11T23:42:33.5288119Z 312 |         let can_const_prop = CanConstProp::check(body);
2020-01-11T23:42:33.5288508Z     |                              ^^^^^^^^^^^^ use of undeclared type or module `CanConstProp`
2020-01-11T23:42:33.5321863Z error[E0433]: failed to resolve: use of undeclared type or module `PlaceBase`
2020-01-11T23:42:33.5322392Z    --> src/librustc_mir/transform/const_prop.rs:612:41
2020-01-11T23:42:33.5322611Z     |
2020-01-11T23:42:33.5322611Z     |
2020-01-11T23:42:33.5322941Z 612 |                 if let PlaceRef { base: PlaceBase::Local(local), .. } = place_ref.as_ref() {
2020-01-11T23:42:33.5323379Z 
2020-01-11T23:42:33.6037448Z error[E0412]: cannot find type `ConstPropMode` in this scope
2020-01-11T23:42:33.6037880Z    --> src/librustc_mir/transform/const_prop.rs:257:37
2020-01-11T23:42:33.6038114Z     |
2020-01-11T23:42:33.6038114Z     |
2020-01-11T23:42:33.6038383Z 41  | pub struct ConstProp;
2020-01-11T23:42:33.6038781Z     | --------------------- similarly named struct `ConstProp` defined here
2020-01-11T23:42:33.6038996Z ...
2020-01-11T23:42:33.6039291Z 257 |     can_const_prop: IndexVec<Local, ConstPropMode>,
2020-01-11T23:42:33.6039767Z 
2020-01-11T23:42:33.8804804Z error: unused import: `PanicInfo`
2020-01-11T23:42:33.8805183Z  --> src/librustc_mir/transform/const_prop.rs:7:43
2020-01-11T23:42:33.8805402Z   |
2020-01-11T23:42:33.8805402Z   |
2020-01-11T23:42:33.8805978Z 7 | use rustc::mir::interpret::{InterpResult, PanicInfo, Scalar};
2020-01-11T23:42:33.8806334Z   |                                           ^^^^^^^^^
2020-01-11T23:42:33.8806555Z   |
2020-01-11T23:42:33.8806918Z   = note: `-D unused-imports` implied by `-D warnings`
2020-01-11T23:42:33.8807079Z 
2020-01-11T23:42:33.8828954Z error: unused imports: `MutatingUseContext`, `NonMutatingUseContext`, `PlaceContext`
2020-01-11T23:42:33.8829524Z   |
2020-01-11T23:42:33.8829524Z   |
2020-01-11T23:42:33.8829850Z 9 |     MutVisitor, MutatingUseContext, NonMutatingUseContext, PlaceContext, Visitor,
2020-01-11T23:42:33.8830320Z 
2020-01-11T23:42:33.8920285Z error: unused imports: `LocalKind`, `Location`, `StatementKind`, `Statement`, `TerminatorKind`, `Terminator`
2020-01-11T23:42:33.8920664Z   --> src/librustc_mir/transform/const_prop.rs:13:23
2020-01-11T23:42:33.8921093Z    |
2020-01-11T23:42:33.8921093Z    |
2020-01-11T23:42:33.8921429Z 13 |     Local, LocalDecl, LocalKind, Location, Operand, Place, PlaceRef, ReadOnlyBodyAndCache, Rvalue,
2020-01-11T23:42:33.8922096Z 14 |     SourceInfo, SourceScope, SourceScopeData, Statement, StatementKind, Terminator, TerminatorKind,
2020-01-11T23:42:33.8922523Z    |                                               ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
2020-01-11T23:42:33.8922607Z 
2020-01-11T23:42:45.5912108Z error[E0599]: no method named `visit_body` found for type `transform::const_prop::ConstPropagator<'_, '_>` in the current scope
2020-01-11T23:42:45.5912108Z error[E0599]: no method named `visit_body` found for type `transform::const_prop::ConstPropagator<'_, '_>` in the current scope
2020-01-11T23:42:45.5913327Z    --> src/librustc_mir/transform/const_prop.rs:97:29
2020-01-11T23:42:45.5913897Z     |
2020-01-11T23:42:45.5914492Z 97  |         optimization_finder.visit_body(body);
2020-01-11T23:42:45.5915337Z     |                             ^^^^^^^^^^ method not found in `transform::const_prop::ConstPropagator<'_, '_>`
2020-01-11T23:42:45.5915927Z ...
2020-01-11T23:42:45.5916491Z 253 | struct ConstPropagator<'mir, 'tcx> {
2020-01-11T23:42:45.5917147Z     | ---------------------------------- method `visit_body` not found for this
2020-01-11T23:42:45.5918286Z     = help: items from traits can only be used if the trait is implemented and in scope
2020-01-11T23:42:45.5918286Z     = help: items from traits can only be used if the trait is implemented and in scope
2020-01-11T23:42:45.5918900Z     = note: the following traits define an item `visit_body`, perhaps you need to implement one of them:
2020-01-11T23:42:45.5919418Z             candidate #1: `rustc::mir::visit::Visitor`
2020-01-11T23:42:45.5920138Z             candidate #2: `rustc::mir::visit::MutVisitor`
2020-01-11T23:42:45.5920732Z             candidate #3: `rustc_hir::intravisit::Visitor`
2020-01-11T23:42:45.6317932Z error[E0026]: struct `rustc::mir::PlaceRef` does not have a field named `base`
2020-01-11T23:42:45.6319551Z    --> src/librustc_mir/transform/const_prop.rs:612:35
2020-01-11T23:42:45.6320206Z     |
2020-01-11T23:42:45.6320206Z     |
2020-01-11T23:42:45.6321450Z 612 |                 if let PlaceRef { base: PlaceBase::Local(local), .. } = place_ref.as_ref() {
2020-01-11T23:42:45.6322124Z     |                                   ^^^^ struct `rustc::mir::PlaceRef` does not have this field
2020-01-11T23:42:45.6346745Z error[E0308]: mismatched types
2020-01-11T23:42:45.6347342Z    --> src/librustc_mir/transform/const_prop.rs:562:10
2020-01-11T23:42:45.6347755Z     |
2020-01-11T23:42:45.6348215Z 556 |     fn const_prop(
2020-01-11T23:42:45.6348215Z 556 |     fn const_prop(
2020-01-11T23:42:45.6348768Z     |        ---------- implicitly returns `()` as its body has no tail or `return` expression
2020-01-11T23:42:45.6349582Z 562 |     ) -> Option<()> {
2020-01-11T23:42:45.6350088Z     |          ^^^^^^^^^^ expected enum `std::option::Option`, found `()`
2020-01-11T23:42:45.6350494Z     |
2020-01-11T23:42:45.6350966Z     = note:   expected enum `std::option::Option<()>`
2020-01-11T23:42:45.6350966Z     = note:   expected enum `std::option::Option<()>`
2020-01-11T23:42:45.6351398Z             found unit type `()`
2020-01-11T23:42:45.6351564Z 
2020-01-11T23:42:46.6365514Z error: unused import: `MutVisitor`
2020-01-11T23:42:46.6366509Z  --> src/librustc_mir/transform/const_prop.rs:9:5
2020-01-11T23:42:46.6367085Z   |
2020-01-11T23:42:46.6367693Z 9 |     MutVisitor, MutatingUseContext, NonMutatingUseContext, PlaceContext, Visitor,
2020-01-11T23:42:46.6368556Z 
2020-01-11T23:42:46.6369212Z error: unused import: `Visitor`
2020-01-11T23:42:46.6369745Z  --> src/librustc_mir/transform/const_prop.rs:9:74
2020-01-11T23:42:46.6370229Z   |
2020-01-11T23:42:46.6370229Z   |
2020-01-11T23:42:46.6370836Z 9 |     MutVisitor, MutatingUseContext, NonMutatingUseContext, PlaceContext, Visitor,
2020-01-11T23:42:46.6371674Z 
2020-01-11T23:42:46.6944266Z error: aborting due to 18 previous errors
2020-01-11T23:42:46.6944369Z 
2020-01-11T23:42:46.6944654Z Some errors have detailed explanations: E0026, E0308, E0412, E0433, E0599.
2020-01-11T23:42:46.6944654Z Some errors have detailed explanations: E0026, E0308, E0412, E0433, E0599.
2020-01-11T23:42:46.6944962Z For more information about an error, try `rustc --explain E0026`.
2020-01-11T23:42:46.7127978Z error: could not compile `rustc_mir`.
2020-01-11T23:42:46.7149085Z warning: build failed, waiting for other jobs to finish...
2020-01-11T23:42:52.0118881Z error: build failed
2020-01-11T23:42:52.0151051Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "check" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--color" "always" "--features" " llvm" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
2020-01-11T23:42:52.0165117Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap check
2020-01-11T23:42:52.0165559Z Build completed unsuccessfully in 0:05:21
2020-01-11T23:42:52.0216708Z == clock drift check ==
2020-01-11T23:42:52.0227899Z   local time: Sat Jan 11 23:42:52 UTC 2020
2020-01-11T23:42:52.0227899Z   local time: Sat Jan 11 23:42:52 UTC 2020
2020-01-11T23:42:52.5441536Z   network time: Sat, 11 Jan 2020 23:42:52 GMT
2020-01-11T23:42:52.5441659Z == end clock drift check ==
2020-01-11T23:42:52.9273427Z 
2020-01-11T23:42:52.9361908Z ##[error]Bash exited with code '1'.
2020-01-11T23:42:52.9396981Z ##[section]Starting: Checkout
2020-01-11T23:42:52.9398804Z ==============================================================================
2020-01-11T23:42:52.9398859Z Task         : Get sources
2020-01-11T23:42:52.9398920Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@jumbatm jumbatm force-pushed the fix-constprop-miscomp branch from 7f83055 to ed3a601 Compare January 12, 2020 00:21
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-7 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.
2020-01-12T00:22:02.0341756Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-01-12T00:22:02.0352886Z ##[command]git config gc.auto 0
2020-01-12T00:22:02.0355545Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-01-12T00:22:02.0357839Z ##[command]git config --get-all http.proxy
2020-01-12T00:22:02.0360770Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/68002/merge:refs/remotes/pull/68002/merge
---
2020-01-12T01:18:59.7557973Z ........................................i...............i........................................... 4900/9517
2020-01-12T01:19:08.4514533Z .................................................................................................... 5000/9517
2020-01-12T01:19:14.7794753Z ...................................................................................i................ 5100/9517
2020-01-12T01:19:19.9203268Z .................................................................................................... 5200/9517
2020-01-12T01:19:29.9532180Z ......................................................ii.ii...........i............................. 5300/9517
2020-01-12T01:19:38.9640491Z .................................................................................................... 5500/9517
2020-01-12T01:19:48.5461493Z .................................................................................................... 5600/9517
2020-01-12T01:19:54.9347367Z .......................................i............................................................ 5700/9517
2020-01-12T01:20:01.3993830Z .................................................................................................... 5800/9517
2020-01-12T01:20:01.3993830Z .................................................................................................... 5800/9517
2020-01-12T01:20:11.9013505Z .................................................................................................... 5900/9517
2020-01-12T01:20:21.3843736Z ...............................ii...i..ii...........i............................................... 6000/9517
2020-01-12T01:20:39.1905095Z .................................................................................................... 6200/9517
2020-01-12T01:20:47.1201426Z .................................................................................................... 6300/9517
2020-01-12T01:20:47.1201426Z .................................................................................................... 6300/9517
2020-01-12T01:20:57.3547572Z ...........................................................i..ii.................................... 6400/9517
2020-01-12T01:21:24.0544645Z .................................................................................................... 6600/9517
2020-01-12T01:21:26.0050225Z ..................................i................................................................. 6700/9517
2020-01-12T01:21:28.1694885Z .................................................................................................... 6800/9517
2020-01-12T01:21:30.6463218Z ..................................i................................................................. 6900/9517
---
2020-01-12T01:23:03.2352639Z .................................................................................................... 7500/9517
2020-01-12T01:23:07.4288520Z .................................................................................................... 7600/9517
2020-01-12T01:23:13.1295268Z .................................................................................................... 7700/9517
2020-01-12T01:23:20.4104033Z .................................................................................................... 7800/9517
2020-01-12T01:23:30.2133701Z ...................................................................................iiii............. 7900/9517
2020-01-12T01:23:46.6962221Z .................i......i........................................................................... 8100/9517
2020-01-12T01:23:51.8542351Z .................................................................................................... 8200/9517
2020-01-12T01:24:04.8928193Z .................................................................................................... 8300/9517
2020-01-12T01:24:14.8811877Z .................................................................................................... 8400/9517
---
2020-01-12T01:26:38.7430491Z  finished in 6.825
2020-01-12T01:26:38.7603583Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-12T01:26:38.9450168Z 
2020-01-12T01:26:38.9450884Z running 166 tests
2020-01-12T01:26:41.9817309Z iiii......i........ii..iiii...i....i...........i............i..i..................i....i............ 100/166
2020-01-12T01:26:44.1607357Z i.i.i...iii..iiiiiii.......................iii............ii......
2020-01-12T01:26:44.1622599Z 
2020-01-12T01:26:44.1623803Z  finished in 5.400
2020-01-12T01:26:44.1782147Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-12T01:26:44.3259758Z 
---
2020-01-12T01:26:46.2244601Z  finished in 2.046
2020-01-12T01:26:46.2453340Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-12T01:26:46.4273678Z 
2020-01-12T01:26:46.4274406Z running 9 tests
2020-01-12T01:26:46.4275415Z iiiiiiiii
2020-01-12T01:26:46.4277907Z 
2020-01-12T01:26:46.4278181Z  finished in 0.182
2020-01-12T01:26:46.4485932Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-12T01:26:46.6243479Z 
---
2020-01-12T01:27:06.1409000Z  finished in 19.693
2020-01-12T01:27:06.1603079Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-12T01:27:06.3731572Z 
2020-01-12T01:27:06.3731698Z running 124 tests
2020-01-12T01:27:29.9906252Z .iiiii..ii.....i..i...i..i.i.i..i..i..iii....ii.ii....ii..........iiii..........i.....i..ii.......ii 100/124
2020-01-12T01:27:33.9865913Z .i.iii.....iiiiii.....ii
2020-01-12T01:27:33.9869502Z 
2020-01-12T01:27:33.9869915Z  finished in 27.826
2020-01-12T01:27:33.9873331Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-12T01:27:33.9875202Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-01-12T01:40:18.7992246Z 
2020-01-12T01:40:18.7993292Z    Doc-tests core
2020-01-12T01:40:23.2490328Z 
2020-01-12T01:40:23.2491330Z running 2442 tests
2020-01-12T01:40:32.3776238Z ......iiiii......................................................................................... 100/2442
2020-01-12T01:40:41.3569752Z ..................................................................................ii................ 200/2442
2020-01-12T01:41:02.2312126Z ................i................................................................................... 400/2442
2020-01-12T01:41:02.2312126Z ................i................................................................................... 400/2442
2020-01-12T01:41:12.0911705Z .................................................................i..i..................iiii......... 500/2442
2020-01-12T01:41:28.6058150Z .................................................................................................... 700/2442
2020-01-12T01:41:37.1544634Z .................................................................................................... 800/2442
2020-01-12T01:41:45.4338711Z .................................................................................................... 900/2442
2020-01-12T01:41:54.3330588Z .................................................................................................... 1000/2442
---
2020-01-12T01:45:16.4889877Z .................................................................................................... 500/760
2020-01-12T01:45:16.5229438Z .................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2741:22
2020-01-12T01:45:16.5246279Z ....thread 'thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2778:21
2020-01-12T01:45:16.5249433Z <unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2766:17
2020-01-12T01:45:16.5275872Z .......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2645:13
2020-01-12T01:45:16.8675734Z ..........................................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1997:22
2020-01-12T01:45:16.8708144Z .......thread '.<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', .src/libstd/sync/mpsc/mod.rs:2034:.21
2020-01-12T01:45:16.8714654Z .thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2022:17
2020-01-12T01:45:16.8723228Z .thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:13
2020-01-12T01:45:18.9205258Z .....................thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:633:13
2020-01-12T01:45:18.9205943Z thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13
2020-01-12T01:45:18.9206445Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:563:13
2020-01-12T01:45:18.9206809Z .thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:694:13
---
2020-01-12T01:45:28.1853859Z 
2020-01-12T01:45:28.1854116Z running 1003 tests
2020-01-12T01:45:45.8034142Z i................................................................................................... 100/1003
2020-01-12T01:45:55.4446590Z .................................................................................................... 200/1003
2020-01-12T01:46:02.3251939Z ..................iii......i......i...i......i...................................................... 300/1003
2020-01-12T01:46:07.1451055Z .................................................................................................... 400/1003
2020-01-12T01:46:13.7099900Z ..........................................i..i.....................................ii............... 500/1003
2020-01-12T01:46:26.1022578Z .................................................................................................... 700/1003
2020-01-12T01:46:26.1022578Z .................................................................................................... 700/1003
2020-01-12T01:46:32.3768000Z .............................iiii................................................................... 800/1003
2020-01-12T01:46:46.0563290Z .................................................................................................... 900/1003
2020-01-12T01:46:52.7723107Z ...................................................iiii............................................. 1000/1003
2020-01-12T01:46:52.8313537Z test result: ok. 983 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out
2020-01-12T01:46:52.8313626Z 
2020-01-12T01:46:52.8393504Z  finished in 163.866
2020-01-12T01:46:52.8418088Z Testing term stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)

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 Jan 18, 2020

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

@oli-obk
Copy link
Contributor

oli-obk commented Jan 18, 2020

Thanks! The linked issues have been fixed by outright stopping to const prop references, so i'm closing this PR

@oli-obk oli-obk closed this Jan 18, 2020
@jumbatm jumbatm deleted the fix-constprop-miscomp branch January 18, 2020 16:35
@jumbatm
Copy link
Contributor Author

jumbatm commented Jan 18, 2020

Cool - no worries!

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.

Miscompilation with -Zmir-opt-level=2
4 participants