Skip to content
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

Test failures on 32 bit ARM (Raspberry Pi) #109

Open
alamb opened this issue Apr 26, 2021 · 3 comments · May be fixed by #6678
Open

Test failures on 32 bit ARM (Raspberry Pi) #109

alamb opened this issue Apr 26, 2021 · 3 comments · May be fixed by #6678
Labels
arrow Changes to the arrow crate bug

Comments

@alamb
Copy link
Contributor

alamb commented Apr 26, 2021

Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-10187

Perhaps these failures are to be expected and perhaps we can't really support 32 bit?

 
{code:java}
---- array::array::tests::test_primitive_array_from_vec stdout ----
thread 'array::array::tests::test_primitive_array_from_vec' panicked at 'assertion failed: (left == right)
left: 144,
right: 104', arrow/src/array/array.rs:2383:9---- array::array::tests::test_primitive_array_from_vec_option stdout ----
thread 'array::array::tests::test_primitive_array_from_vec_option' panicked at 'assertion failed: (left == right)
left: 224,
right: 176', arrow/src/array/array.rs:2409:9---- array::null::tests::test_null_array stdout ----
thread 'array::null::tests::test_null_array' panicked at 'assertion failed: (left == right)
left: 64,
right: 32', arrow/src/array/null.rs:134:9---- array::union::tests::test_dense_union_i32 stdout ----
thread 'array::union::tests::test_dense_union_i32' panicked at 'assertion failed: (left == right)
left: 1024,
right: 768', arrow/src/array/union.rs:704:9---- memory::tests::test_allocate stdout ----
thread 'memory::tests::test_allocate' panicked at 'assertion failed: (left == right)
left: 0,
right: 32', arrow/src/memory.rs:243:13
{code}

@alamb alamb added the arrow Changes to the arrow crate label Apr 26, 2021
@alamb
Copy link
Contributor Author

alamb commented Apr 26, 2021

Comment from Andy Grove(andygrove) @ 2020-10-06T04:18:16.429+0000:

I was able to run the DataFusion examples though, despite these test failures.

Comment from Andy Grove(andygrove) @ 2020-10-06T14:36:18.391+0000:

If these tests really are specific to 64 bit platforms then we could use conditional compilation and only compile them when target_pointer_width == 64.

See [https://doc.rust-lang.org/reference/conditional-compilation.html#target_pointer_width] for more information.

Comment from Andy Grove(andygrove) @ 2020-10-06T14:37:10.663+0000:

[~nevi_me] [~vertexclique] I'd be interested in your opinions on this one.

Comment from Mahmut Bulut(vertexclique) @ 2020-10-06T14:42:40.349+0000:

[~andygrove] Hi Andy, I don't have raspberry pi at hand. I want to check the compilation problems on ARM asap, target_pointer_width gate might be a good option for it. What version of rpi did you use?

Comment from Neville Dipale(nevi_me) @ 2020-10-16T04:08:01.196+0000:

[~andygrove] 64-bit types and offsets would also be a blocker for supporting wasm32.

If someone completes ARROW-9453, perhaps we can gauge from that on what effort it takes to support 32-bit.

@andygrove
Copy link
Member

An update on this. We still have some failures on 32 bit Rasp Pi.

---- array::array_primitive::tests::test_primitive_array_from_vec_option stdout ----
thread 'array::array_primitive::tests::test_primitive_array_from_vec_option' panicked at 'assertion failed: `(left == right)`
  left: `216`,
 right: `172`', arrow/src/array/array_primitive.rs:533:9

---- array::array_primitive::tests::test_primitive_array_from_vec stdout ----
thread 'array::array_primitive::tests::test_primitive_array_from_vec' panicked at 'assertion failed: `(left == right)`
  left: `136`,
 right: `100`', arrow/src/array/array_primitive.rs:511:9

---- array::array_primitive::tests::test_timestamp_fmt_debug stdout ----
thread 'array::array_primitive::tests::test_timestamp_fmt_debug' panicked at 'called `Option::unwrap()` on a `None` value', arrow/src/array/array_primitive.rs:286:54

Environment (Rasperry Pi 4 Model B):

Raspbian GNU/Linux 10
Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux
rustc 1.51.0 (2fd73fabe 2021-03-23)

@andygrove andygrove added the bug label May 2, 2021
@andygrove
Copy link
Member

Amazingly, this issue is reproducible on any computer using Docker and cross. Make sure you have the Docker daemon running, then run:

cargo install cross
cross build --target armv7-unknown-linux-gnueabihf
cross test --target armv7-unknown-linux-gnueabihf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrow Changes to the arrow crate bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants