<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged nasa</title>
<link>https://coderlegion.com/tag/nasa</link>
<description>Powered by Question2Answer</description>
<item>
<title>How a single 1-bit shift bug stayed hidden in NASA's communication protocol for years.</title>
<link>https://coderlegion.com/30570/how-a-single-1-bit-shift-bug-stayed-hidden-in-nasas-communication-protocol-for-years</link>
<description>&lt;p&gt;When developing flight software for spacecraft and rovers, standards are everything.&lt;/p&gt;
&lt;p&gt;NASA’s F Prime framework powers autonomous flight control and deep-space telemetry. While analyzing the CFDP (CCSDS File Delivery Protocol) implementation inside F Prime, something in the metadata serialization caught my eye.&lt;/p&gt;
&lt;p&gt;According to the official CCSDS 727.0-B-5 standard (Table 5-9): The closure_requested flag is specified at bit position 6 (mask 0x40).&lt;/p&gt;
&lt;p&gt;However, inside MetadataPdu.cpp, the serialization code was doing: closure_requested &amp;lt;&amp;lt; 7 (masking at bit 7, which is 0x80).&lt;/p&gt;
&lt;p&gt;A single-bit discrepancy. In deep-space operations, this meant:&lt;/p&gt;
&lt;p&gt;The closure request bit was never set where the CCSDS standard expected it.&lt;br&gt;
If the peer receiver relied strictly on the international specification, transaction closure signals would simply be misinterpreted or dropped.&lt;/p&gt;
&lt;p&gt;When I submitted the fix to NASA's repository, Core Maintainer Thomas Boyer-Chammard reviewed it and confirmed: &quot;This seems like a bug that was inherited from the cFS implementation.&quot;&lt;/p&gt;
&lt;p&gt;The PR (#6143) is now officially tagged as a bug fix in C++/CFDP, passed all automated unit tests and CI suites, and is queued for integration.&lt;/p&gt;
&lt;p&gt;The biggest takeaway for me as a systems engineer: Never take legacy codebases for granted—even space-grade frameworks. Always verify against first principles and the raw specification.&lt;/p&gt;
&lt;p&gt;PR details: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/nasa/fprime/pull/6143&quot;&gt;https://github.com/nasa/fprime/pull/6143&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/30570/how-a-single-1-bit-shift-bug-stayed-hidden-in-nasas-communication-protocol-for-years</guid>
<pubDate>Sat, 10 Oct 2026 09:03:21 +0000</pubDate>
</item>
</channel>
</rss>