-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Description
When adding a littlefs2 mount point to the rust-gcoap example and adjusting the mount points to expose the littlefs2 partition over CoAP as a file server, undefined behavior can happen (resulting in the typical kind of heisencrashes that appear and disappear depending on optimization settings and inserted debug statements).
In particular,
Cause
This is caused by https://gitlab.com/etonomy/riot-wrappers/-/issues/8 -- the Rust wrappers assume that a vfs_DIR can be moved, which is not the case with littlefs2.
(This makes things a bit awkward to use -- Rust can express such not-to-be-moved structures, but it is limiting because generic tools expect more flexibility. I just didn't notice that a vfd_DIR could be part of a linked list and thus need that treatment).
Administrativa
Affects all RIOT versions that have the vfs example active.
This issue is opened here to ensure it is visible as it affects one the examples. It will be fixed there for the version after riot-wrappers 0.7.21, and fixed here by the cargo update PR that pulls in that version.
[edit: I should never have attempted to link two projects that have the same number of letters and start with the same]