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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]