-
Notifications
You must be signed in to change notification settings - Fork 786
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 undefined behavior in FFI and enable MIRI checks on CI #323
Conversation
- Fix UB due to aliasing - Enable MIRI in CI for most tests in arrow crate Signed-off-by: roee88 <roee88@gmail.com>
Codecov Report
@@ Coverage Diff @@
## master #323 +/- ##
=======================================
Coverage 82.52% 82.52%
=======================================
Files 162 162
Lines 44007 44007
=======================================
+ Hits 36316 36317 +1
+ Misses 7691 7690 -1
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks a lot, @roee88 !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also think this looks great -- it would be cool to file a follow on ticket to remove the remaining MIRI flagged issues but this seems like a great step forward to me
cargo miri test || true | ||
# Currently only the arrow crate is tested with miri | ||
# IO related tests and some unsupported tests are skipped | ||
cargo miri test -p arrow -- --skip csv --skip ipc --skip json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is epic. Nice work @roee88 !
Fix UB in FFI due to violation of aliasing rules
Which issue does this PR close?
Closes #322.
What changes are included in this PR?
test result: ok. 584 passed; 0 failed; 10 ignored; 0 measured; 102 filtered out
Specifically, the CI is changed to run miri test against the arrow crate (only) while skipping some tests:
#[cfg_attr(miri, ignore)]
with a code comment that indicates why it's disabledThe above was required because otherwise the CI would be stuck forever (e.g., in the
test_can_cast_types
test). This wasn't the case so far because the FFI issue failed the run. I suggest to track enabling more tests in #227.Are there any user-facing changes?
No