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
Describe the bug
There is a page fault when a simple test is run using k_pipe_put() and k_pipe_get(). No combination of static or __aligned(8) on the buffers or k_pipe resolves the issue.
If it were a stack smash, then making the pipe or the buffers static would presumably the issue.
Note: if BOARD=qemu_cortex_m3, then it works fine.
Also worrisome - test still passes with BOARD=qemu_x86_64 in spite of the page fault 🤨
Aha!
So it seems that k_pipes and other objects for sure cannot be stack-allocated. I looked through some more of the documentation and saw k_object_alloc() and friends.
The example test should have been in tests/kernel/pipe/pipe_api rather than tests/kernel/pipe/pipe.
I'll need to adjust the code in my implementation of #24366 to use k_object_alloc() before I call k_pipe_init(). The test in #24486 can simply use the statically-defined / initialized test_pipe.
Describe the bug
There is a page fault when a simple test is run using
k_pipe_put()
andk_pipe_get()
. No combination ofstatic
or__aligned(8)
on the buffers ork_pipe
resolves the issue.If it were a stack smash, then making the pipe or the buffers
static
would presumably the issue.Note: if
BOARD=qemu_cortex_m3
, then it works fine.Also worrisome - test still passes with
BOARD=qemu_x86_64
in spite of the page fault 🤨To Reproduce
Steps to reproduce the behavior:
Expected behavior
Expect tests to pass
Impact
blocking #24486
blocking implementation of #24366
Screenshots or console output
Environment (please complete the following information):
Additional context
detected in #24486
The text was updated successfully, but these errors were encountered: