You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/03/28 09:54:54 UTC
[GitHub] [arrow-rs] jhorstmann opened a new issue #1496: MIRI error in math_checked_divide_op/try_from_trusted_len_iter
jhorstmann opened a new issue #1496:
URL: https://github.com/apache/arrow-rs/issues/1496
```
$ cargo +nightly miri test -- test_primitive_array_divide
Finished test [unoptimized + debuginfo] target(s) in 0.07s
Running unittests src/lib.rs (/home/user/Source/github/apache/arrow-rs/target/miri/x86_64-unknown-linux-gnu/debug/deps/arrow-af84b07dc5414fbf)
running 9 tests
test compute::kernels::arithmetic::tests::test_primitive_array_divide ... error: Undefined Behavior: pointer to alloc1677519 was dereferenced after this allocation got freed
--> /home/user/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/intrinsics.rs:2103:14
|
2103 | unsafe { copy_nonoverlapping(src, dst, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pointer to alloc1677519 was dereferenced after this allocation got freed
|
= help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
= help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
= note: inside `std::intrinsics::copy_nonoverlapping::<u8>` at /home/user/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/intrinsics.rs:2103:14
note: inside `buffer::mutable::MutableBuffer::try_from_trusted_len_iter::<error::ArrowError, i32, std::iter::Map<std::iter::Zip<std::slice::Iter<i32>, std::slice::Iter<i32>>, [closure@arrow/src/compute/kernels/arithmetic.rs:145:18: 151:14]>>` at arrow/src/buffer/mutable.rs:543:13
--> arrow/src/buffer/mutable.rs:543:13
|
543 | std::ptr::copy_nonoverlapping(src, dst, item_size);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `buffer::immutable::Buffer::try_from_trusted_len_iter::<error::ArrowError, i32, std::iter::Map<std::iter::Zip<std::slice::Iter<i32>, std::slice::Iter<i32>>, [closure@arrow/src/compute/kernels/arithmetic.rs:145:18: 151:14]>>` at arrow/src/buffer/immutable.rs:294:12
--> arrow/src/buffer/immutable.rs:294:12
|
294 | Ok(MutableBuffer::try_from_trusted_len_iter(iterator)?.into())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `compute::kernels::arithmetic::math_checked_divide_op::<datatypes::types::Int32Type, [closure@arrow/src/compute/kernels/arithmetic.rs:568:48: 568:60]>` at arrow/src/compute/kernels/arithmetic.rs:153:18
--> arrow/src/compute/kernels/arithmetic.rs:153:18
|
153 | unsafe { Buffer::try_from_trusted_len_iter(values) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `compute::kernels::arithmetic::divide::<datatypes::types::Int32Type>` at arrow/src/compute/kernels/arithmetic.rs:568:12
--> arrow/src/compute/kernels/arithmetic.rs:568:12
|
568 | return math_checked_divide_op(left, right, |a, b| a / b);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `compute::kernels::arithmetic::tests::test_primitive_array_divide` at arrow/src/compute/kernels/arithmetic.rs:756:17
--> arrow/src/compute/kernels/arithmetic.rs:756:17
|
756 | let c = divide(&a, &b).unwrap();
| ^^^^^^^^^^^^^^
note: inside closure at arrow/src/compute/kernels/arithmetic.rs:753:5
--> arrow/src/compute/kernels/arithmetic.rs:753:5
|
752 | #[test]
| ------- in this procedural macro expansion
753 | / fn test_primitive_array_divide() {
754 | | let a = Int32Array::from(vec![15, 15, 8, 1, 9]);
755 | | let b = Int32Array::from(vec![5, 6, 8, 9, 1]);
756 | | let c = divide(&a, &b).unwrap();
... |
761 | | assert_eq!(9, c.value(4));
762 | | }
| |_____^
= note: this error originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow-rs] alamb closed issue #1496: MIRI error in math_checked_divide_op/try_from_trusted_len_iter
Posted by GitBox <gi...@apache.org>.
alamb closed issue #1496:
URL: https://github.com/apache/arrow-rs/issues/1496
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org