-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
mec15xxevb_assy6853: test_timeout_order in tests/kernel/common assertion failed #34585
Comments
Reproduced on MEC152x EVB building only the tests/kernel/common. |
Narrowed it down to something related to the 32KHz timer we are using for the kernel timer. If the build is switched to SYSTICK the test passes even at fastest CPU speed. |
@albertofloyd This is an issue. If we have to switch to SYSTICK then deep sleep will require enabling a 32 KHz based timer and the issues converting kernel ticks to 32 KHz units. |
@yerabolu and @ioannisg |
@yerabolu was this test passing before? Do you have any any regression data? |
@albertofloyd and @scottwcpg: Yes this test was passing before and started failing from c22df64. After bisecting a09b5ad is the first bad commit. |
Thanks @yerabolu . That commit seems to be part of this PR #33302 introduced by as part of tickeless idle removal. I;m not clear in the implications from tickeless removal to the RTOS drivers @andyross @nashif could you indicate if preliminary analysis from @scottwcpg is going in the direction expected by Zephyr. |
the commit above is not related to tickless idle, tickless idle is not related to tickless kernel. Out kernel is tickless by default, this was the mode we had before introducing tickless kernel. |
In the timeout order test, the usage of k_poll() assumes that it only returns after all events are ready. However, that is not the case, as k_poll() returns when non-zero number of events are ready. This means the check for all semaphore being ready after k_poll() will not always pass. So instead of using k_poll(), simply wait a bit for timers to fire, then check results. Also add some bits to clean up at the end of test. Fixes zephyrproject-rtos#34585 Signed-off-by: Daniel Leung <[email protected]>
In the timeout order test, the usage of k_poll() assumes that it only returns after all events are ready. However, that is not the case, as k_poll() returns when non-zero number of events are ready. This means the check for all semaphore being ready after k_poll() will not always pass. So instead of using k_poll(), simply wait a bit for timers to fire, then check results. Also add some bits to clean up at the end of test. Fixes #34585 Signed-off-by: Daniel Leung <[email protected]>
Describe the bug
test_timeout_order in tests/kernel/common assertion failed
It is also failing on EHL_CRB
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Test should pass
Logs and console output
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: