Skip to content
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

MPSL Assert #37

Open
MB-Conti opened this issue Jan 15, 2025 · 3 comments
Open

MPSL Assert #37

MB-Conti opened this issue Jan 15, 2025 · 3 comments

Comments

@MB-Conti
Copy link

Hi,
i run a slightly adapted version of the timesync demo and experience sometimes a freezing of a time "slave" (mpsl assert 80, 2).

From my tests my assumption is, that this is due to the scheduling of a new earliest MPSL request if the slot was already extended up to 128 seconds Line 454.

If running into this path a new earliest timeslot request is triggered. However, the timeslot_end_handler() might not be called. As the MPSL_TIMESLOT_SIGNAL_ACTION_REQUEST will close a current timeslot and a new one is planned. My assumption is that the assert is then triggered due to improper closing of the timeslot.

From my perspective the condition might not be necessary. If the Extension Timer triggers and we are above the specified extended time, it might be possible to just skip the extension request and let the "time is about to end" timer handle the closing/rescheduling of the timeslot accordingly.

Due to time constraints I was not able to follow this up completely. However, I thought raising this issue might help in the future.

@nordic-auko
Copy link
Owner

Thanks for the info and your analysis!
Which version of NCS are you using in your adapted version? I'd like to look into this assert

@MB-Conti
Copy link
Author

MB-Conti commented Feb 5, 2025

I observed the behaviour in nrf Connect v2.7

@nordic-auko
Copy link
Owner

This MPSL assert happens when a radio IRQ is triggered outside of a timeslot. So I think your assessment is reasonable, and that the proper cleanup is not done upon the end of the timeslot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants