Skip to content
New issue

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

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

Already on GitHub? # to your account

Stabilization PR for Issue-53125 #53982

Closed
wants to merge 9 commits into from
Closed

Stabilization PR for Issue-53125 #53982

wants to merge 9 commits into from

Conversation

blitzerr
Copy link
Contributor

@blitzerr blitzerr commented Sep 6, 2018

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @eddyb (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 6, 2018
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.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.

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)

@Mark-Simulacrum
Copy link
Member

Looks like there's a compilation failure in libsyntax. You can relatively quickly make sure the compiler compiles with ./x.py check.

[00:06:35] �[0m�[1m�[38;5;9merror[E0609]�[0m�[0m�[1m: no field `non_modrs_mods` on type `&feature_gate::Features`�[0m
[00:06:35] �[0m    �[0m�[0m�[1m�[38;5;12m--> �[0m�[0mlibsyntax/feature_gate.rs:1505:47�[0m
[00:06:35] �[0m     �[0m�[0m�[1m�[38;5;12m|�[0m
[00:06:35] �[0m�[1m�[38;5;12m1505�[0m�[0m �[0m�[0m�[1m�[38;5;12m| �[0m�[0m                let has_feature = cx.features.non_modrs_mods;�[0m
[00:06:35] �[0m     �[0m�[0m�[1m�[38;5;12m| �[0m�[0m                                              �[0m�[0m�[1m�[38;5;9m^^^^^^^^^^^^^^�[0m
[00:06:35] 
[00:06:38] �[0m�[1m�[38;5;9merror�[0m�[0m�[1m: aborting due to previous error�[0m

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.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.
[00:46:04] ....................................................................................................
[00:46:07] ........i...........................................................................................
[00:46:13] ....................................................................................................
[00:46:17] ..............i...........i.........................................................................
[00:46:20] ................................ii.iii...F.F........................................................
[00:46:25] ....................................................................................................
[00:46:27] ....................................................................................................
[00:46:30] ....................................................................................................
[00:46:32] ....................................................................................................
---
[00:47:13] ......................................................................i.............................
[00:47:16] ....................................................................................................
[00:47:19] ....................i.i..ii.........................................................................
[00:47:22] ....................................................................................................
[00:47:25] ............................i...F...................................................................
[00:47:31] ....................................................................................................
[00:47:34] ....................................................................................................
[00:47:37] ............................................................i.......................................
[00:47:41] ....................................................................................................
[00:47:41] ....................................................................................................
[00:47:44] ....................................................................................................
[00:47:48] ..............................................................................................i.....
[00:47:51] ....................................................................................................
[00:47:54] ....................................................................................................
te this specific test, also pass `--test-args directory_ownership/unowned_mod_with_path.rs`
[00:48:00] error: 1 errors occurred comparing output.
[00:48:00] status: exit code: 1
[00:48:00] status: exit code: 1
[00:48:00] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/directory_ownership/unowned_mod_with_path.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/directory_ownership/unowned_mod_with_path/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/directory_ownership/unowned_mod_with_path/auxiliary" "-A" "unused"
[00:48:00] ------------------------------------------
[00:48:00] 
[00:48:00] ------------------------------------------
[00:48:00] stderr:
[00:48:00] stderr:
[00:48:00] ------------------------------------------
[00:48:00] {"message":"`main` function not found in crate `unowned_mod_with_path`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/ui/directory_ownership/unowned_mod_with_path.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `unowned_mod_with_path`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/ui/directory_ownership/unowned_mod_with_path.rs`\n\n"}
[00:48:00] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:48:00] {"message":"For more information about this error, try `rustc --explain E0601`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0601`.\n"}
[00:48:00] ------------------------------------------
[00:48:00] 
[00:48:00] thread '[ui] ui/directory_ownership/unowned_mod_with_path.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3196:9
[00:48:00] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:48:00] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:48:00] 
[00:48:00] ---- [ui] ui/directory_ownership/mod_file_not_owning.rs stdout ----
[00:48:00] 
[00:48:00] error: ui test compiled successfully!
[00:48:00] status: exit code: 0
[00:48:00] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/directory_ownership/mod_file_not_owning.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/directory_ownership/mod_file_not_owning/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/direct/runtest.rs:3196:9
[00:48:00] 
[00:48:00] failures:
[00:48:00]     [ui] ui/directory_ownership/mod_file_not_owning.rs
[00:48:00]     [ui] ui/directory_ownership/unowned_mod_with_path.rs
[00:48:00]     [ui] ui/directory_ownership/unowned_mod_with_path.rs
[00:48:00]     [ui] ui/non_modrs_mods/non_modrs_mods.rs
[00:48:00] 
[00:48:00] test result: FAILED. 4185 passed; 3 failed; 20 ignored; 0 measured; 0 filtered out
[00:48:00] 
[00:48:00] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:497:22
[00:48:00] 
[00:48:00] 
[00:48:00] 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" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-5.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--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" "5.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:2d592cce
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@blitzerr
Copy link
Contributor Author

blitzerr commented Sep 7, 2018

Thanks @Mark-Simulacrum
I fixed it and then ran into another test failure.

@Mark-Simulacrum
Copy link
Member

You should be able to run the tests locally with ./x.py test --stage 1 src/test/ui. It looks like the three currently-failing tests are doing so because we've stabilized the feature and these tests tested the unstable gate; you should be able to just delete them.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.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.
tidy check
[00:04:38] * 555 error codes
[00:04:38] * highest error code: E0712
[00:04:38] * 228 features
[00:04:39] Stray file with UI testing output: "/checkout/src/test/ui/directory_ownership/unowned_mod_with_path.stderr"
[00:04:39] Stray file with UI testing output: "/checkout/src/test/ui/directory_ownership/mod_file_not_owning.stderr"
[00:04:39] Stray file with UI testing output: "/checkout/src/test/ui/non_modrs_mods/non_modrs_mods.stderr"
[00:04:39] some tidy checks failed
[00:04:39] 
[00:04:39] 
[00:04:39] 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:39] 
[00:04:39] 
[00:04:39] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:39] Build completed unsuccessfully in 0:00:50
[00:04:39] Build completed unsuccessfully in 0:00:50
[00:04:39] Makefile:79: recipe for target 'tidy' failed
[00:04:39] make: *** [tidy] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0f6b8dc8
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:08393c73:start=1536384335377410383,finish=1536384335385891591,duration=8481208
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:026976f0
$ 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 -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:09e63e27
travis_time:start:09e63e27
$ 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:05f55430
$ 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)

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.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.
[00:52:47] ....................................................................................................
[00:52:56] ............................i.......................................................................
[00:53:09] ....................................................................................................
[00:53:18] ....................................................................................................
[00:53:33] ...............................i........................i.F.........................................
[00:54:02] .................................................ii.................................................
[00:54:13] .....i....i.........................................................................................
[00:54:28] ....................................................................................................
[00:54:49] ....................................................................................................
[00:54:49] ....................................................................................................
[00:54:57] ....................................................................................................
[00:55:06] ....................................................................................................
[00:55:09] ....................................................................................................
[00:55:12] ....................................................................................................
[00:55:16] ......................................i.............................................................
[00:55:19] ....................................................................................................
[00:55:22] ....................................................................................................
get-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" "5.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:55:26] 
[00:55:26] 
[00:55:26] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:55:26] Build completed unsuccessfully in 0:07:47
[00:55:26] Build completed unsuccessfully in 0:07:47
[00:55:26] make: *** [check] Error 1
[00:55:26] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0727fbc6
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@eddyb
Copy link
Member

eddyb commented Sep 8, 2018

@blitzerr You have a merge commit, and submodule changes, so you should rebase (e.g. by running git pull --rebase upstream master) and squash the changes into one commit.

@blitzerr
Copy link
Contributor Author

blitzerr commented Sep 8, 2018

@eddyb Sorry for the inconvenience. I will merge all to one commit.

@eddyb
Copy link
Member

eddyb commented Sep 8, 2018

@blitzerr No worries! It's not a problem for humans, but it does cause/complicate technical issues.

@blitzerr
Copy link
Contributor Author

blitzerr commented Sep 8, 2018

@eddyb Sure that makes sense.
Is this the way to sync up with upstream and then merge with my forked repo ?
git pull --rebase upstream master
git push origin master // To push to the forked repo

So is this a convention that we always do rebases instead of merge ?

Sorry, for the annoying questions. I just started (try to) to contribute this week, and so I have a few questions :)

@eddyb
Copy link
Member

eddyb commented Sep 8, 2018

You want git push -f origin master (-f means "force", which you need to do after a rebase, since the rebase "rewrites" the commits, instead of appending to them).

So is this a convention that we always do rebases instead of merge ?

Yeah. To squash (combine commits), you'd also want git rebase -i upstream/master and follow the instructions (leave one commit as "pick" and change all following ones to "squash").

Also, if you don't need to split your change into multiple commits, you can always amend the commit (I recommend git gui's amend mode for this, because you can see what's happening).

If you use git gui to amend, you can solve the submodule problem at the same time (go into amend mode, then unstage the submodule changes in src/tools, then commit).

@blitzerr
Copy link
Contributor Author

blitzerr commented Sep 8, 2018

Thank you so much @eddyb .

@blitzerr
Copy link
Contributor Author

blitzerr commented Sep 9, 2018

#54072

@eddyb created that new pull request

@eddyb
Copy link
Member

eddyb commented Sep 9, 2018

@blitzerr Why not update this one? I guess GitHub says "unknown repository" so something happened. Did you delete your fork? (you don't need to/shouldn't do that)

@eddyb eddyb closed this Sep 9, 2018
@blitzerr
Copy link
Contributor Author

blitzerr commented Sep 9, 2018 via email

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants