-
Notifications
You must be signed in to change notification settings - Fork 61
Unable to transfer data larger than 8MiB #575
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
Comments
@gyk the |
@elBoberido I only run one subscriber and one publisher, using these commands. |
@gyk I can partially reproduce your issue. But for me, it is not 8 MB. It is ~20MB. And I am not out of memory. Could you please add I think we hit some kind of internal Windows limit here, and I'll try to provide at least a better error message,e but in the meantime, you can adjust some service settings to reduce the required memory via the service builder: let service = node
.service_builder(&"Service With Dynamic Data".try_into()?)
.publish_subscribe::<[u8]>()
.max_subscribers(1)
.history_size(1)
.subscriber_max_borrowed_samples(1)
.subscriber_max_buffer_size(1)
.open_or_create()?; Here is the documentation of this part: https://docs.rs/iceoryx2/latest/iceoryx2/service/index.html |
@elfenpiff I have modified the reproduction code above to send And my PC has 32 GB memory and the paging file size is configured to approx. 6 GB. The output before change
The output after change
|
…EB (exa byte), set off_t from i32 to i64
…n-windows [#575] out of memory issue on windows
@gyk I fixed the issue and merged the pull request. The underlying problem was that the windows API required me to provide an upper limit for shared memory - I set it to 1GB, way too low! Could you please confirm that the bug is fixed on your side, then I would close the issue. |
I can confirm that now it successfully sends 268435456 bytes (with committed memory of 70+ GB) and panics at x2 of that. This is sufficient for my use case of transferring 4K raw RGBA images (31.6 MB). 👍 |
Required information
Operating system:
Windows 11 23H2 (22635.4655)
Rust version:
rustc 1.82.0 (f6e511eec 2024-10-15)
Cargo version:
cargo 1.82.0 (8f40fc59f 2024-08-21)
iceoryx2 version:
0.5.0
Observed result or behaviour:
In the
publish_subscribe_dynamic_data
example, the publisher cannot send u8 slice exceeding 8 MiB. It can be reproduced byThe publisher crashes with error
According to my test, the maximum length of u8 slice that can be successfully sent is
.8192 * 1024 - 100 + 64
The text was updated successfully, but these errors were encountered: