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 2021/05/12 13:10:39 UTC

[GitHub] [arrow-rs] roee88 opened a new pull request #287: Fix FFI and add support for Struct type

roee88 opened a new pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287


   # Which issue does this PR close?
   
   Closes #20
   Closes #251
   
    # Rationale for this change
    
   This PR ports fixes from https://github.com/jorgecarleitao/arrow2/pull/67 to this repository (thanks @jorgecarleitao).
   The original API is unchanged and it's not a 1-1 port. Please review carefully. 
   
   # What changes are included in this PR?
   
   - Support struct type in FFI
   - No fake "item" in list types
   - No undefined behavior on release of nested types 
   
   # Are there any user-facing changes?
   
   No changes to the API. 
   
   Exporting/Importing StructArray should work now, but the previous lack of support is not documented anyway.
   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-rs] codecov-commenter commented on pull request #287: Fix FFI and add support for Struct type

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287#issuecomment-841704728


   # [Codecov](https://codecov.io/gh/apache/arrow-rs/pull/287?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#287](https://codecov.io/gh/apache/arrow-rs/pull/287?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (5da458b) into [master](https://codecov.io/gh/apache/arrow-rs/commit/8226219fe7104f6c8a2740806f96f02c960d991c?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (8226219) will **decrease** coverage by `0.03%`.
   > The diff coverage is `88.26%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/arrow-rs/pull/287/graphs/tree.svg?width=650&height=150&src=pr&token=pq9V9qWZ1N&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/arrow-rs/pull/287?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master     #287      +/-   ##
   ==========================================
   - Coverage   82.56%   82.52%   -0.04%     
   ==========================================
     Files         162      162              
     Lines       43896    44005     +109     
   ==========================================
   + Hits        36241    36316      +75     
   - Misses       7655     7689      +34     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/arrow-rs/pull/287?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [arrow/src/ffi.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2ZmaS5ycw==) | `82.61% <87.15%> (+1.66%)` | :arrow_up: |
   | [arrow/src/array/ffi.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2FycmF5L2ZmaS5ycw==) | `100.00% <100.00%> (+14.86%)` | :arrow_up: |
   | [parquet/src/errors.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGFycXVldC9zcmMvZXJyb3JzLnJz) | `18.51% <0.00%> (-3.71%)` | :arrow_down: |
   | [arrow/src/error.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2Vycm9yLnJz) | `8.88% <0.00%> (-2.23%)` | :arrow_down: |
   | [arrow/src/compute/kernels/regexp.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2NvbXB1dGUva2VybmVscy9yZWdleHAucnM=) | `96.34% <0.00%> (-1.22%)` | :arrow_down: |
   | [arrow/src/array/equal\_json.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2FycmF5L2VxdWFsX2pzb24ucnM=) | `91.21% <0.00%> (-1.22%)` | :arrow_down: |
   | [arrow/src/ipc/convert.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2lwYy9jb252ZXJ0LnJz) | `92.98% <0.00%> (-1.14%)` | :arrow_down: |
   | [arrow/src/compute/util.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2NvbXB1dGUvdXRpbC5ycw==) | `97.84% <0.00%> (-1.08%)` | :arrow_down: |
   | [arrow/src/datatypes/schema.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2RhdGF0eXBlcy9zY2hlbWEucnM=) | `66.39% <0.00%> (-0.82%)` | :arrow_down: |
   | [arrow/src/array/data.rs](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YXJyb3cvc3JjL2FycmF5L2RhdGEucnM=) | `71.47% <0.00%> (-0.61%)` | :arrow_down: |
   | ... and [38 more](https://codecov.io/gh/apache/arrow-rs/pull/287/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/arrow-rs/pull/287?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/arrow-rs/pull/287?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [8226219...5da458b](https://codecov.io/gh/apache/arrow-rs/pull/287?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-rs] jorgecarleitao commented on pull request #287: Fix FFI and add support for Struct type

Posted by GitBox <gi...@apache.org>.
jorgecarleitao commented on pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287#issuecomment-841700074


   @alamb , we are unable to distinguish if that is a false positive or a problem on our side. It is on my todo list to write to MIRI team to help us here.


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-rs] nevi-me commented on pull request #287: Fix FFI and add support for Struct type

Posted by GitBox <gi...@apache.org>.
nevi-me commented on pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287#issuecomment-840496410


   ping @ritchie46 


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-rs] roee88 commented on pull request #287: Fix FFI and add support for Struct type

Posted by GitBox <gi...@apache.org>.
roee88 commented on pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287#issuecomment-841699212


   > I also wondered if this would fix #227 (aka miri reported issues):
   > 
   > ```
   > RUST_BACKTRACE=1 MIRIFLAGS="-Zmiri-disable-isolation" cargo +nightly miri test -p arrow -- ffi
   > ```
   > 
   > Sadly, it still fails on both this branch and master. On master it fails with:
   > 
   > ```
   > running 12 tests
   > test array::ffi::tests::test_i64 ... error: Undefined Behavior: trying to reborrow for SharedReadOnly at alloc875771, but parent tag <2225913> does not have an appropriate item in the borrow stack
   >    --> /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/unique.rs:118:18
   >     |
   > 118 |         unsafe { &*self.as_ptr() }
   >     |                  ^^^^^^^^^^^^^^^ trying to reborrow for SharedReadOnly at alloc875771, but parent tag <2225913> does not have an appropriate item in the borrow stack
   >     |
   >     = help: this indicates a potential bug in the program: it performed an invalid operation, but the rules it violated are still experimental
   >     = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
   >             
   >     = note: inside `std::ptr::Unique::<[*const std::ffi::c_void]>::as_ref` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/unique.rs:118:18
   >     = note: inside `alloc::alloc::box_free::<[*const std::ffi::c_void], std::alloc::Global>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/alloc.rs:331:32
   >     = note: inside `std::ptr::drop_in_place::<std::boxed::Box<[*const std::ffi::c_void]>> - shim(Some(std::boxed::Box<[*const std::ffi::c_void]>))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<ffi::PrivateData> - shim(Some(ffi::PrivateData))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<std::boxed::Box<ffi::PrivateData>> - shim(Some(std::boxed::Box<ffi::PrivateData>))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   > note: inside `ffi::release_array` at arrow/src/ffi.rs:396:58
   >    --> arrow/src/ffi.rs:396:58
   >     |
   > 396 |     Box::from_raw(array.private_data as *mut PrivateData);
   >     |                                                          ^
   > note: inside `<ffi::FFI_ArrowArray as std::ops::Drop>::drop` at arrow/src/ffi.rs:517:39
   >    --> arrow/src/ffi.rs:517:39
   >     |
   > 517 |             Some(release) => unsafe { release(self) },
   >     |                                       ^^^^^^^^^^^^^
   >     = note: inside `std::ptr::drop_in_place::<ffi::FFI_ArrowArray> - shim(Some(ffi::FFI_ArrowArray))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::sync::Arc::<ffi::FFI_ArrowArray>::drop_slow` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:1039:18
   >     = note: inside `<std::sync::Arc<ffi::FFI_ArrowArray> as std::ops::Drop>::drop` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:1571:13
   >     = note: inside `std::ptr::drop_in_place::<std::sync::Arc<ffi::FFI_ArrowArray>> - shim(Some(std::sync::Arc<ffi::FFI_ArrowArray>))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<bytes::Deallocation> - shim(Some(bytes::Deallocation))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<bytes::Bytes> - shim(Some(bytes::Bytes))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::sync::Arc::<bytes::Bytes>::drop_slow` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:1039:18
   >     = note: inside `<std::sync::Arc<bytes::Bytes> as std::ops::Drop>::drop` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:1571:13
   >     = note: inside `std::ptr::drop_in_place::<std::sync::Arc<bytes::Bytes>> - shim(Some(std::sync::Arc<bytes::Bytes>))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<buffer::immutable::Buffer> - shim(Some(buffer::immutable::Buffer))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<bitmap::Bitmap> - shim(Some(bitmap::Bitmap))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<std::option::Option<bitmap::Bitmap>> - shim(Some(std::option::Option<bitmap::Bitmap>))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   >     = note: inside `std::ptr::drop_in_place::<array::data::ArrayData> - shim(Some(array::data::ArrayData))` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:192:1
   > note: inside `array::ffi::tests::test_round_trip` at arrow/src/array/ffi.rs:146:5
   >    --> arrow/src/array/ffi.rs:146:5
   >     |
   > 146 |     }
   >     |     ^
   > note: inside `array::ffi::tests::test_i64` at arrow/src/array/ffi.rs:166:9
   >    --> arrow/src/array/ffi.rs:166:9
   >     |
   > 166 |         test_round_trip(data)
   >     |         ^^^^^^^^^^^^^^^^^^^^^
   > note: inside closure at arrow/src/array/ffi.rs:163:5
   >    --> arrow/src/array/ffi.rs:163:5
   >     |
   > 163 | /     fn test_i64() -> Result<()> {
   > 164 | |         let array = Int64Array::from(vec![Some(2), None, Some(1), None]);
   > 165 | |         let data = array.data();
   > 166 | |         test_round_trip(data)
   > 167 | |     }
   >     | |_____^
   >     = note: inside `<[closure@arrow/src/array/ffi.rs:163:5: 167:6] as std::ops::FnOnce<()>>::call_once - shim` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
   >     = note: inside `<fn() as std::ops::FnOnce<()>>::call_once - shim(fn())` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
   >     = note: inside `test::__rust_begin_short_backtrace::<fn()>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:577:5
   >     = note: inside closure at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:568:30
   >     = note: inside `<[closure@test::run_test::{closure#2}] as std::ops::FnOnce<()>>::call_once - shim(vtable)` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
   >     = note: inside `<std::boxed::Box<dyn std::ops::FnOnce() + std::marker::Send> as std::ops::FnOnce<()>>::call_once` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1546:9
   >     = note: inside `<std::panic::AssertUnwindSafe<std::boxed::Box<dyn std::ops::FnOnce() + std::marker::Send>> as std::ops::FnOnce<()>>::call_once` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:344:9
   >     = note: inside `std::panicking::r#try::do_call::<std::panic::AssertUnwindSafe<std::boxed::Box<dyn std::ops::FnOnce() + std::marker::Send>>, ()>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:379:40
   >     = note: inside `std::panicking::r#try::<(), std::panic::AssertUnwindSafe<std::boxed::Box<dyn std::ops::FnOnce() + std::marker::Send>>>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:343:19
   >     = note: inside `std::panic::catch_unwind::<std::panic::AssertUnwindSafe<std::boxed::Box<dyn std::ops::FnOnce() + std::marker::Send>>, ()>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:431:14
   >     = note: inside `test::run_test_in_process` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:600:18
   >     = note: inside closure at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:492:39
   >     = note: inside `test::run_test::run_test_inner` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:530:13
   >     = note: inside `test::run_test` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:564:28
   >     = note: inside `test::run_tests::<[closure@test::run_tests_console::{closure#2}]>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:305:17
   >     = note: inside `test::run_tests_console` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/console.rs:289:5
   >     = note: inside `test::test_main` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:122:15
   >     = note: inside `test::test_main_static` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/test/src/lib.rs:141:5
   >     = note: inside `main`
   >     = note: inside `<fn() as std::ops::FnOnce<()>>::call_once - shim(fn())` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
   >     = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125:18
   >     = note: inside closure at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/rt.rs:49:18
   >     = note: inside `std::ops::function::impls::<impl std::ops::FnOnce<()> for &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>::call_once` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:259:13
   >     = note: inside `std::panicking::r#try::do_call::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:379:40
   >     = note: inside `std::panicking::r#try::<i32, &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:343:19
   >     = note: inside `std::panic::catch_unwind::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:431:14
   >     = note: inside `std::rt::lang_start_internal` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/rt.rs:34:21
   >     = note: inside `std::rt::lang_start::<()>` at /Users/alamb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/rt.rs:48:5
   >     = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)
   > 
   > error: aborting due to previous error
   > 
   > error: test failed, to rerun pass '-p arrow --lib'
   > ```
   
   I have written on slack about this. I spent several hours on this but couldn't understand why dereferencing the raw pointer (to get the inner raw pointer) pops the borrow. I did test with miri but had to disable stacked borrows as suggested by @jorgecarleitao.


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-rs] ritchie46 commented on pull request #287: Fix FFI and add support for Struct type

Posted by GitBox <gi...@apache.org>.
ritchie46 commented on pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287#issuecomment-841664247


   Nice work on this one! :+1: 


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-rs] alamb merged pull request #287: Fix FFI and add support for Struct type

Posted by GitBox <gi...@apache.org>.
alamb merged pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287


   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-rs] alamb merged pull request #287: Fix FFI and add support for Struct type

Posted by GitBox <gi...@apache.org>.
alamb merged pull request #287:
URL: https://github.com/apache/arrow-rs/pull/287


   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org