You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cargo tree | grep tokio
│ │ │ ├── tokio v1.32.0
│ │ │ │ └── tokio-macros v2.1.0 (proc-macro)
│ │ │ ├── tokio-util v0.7.9
│ │ │ │ ├── tokio v1.32.0 (*)
│ │ │ └── tokio v1.32.0 (*)
│ │ │ ├── tokio v1.32.0 (*)
│ │ │ ├── tokio-openssl v0.6.3
│ │ │ │ └── tokio v1.32.0 (*)
│ │ │ ├── tokio-util v0.7.9 (*)
│ │ │ ├── tokio v1.32.0 (*)
│ │ │ ├── tokio-util v0.7.9 (*)
│ │ ├── tokio v1.32.0 (*)
│ │ ├── tokio-util v0.7.9 (*)
│ │ │ ├── tokio v1.32.0 (*)
│ └── tokio v1.32.0 (*)
├── tokio v1.32.0 (*)
├── tokio-serial v5.4.4
│ ├── tokio v1.32.0 (*)
│ └── tokio-util v0.7.9 (*)
├── tokio-stream v0.1.14
│ └── tokio v1.32.0 (*)
└── tokio-util v0.7.9 (*)
Platform
host = x86_64 GNU/Linux
target = QEMU?! armel, armv7-unknown-linux-gnueabi
(tested on real armv7 target as well)
Description
calling tokio::io::copy on my armv7 target returned exactly with u32::MAX bytes left to copy. I distilled the problem into a generic tokio test, but the behavior is still not as expected.
given the following test-case:
use tokio::io::{sink,AsyncReadExt};#[tokio::test]asyncfnbig_copy_test() -> std::io::Result<()>{// make sure it overflows usize on 32bit targetsletmut reader = tokio::io::repeat(0b101).take(u32::MAXasu64 + 1u64);let copied = tokio::io::copy(&mut reader,&mutsink()).await?;assert_eq!(copied,u32::MAXasu64 + 1u64);Ok(())}
Completes successfully, as expected, on x64 executed via: cargo test big_copy_test
FAILS on armv7-linux-gnueabi using cross-rs: cross test big_copy --target armv7-unknown-linux-gnueabi --release
Outcome:
running 1 testtest utils::io::test::big_copy_test ... thread 'utils::io::test::big_copy_test' panicked at 'assertion failed: `(left == right)` left: `0`, right: `4294967296`', src/utils/io.rs:88:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAILED
Expected:
left == right, test passed.
The text was updated successfully, but these errors were encountered:
Version
Platform
(tested on real armv7 target as well)
Description
calling
tokio::io::copy
on my armv7 target returned exactly withu32::MAX
bytes left to copy. I distilled the problem into a generic tokio test, but the behavior is still not as expected.given the following test-case:
Completes successfully, as expected, on x64 executed via:
cargo test big_copy_test
FAILS on armv7-linux-gnueabi using cross-rs:
cross test big_copy --target armv7-unknown-linux-gnueabi --release
Outcome:
Expected:
left == right, test passed.
The text was updated successfully, but these errors were encountered: