Skip to content

Fix CmdArgBuffer SERIALIZED_SIZE computation#4978

Merged
LeStarch merged 3 commits intonasa:develfrom
Sarah5567:fix-buffer-serialized-size
Apr 16, 2026
Merged

Fix CmdArgBuffer SERIALIZED_SIZE computation#4978
LeStarch merged 3 commits intonasa:develfrom
Sarah5567:fix-buffer-serialized-size

Conversation

@Sarah5567
Copy link
Copy Markdown
Contributor

@Sarah5567 Sarah5567 commented Apr 9, 2026

Related Issue(s) #4896
Has Unit Tests (y/n) n
Documentation Included (y/n) n
Generative AI was used in this contribution (y/n) y

Change Description

Fix CmdArgBuffer::SERIALIZED_SIZE, which incorrectly used sizeof(I32) instead of sizeof(FwSizeStoreType).
To prevent this kind of mistake, this PR adds a STATIC_SERIALIZED_SIZE constexpr helper to LinearBufferBase and updates all buffer-derived classes to use it.

Rationale

If FwSizeStoreType is configured larger than I32 (e.g. U64), CmdArgBuffer::SERIALIZED_SIZE would be too small, potentially causing serialization issues.

Testing/Review Recommendations

N/A

Future Work

N/A

AI Usage (see policy)

GitHub Copilot CLI (Claude)

STATIC_SERIALIZED_SIZE to LinearBufferBase
@LeStarch
Copy link
Copy Markdown
Collaborator

LeStarch commented Apr 9, 2026

To fix the formatting, you can run this command:

git diff --name-only devel...HEAD | fprime-util format --stdin

@LeStarch LeStarch requested a review from thomas-bc April 14, 2026 21:16
@LeStarch LeStarch merged commit e768808 into nasa:devel Apr 16, 2026
41 checks passed
Lex-ari added a commit to FireflySpace/fprime that referenced this pull request May 5, 2026
commit d86b54d
Author: Andrei Tumbar <andrei.tumbar@jpl.nasa.gov>
Date:   Thu Apr 30 11:45:35 2026 -0700

    Bump FPP to 3.3.0a3 (nasa#5075)

commit 5d748fd
Author: Alex Mariano <65744075+Lex-ari@users.noreply.github.com>
Date:   Wed Apr 29 13:36:38 2026 -0500

    Add Cancel Port To FpySequencer (nasa#5056)

    * Add Cancel Port

    * Cancel Event

    * InvalidSeqCancelCall

    * Added missing brace for FpySequencer UT

    ---------

    Co-authored-by: Brian Campuzano <brian.campuzano@fireflyspace.com>

commit 5843907
Author: Alex Mariano <65744075+Lex-ari@users.noreply.github.com>
Date:   Mon Apr 27 16:39:26 2026 -0500

    Add args to CmdSeqIn (nasa#4962)

    * Add args to CmdSeqIn

    * Fix function header

    * Add RUN_ARGS handlers + UTs

    * Fix argument sizing / states

    * Removed cmd_RUN_VALIDATED_ARGS

    * Fix math

    * Fix comment

    * Formatting

    * Formatting

commit ebd2306
Author: Cel Skeggs <celskeggs@users.noreply.github.com>
Date:   Thu Apr 23 17:46:24 2026 -0700

    Fix FileWorker compatibility with 32-bit baremetal platforms (nasa#5046)

    * Fix FileWorker compatibility with 32-bit baremetal platforms

    * Improve non-Posix registration of FileTester

    Co-authored-by: Copilot <copilot@github.com>

    * use STATUS instead of INFO

    ---------

    Co-authored-by: thomas-bc <thomas.boyerchammard@gmail.com>
    Co-authored-by: Copilot <copilot@github.com>

commit 919d570
Author: Ali Deniz Tartma <aliden1z@outlook.com>
Date:   Thu Apr 23 23:33:39 2026 +0300

    Add build status to supported platforms table (nasa#5045)

commit d7550d9
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Apr 22 09:45:16 2026 -0700

    Bump lxml from 6.0.2 to 6.1.0 (nasa#5053)

    Bumps [lxml](https://github.com/lxml/lxml) from 6.0.2 to 6.1.0.
    - [Release notes](https://github.com/lxml/lxml/releases)
    - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
    - [Commits](lxml/lxml@lxml-6.0.2...lxml-6.1.0)

    ---
    updated-dependencies:
    - dependency-name: lxml
      dependency-version: 6.1.0
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit d024f24
Author: Andrei Tumbar <andrei.tumbar@jpl.nasa.gov>
Date:   Mon Apr 20 14:35:58 2026 -0700

    Bump FPP to 3.3.0a2 (nasa#5044)

commit aa0e3dd
Author: M Starch <LeStarch@googlemail.com>
Date:   Mon Apr 20 11:46:50 2026 -0700

    Fix off-by-one in Stack::push() and Stack::pushZeroes() boundary checks (nasa#5015)

    Change strict less-than (<) to less-than-or-equal (<=) in the
    FW_ASSERT guards of Stack::push<T>() and Stack::pushZeroes(), matching
    the existing Stack::push(U8*, StackSizeType) overload.

    The old strict check rejected exact-fit growth (size + growth ==
    MAX_STACK_SIZE) with a hard assertion, even though the directive
    handlers (ALLOCATE, CALL, etc.) correctly allow it. This mismatch
    let validated sequences abort the process at runtime instead of
    returning a handled STACK_OVERFLOW error.

    Fixes nasa#5008

    Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

commit 9cf0ad0
Author: Andrei Tumbar <andrei.tumbar@jpl.nasa.gov>
Date:   Mon Apr 20 11:29:13 2026 -0700

    Add FppTestProject Direct Port Call Integration Tests to CI (nasa#5033)

commit c429a8b
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 16 16:45:30 2026 -0700

    Bump pytest from 8.3.3 to 9.0.3 (nasa#5004)

    Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.3 to 9.0.3.
    - [Release notes](https://github.com/pytest-dev/pytest/releases)
    - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
    - [Commits](pytest-dev/pytest@8.3.3...9.0.3)

    ---
    updated-dependencies:
    - dependency-name: pytest
      dependency-version: 9.0.3
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit ca38626
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 16 15:12:08 2026 -0700

    Bump requests from 2.32.4 to 2.33.0 (nasa#4906)

    * Bump requests from 2.32.4 to 2.33.0

    Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.33.0.
    - [Release notes](https://github.com/psf/requests/releases)
    - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
    - [Commits](psf/requests@v2.32.4...v2.33.0)

    ---
    updated-dependencies:
    - dependency-name: requests
      dependency-version: 2.33.0
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

    * Update Python version requirement to 3.10+

    * Remove Python 3.9 from pip-check workflow

    * Change Python version requirement to 3.10+

    Updated Python version requirement from 3.9+ to 3.10+.

    ---------

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: M Starch <LeStarch@googlemail.com>

commit e768808
Author: Sarah Gershuni <Sarah556726@gmail.com>
Date:   Thu Apr 16 05:13:34 2026 +0300

    Fix CmdArgBuffer SERIALIZED_SIZE computation (nasa#4978)

    * Add
    STATIC_SERIALIZED_SIZE to LinearBufferBase

    * Use STATIC_SERIALIZED_SIZE in buffer-derived classes

    * Fix formatting

commit 2f7cbc5
Author: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
Date:   Wed Apr 15 19:08:21 2026 -0700

    Refine Contributing, Security, and AI Policy documents (nasa#5024)

    * Iterate on Contributing, Security, and AI Policy documents

    * remove unecessary paragraph

    * rewording

    * review feedback

    * rewording

commit b40cdc0
Author: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
Date:   Wed Apr 15 10:45:09 2026 -0700

    Add common infrastructure for Rule-Based Testing (nasa#4977)

    * First pass at enhanced system

    * change macro names

    * cosmetic updates

    * Mono-macro implementation

    * nits

    * Update docstrings

    * Remove extra comments

    * switch numRulesToApply to U32

    * fix formatting

    * Bring tester into scope with using

    * Update Svc/Ccsds/ApidManager/test/ut/TestState/TestState.hpp

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

    * Update Svc/Ccsds/ApidManager/test/ut/TestState/TestState.cpp

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

    * Address review comments

    * nits

    * formatting

    ---------

    Co-authored-by: M Starch <LeStarch@googlemail.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

commit 5c15d7a
Author: M Starch <LeStarch@googlemail.com>
Date:   Tue Apr 14 14:50:05 2026 -0700

    Add How-To Develop an F´ Component in Python (nasa#4976)

    * Adding python development guide

    * sp

    Signed-off-by: M Starch <LeStarch@googlemail.com>

    * Update docs/how-to/python-development.md

    Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>

    * Review Fixes

    Updated the documentation to clarify the understanding of Python development and link specific documents.

    Signed-off-by: M Starch <LeStarch@googlemail.com>

    ---------

    Signed-off-by: M Starch <LeStarch@googlemail.com>
    Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>

commit 17cc0c5
Author: Tirth Thakkar <108642800+Tirth-Thakkar@users.noreply.github.com>
Date:   Tue Apr 14 13:27:12 2026 -0700

    Adjustments to FileWorker To Resolve 32Bit & Non-Posix System Issues (nasa#5021)

commit 38eb95c
Author: Dhiego Pagotto <75350452+dcpagotto@users.noreply.github.com>
Date:   Tue Apr 14 14:37:10 2026 -0400

    Refactor runner.debug use in reusable project builder (nasa#4999)

commit 751ed50
Author: M Starch <LeStarch@googlemail.com>
Date:   Tue Apr 14 11:22:38 2026 -0700

    Fix nasa#5007 by dropping frame when full (nasa#5019)

    * Fix nasa#5007 by dropping frame when full

    * Formatting

commit b0e6c6f
Author: Ali Deniz Tartma <aliden1z@outlook.com>
Date:   Tue Apr 14 21:22:05 2026 +0300

    Fix typos and duplicated words in port patterns guide (nasa#5020)

    * docs: fix typos and duplicated words in port patterns guide

    - Corrected multiple instances of "patten" to "pattern" in the Callback Ports section.
    - Removed a duplicated "is" in the Parallel Ports implementation section.

    * fix typo

    ---------

    Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>

commit fca26cb
Author: Dhiego Pagotto <75350452+dcpagotto@users.noreply.github.com>
Date:   Tue Apr 14 14:20:57 2026 -0400

    Ref: call deinitComponents during topology teardown (nasa#4998)

commit 75bd1af
Author: M Starch <LeStarch@googlemail.com>
Date:   Tue Apr 14 11:11:28 2026 -0700

    Tighten com protocol sdds (nasa#5017)

    * Tighten ComQueue protocol definition across com-stack SDDs

    Clarify that Fw::Success::SUCCESS is valid in exactly three contexts:
    1. At start-up to initiate data flow
    2. In response to a successfully transmitted message
    3. After a previous Fw::Success::FAILURE to indicate recovery

    Updated SDDs and docs for:
    - Communication Adapter Interface (core protocol reference)
    - ComQueue
    - ComAggregator
    - ComStub
    - FprimeFramer
    - TmFramer
    - AosFramer
    - ComRetry
    - Svc Interfaces
    - How-to guides (radio manager, custom framing)

    Closes nasa#5005

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    * Remove incorrect data.

    * Add 'interoperate' to spell-check expect list

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    * Fix relative link depth for CCSDS framer docs (4 levels, not 3)

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    ---------

    Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

commit edb3f1b
Author: odacindy-fprime <cindy.h.oda@jpl.nasa.gov>
Date:   Tue Apr 14 10:31:56 2026 -0700

    Generalize uses of LinearBufferBase to SerialBufferBase where possible (nasa#4995)

    * issue-4335 delete Fw/Types/test/ut/SerializeBufferBaseTester.hpp

    * issue-4335 rename SerializeBufferBase to LinearBufferBase and run formatter

    * issue-4985 Reduce uses of LinearBufferBase to SerialBufferBase where possible excluding ones that require changes to FPP code gen and excluding unit tests

commit 0b6b31c
Author: M Starch <LeStarch@googlemail.com>
Date:   Tue Apr 14 10:26:11 2026 -0700

    Fixes nasa#5010 (nasa#5013)

commit e5cde51
Author: M Starch <LeStarch@googlemail.com>
Date:   Tue Apr 14 09:38:09 2026 -0700

    Fix incorrect U32 usage in FprimeFrameDetector (nasa#5016)

commit 1ac579a
Author: kubiak-jpl <99773472+kubiak-jpl@users.noreply.github.com>
Date:   Mon Apr 13 12:10:50 2026 -0700

    DpWriter shrink container buffer after processing (nasa#4904)

    * Add unit tests for shrinking processed buffer

    * Update DpWriter to shrink processed buffers after processing

    * Formatting

    * Updated DpWriter to use the dataSize in the container header to shrink the container size

    * Update DpWriter SDD with container shrinking steps

    * Re-run formatting

    * Reset container structure iff the container was processed. Remove cast comment

    * Fixed DpWriter formatting

    ---------

    Co-authored-by: M Starch <LeStarch@googlemail.com>
    Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>

commit bf52aa3
Author: Rob Bocchino <bocchino@jpl.nasa.gov>
Date:   Mon Apr 13 12:00:25 2026 -0700

    Add support for direct port calls (nasa#4987)

    * Remove test output files

    * Add .gitignore file

    * Revise fpp version; update tests

    * Update tests

    * Update requirements

    * Update requirements

    * Update requirements

    * Update fpp version

    * Update fpp version

    * Revise FPP config

    Enable strict assertions

    * Update FPP version

    * Fix header includes

    * Revise FpConfig.h

    * Revise FP config

    By default, enable direct port calls when BUILD_UT is not defined

    * Revise Ref/Main.cpp

    Use Fw::Log instead of printf

commit e0dc2e7
Author: M Starch <LeStarch@googlemail.com>
Date:   Thu Apr 9 17:10:37 2026 -0700

    Remove FprimeRouter Copy (nasa#4984)

    * Remove unnecessary buffer allocation/copy in FprimeRouter for file and unknown packets

    Instead of allocating a new buffer and copying data for file and unknown
    packet types, pass the original buffer directly to the receiver. The
    buffer is not returned to the deframer via dataReturnOut until it comes
    back on fileBufferReturnIn, at which point an empty context is
    constructed for the return.

    This eliminates the need for bufferAllocate and bufferDeallocate ports,
    as well as the AllocationReason enum and AllocationError event.

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    * Remove dangling fprimeRouter buffer allocation connections from subtopologies

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    * Move dataReturnOut into each switch case instead of using early returns

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    * Fix formatting: remove extra blank line

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    * Update Svc/FprimeRouter/docs/sdd.md

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

    * Address review: empty context on all return paths, clarify buffer return contract, document context discard

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    * Clarify SDD: receivers must return buffers via fileBufferReturnIn

    Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>

    ---------

    Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

commit f3f6c66
Author: M Starch <LeStarch@googlemail.com>
Date:   Thu Apr 9 16:56:17 2026 -0700

    Refactor GenericHub no-output invalid-path assertions (nasa#4944)

    Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>

commit d619407
Author: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
Date:   Thu Apr 9 13:55:53 2026 -0700

    Refactor FileManager for no shell command (nasa#4979)

commit a7f910d
Author: odacindy-fprime <cindy.h.oda@jpl.nasa.gov>
Date:   Thu Apr 9 13:31:58 2026 -0700

    Rename SerializeBufferBase to LinearBufferBase (nasa#4982)

    * issue-4335 delete Fw/Types/test/ut/SerializeBufferBaseTester.hpp

    * issue-4335 rename SerializeBufferBase to LinearBufferBase and run formatter

commit 8487319
Author: M Starch <LeStarch@googlemail.com>
Date:   Thu Apr 9 13:04:27 2026 -0700

    Change configure method parameters to const (nasa#4961)

    * Change configure method parameters to const

    * Change configure method parameters to const

    * Change configure method parameters to const

    * Change configure method parameters to const

    * Make Divider constructor constexpr

commit 3d6cb44
Author: M Starch <LeStarch@googlemail.com>
Date:   Wed Apr 8 11:50:50 2026 -0700

    Fix defaults to work around nasa/fpp#984 (nasa#4969)

    Works around the fact that `external parameters` don't respect default values.

commit 306d36e
Author: M Starch <LeStarch@googlemail.com>
Date:   Wed Apr 8 09:43:35 2026 -0700

    Move Includes for ComCcsds into SubTopology (nasa#4967)

    * Add includes for Ports_ComBufferQueueEnumAc and Ports_ComPacketQueueEnumAc

    * Remove ComCcsds enum includes

    Removed unnecessary ComCcsds enum includes from RefTopologyDefs.hpp.

    ---------

    Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>

commit 1b7b4e8
Author: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
Date:   Tue Apr 7 14:36:36 2026 -0700

    Appease spelling CI (nasa#4968)

commit 5cbf797
Author: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
Date:   Tue Apr 7 12:40:41 2026 -0700

    Update spelling workflow to v0.0.26 (nasa#4966)

commit 505735a
Author: aldwin-dev <ktaguba.dev@gmail.com>
Date:   Mon Apr 6 18:41:24 2026 -0700

    Fix/dp catalog bounds check (nasa#4934)

    * fix: add bounds check to DpCatalog.cpp

    * Add unit tests

    ---------

    Co-authored-by: kent <kent@aldwinresearch.com>
    Co-authored-by: M Starch <LeStarch@googlemail.com>
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

Successfully merging this pull request may close these issues.

3 participants