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

CFE_ES_ProcessCoreException and CFE_ES_ResetCFE are not ISR safe (GSFC DCR 18593) #122

Closed
skliper opened this issue Sep 30, 2019 · 2 comments

Comments

@skliper
Copy link
Contributor

skliper commented Sep 30, 2019

The functions CFE_ES_ResetCFE and CFE_ES_ProcessCoreException are not ISR safe. They must be called from the context of a running task.
 
In GSFC's MMS FSW, sometimes and exception can occur from an ISR. When this happens, the CFE_ES_ProcessCoreException code will not work, since it has multiple calls to take a semaphore.

Similarly, the CFE_ES_ResetCFE cannot be called from an ISR to reset the system, as it will hang.
 
This needs to be addressed with a long term solution or strategy for current and future platforms.
 
For MMS, it may be fixed by simply handling the exception completely within the PSP.

For future releases of the cFE we need to look at possibly re-writing the CFE_ES_ProcessCoreException and CFE_ES_ResetCFE functions to be ISR safe.

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Imported from trac issue 91. Created by sstrege on 2015-08-27T14:05:52, last modified: 2016-08-22T15:51:05

@skliper skliper self-assigned this Sep 30, 2019
@skliper skliper added the bug label Sep 30, 2019
@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by jphickey on 2015-08-31 11:49:04:

This is a duplicate of #76

@skliper skliper closed this as completed Sep 30, 2019
@skliper skliper removed their assignment Sep 30, 2019
@skliper skliper removed the bug label Dec 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant