Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

TBL verify check for CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE does not match documented description #2627

Open
irowebbn opened this issue Jan 14, 2025 · 0 comments · May be fixed by #2632
Open
Labels
good first issue Good for newcomers

Comments

@irowebbn
Copy link
Contributor

Describe the bug

According to the desciption in the platform config header, the value for CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE) must be "small enough to allow for #CFE_PLATFORM_TBL_MAX_SIMULTANEOUS_LOADS number of tables to fit into #CFE_PLATFORM_TBL_BUF_MEMORY_BYTES." (see

** The cFE does not place a limit on the size of this parameter but it must be
).

However, in modules/tbl/fsw/src/cfe_tbl_verify.h , the logic for checking this appears to be off by one:

#if ((CFE_PLATFORM_TBL_MAX_SIMULTANEOUS_LOADS + 1) * CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE) > \
    CFE_PLATFORM_TBL_BUF_MEMORY_BYTES
#error Shared buffers and table of size CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE cannot be greater than memory pool size of CFE_PLATFORM_TBL_BUF_MEMORY_BYTES!
#endif

This leads to compliant configuration values failing to compile.

To Reproduce
Steps to reproduce the behavior:

  1. Edit CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE and CFE_PLATFORM_ES_MAX_BLOCK_SIZE to be a large value, such as 196608
  2. Edit CFE_PLATFORM_TBL_BUF_MEMORY_BYTES to be equal to CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE * CFE_PLATFORM_TBL_MAX_SIMULTANEOUS_LOADS (in this case 786432, for the default simultaneous load value of 4).
  3. Try to compile
  4. See error
[15%] Building C object tbl/CMakeFiles/tbl.dir/fsw/src/cfe_tbl_task.c.o
In file included from cfe/modules/tbl/fsw/src/cfe_tbl_task.c:35:
cfe/modules/tbl/fsw/src/cfe_tbl_verify.h:39:2: error: #error Shared buffers and table of size CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE cannot be greater than memory pool size of CFE_PLATFORM_TBL_BUF_MEMORY_BYTES!

Expected behavior
Successful compilation

System observed on:

  • Hardware: x86_64
  • OS: Rocky Linux 8
  • Versions draco-rc4 tag

Reporter Info
Isaac Rowe, NASA JSC/Jacobs Technology

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants