bisect-rust
bisect-rust copied to clipboard
Bi-secting rustc fails with author mismatch
I am currently trying to bisect https://github.com/rust-lang/rust/issues/50960 but that fails with the following error message about an unexpected authorship:
buildd@kapitsa:/srv/tmp/rust$ bisect --end 84203cac67e65ca8640b8392348411098c856985 --start d3ae9a9e08edf12de0ed82af57ba2a56c26496ea --test /srv/tmp/test.sh
Error: Expected author Brian Anderson to be bors for beb9a0dfc52ebda4f8db4e5d439e08e4f3a43a39
buildd@kapitsa:/srv/tmp/rust$
I am using the following test script:
buildd@kapitsa:/srv/tmp/rust$ cat /srv/tmp/test.sh
#!/bin/bash
./configure --host=powerpc-unknown-linux-gnu --build=powerpc-unknown-linux-gnu --target=powerpc-unknown-linux-gnu --enable-local-rust --local-rust-root=/usr
./x.py build
./configure --host=powerpc-unknown-linux-gnu --build=powerpc-unknown-linux-gnu --target=powerpc-unknown-linux-gnu --enable-local-rust --local-rust-root=/srv/tmp/rust/build/build/powerpc-unknown-linux-gnu/stage2
./x.py build
buildd@kapitsa:/srv/tmp/rust$
Any suggestion on how to resolve this?
I would suggest trying the successor to this tool, https://github.com/rust-lang-nursery/cargo-bisect-rustc. The test script you are using looks like it's intended for a regular git bisect
, not for something like this tool (or cargo-bisect-rustc): you shouldn't need to building Rust yourself, rather I'd expect the tool to download relevant artifacts for you.
I would suggest trying the successor to this tool, https://github.com/rust-lang-nursery/cargo-bisect-rustc.
Thanks, I will try that.
The test script you are using looks like it's intended for a regular git bisect
The script was basically a hack because there is no manual way of testing a commit, like with git bisect
. I tried a normal git bisect
, but that seems impossible with the rust tree as the commit history is completely non-linear.
you shouldn't need to building Rust yourself, rather I'd expect the tool to download relevant artifacts for you.
I just wanted to make sure it's using a known working version of the rust compiler for building the tree.
Running git bisect
in the Rust tree is possible -- you want to bisect only on commits whose author is bors, as those are guaranteed to build. cargo-bisect-rustc will only download those commits (artifacts don't exist for any other commits).
The problem wasn't that individual commits wouldn't build. The problem is that git
is simply throwing the towel directly after the start:
buildd@kapitsa:/srv/tmp/rust$ git bisect start
buildd@kapitsa:/srv/tmp/rust$ git bisect good d3ae9a9e08edf12de0ed82af57ba2a56c26496ea
buildd@kapitsa:/srv/tmp/rust$ git bisect bad 84203cac67e65ca8640b8392348411098c856985
Bisecting: a merge base must be tested
warning: unable to rmdir 'src/doc/rust-by-example': Directory not empty
[b65f0bedd2f22d9661ecb7092f07746dc2ccfb0d] Auto merge of #46735 - Manishearth:memchr-find, r=burntsushi
buildd@kapitsa:/srv/tmp/rust$
I know that b65f0bedd2f22d9661ecb7092f07746dc2ccfb0d is bad, so:
buildd@kapitsa:/srv/tmp/rust$ git bisect bad b65f0bedd2f22d9661ecb7092f07746dc2ccfb0d
The merge base b65f0bedd2f22d9661ecb7092f07746dc2ccfb0d is bad.
This means the bug has been fixed between b65f0bedd2f22d9661ecb7092f07746dc2ccfb0d and [d3ae9a9e08edf12de0ed82af57ba2a56c26496ea].
buildd@kapitsa:/srv/tmp/rust$
and that's it. Stuck here.
Interesting, I've not seen that error before.