Comments (2)
This sounds like there are multiple issues here, can we maybe separate it out into separate things?
For running without cargo, running without cargo explains what you need to do. Roughly, your first command would be rewritten as cargo bisect-rustc … --script=rustc -- /tmp/icemaker/113793.rs -Zmir-opt-level=3
.
You mention adding various --interesting
flags, but don't quite explain what they mean. Can you detail what you are after there?
The --regress
flag already has various options for different regression checks. I personally want one to handle grepping for output, and I'm not sure if that is what you mean by --interesting-output
?
What is the purpose of --interesting-exitcodes
? I don't recall rustc really having different exit codes.
from cargo-bisect-rustc.
--script=rustc ...
I do not know why this never crossed my mind :D
Thanks, I'll try that.
--interesting flags
The problem I ran into is for example:
rustc can have a "classic" internal compiler error, caused by a panic!(), bug!(), assertion failure etc
rustc can stack overflow
rustc can get sigabrt/sigsegv'd (might be caused by a miscompilation)
LLVM can run into an assertion failure
LLVM can run into a LLVM_ERROR
a process gets killed by the OOM killer
from my experience, these can have different exit codes, so just having a hardcoded exit_code == 130
is not enough in all cases unfortunately.
https://github.com/matthiaskrgr/icemaker/blob/dcf6aea556b4ed0f082bd89950dcfdda9fb87538/src/main.rs#L1116
You may also find yourself wanting to bisect with some custom condition like "exit code is 130 AND stacktrace contains "argument to drop_in_place is not a raw ptr" to make sure you catch "one ice turning into another" or something like that, but its a bit of a niche case.
Or maybe later we also want to bisect clippy FPs, miri UB, rustc diagnostic suggestions that do not apply, etc..
I knew the grepping example, but this again needs a custom script to passed to cargo-bisect which I would like to avoid :)
from cargo-bisect-rustc.
Related Issues (20)
- feature: Add option to skip verifying the start/end of a range
- Structured documentation and examples HOT 1
- Can't run nightlies installed by `cargo-bisect-rustc` on NixOS? HOT 1
- help output is hard to come by
- take increasingly bigger steps HOT 3
- Force cloudfront CDN HOT 2
- prefer using toolchains already installed HOT 2
- can cargo-bisect-rustc respect the .cargo/config.toml? HOT 11
- Crash while bisecting HOT 3
- bisects to commits that do not exist HOT 2
- warn if absolute path to rustc is used
- auto check git if regression does not reproduce with lates nightly
- Add custom "Satisfies" terms HOT 2
- Display command that is being run HOT 1
- --component does not work with --preserve
- --access checkout does ignore rollups HOT 1
- Seems plain broken with scripts? HOT 1
- Rename/Add new github token env var HOT 1
- Turns print macros into log::* calls
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cargo-bisect-rustc.