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

Register the CF configuration table as dump-only #429

Open
MichaelLambertson opened this issue Sep 6, 2022 · 1 comment
Open

Register the CF configuration table as dump-only #429

MichaelLambertson opened this issue Sep 6, 2022 · 1 comment
Assignees
Milestone

Comments

@MichaelLambertson
Copy link

MichaelLambertson commented Sep 6, 2022

Describe the bug
This is based on testing for the PACE mission.
In cf_app.c function CF_CheckForTblRequests blocks attempts to do updates to the configuration table. However, the configuration table is registered as CFE_TBL_OPT_LOAD_DUMP in CF_TableInit. An operator can execute load, validate and activate cmds as normally expected for a loadable table, but the activation request results in a load attempt that must be aborted.
Seems it would make more sense to register it as CFE_TBL_OPT_DUMP_ONLY
Aside from blocking the update attempt, this CF_CheckForTblRequests function appears to be in place in case "gnd may be trying to get the checksum of the table" - then it executes the table validation function.
But the table checksum can be obtained by using the tbl.tlm_reg command.

To Reproduce
Steps to reproduce the behavior:

  1. Dump the CF configuration table to ram
  2. Load, validate and activate the table using the dumped file.
  3. You should see these messages at the end:
    INFO DLEON CFE_TBL 36: CF validation successful for Inactive 'CF.ConfigTable'
    ERROR DLEON CF 151: CF Config Tbl cannot be updated! Load attempt must be aborted!

Expected behavior
Since the CF configuration table shows up in the table registry as "FALSE" for the DUMP ONLY flag, I expected it could be loaded.

Code snips
In cf_app.c,
function CF_TableInit
/* Register The CF Config Table /
Status = CFE_TBL_Register (&CF_AppData.ConfigTableHandle,
CF_CONFIG_TABLE_NAME,
sizeof (cf_config_table_t) ,
CFE_TBL_OPT_SNGL_BUFFER | CFE_TBL_OPT_LOAD_DUMP,
CF_ValidateCFConfigTable);
function CF_CheckForTblRequests
/
if gnd is trying to do a tbl load */
else if (Status == CFE_TBL_INFO_UPDATE_PENDING)
{
CFE_EVS_SendEvent(CF_TBL_LD_ATTEMPT_EID, CFE_EVS_ERROR,
"CF Config Tbl cannot be updated! Load attempt must be aborted!");
}

System observed on:

  • PACE DLEON processor
  • OS: VxWorks 6.9
  • Versions
    • cFE 6.6.05
    • CF 2.2.1.4

Additional context
None

Reporter Info
Michael Lambertson Goddard Space Flight Center Code 582 / Vantage Systems, Inc.

@MichaelLambertson
Copy link
Author

How do I get this to move along? I see the wiki mention marking with a label as CCB:Ready, but I don't see how to do this.

@dmknutsen dmknutsen added the CCB:Ready Ready for discussion at the Configuration Control Board (CCB) label Jan 24, 2023
@dzbaker dzbaker added this to the Equuleus milestone Jan 26, 2023
@dzbaker dzbaker removed the CCB:Ready Ready for discussion at the Configuration Control Board (CCB) label Jan 4, 2024
@jphickey jphickey transferred this issue from nasa/cFS Jan 4, 2024
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

3 participants