Analyse the moving window after EOF instead of dropping the file tail #6

Merged
tbaumgartl merged 1 commits from baumgartl/fix-moving-window-eof into main 2026-09-15 01:00:56 +02:00
Member

The moving window parsers never looked at the last few lines of any file. The
window centre is at index 3 of a 7 line window, so the main loop only ever gets
the centre as far as the fourth line from the end. The loop which is supposed to
walk the window off the end of the file shifted it but never called
_handle_file_parsing_moving_window, so every event or returnvalue declared in
the last three lines of a header was dropped without a warning.

That loop also cleared trailing window entries before shifting the remaining
ones down, which overwrote lines that had not reached the centre yet, so even
with the analysis call added the window contents would have been wrong.

Shift by one with pop/append and run the analysis on each resulting window.

Found via sourceobsw, where this silently dropped three CFDP returnvalues and
two events from the generated tables, including a HIGH severity
MGT_STARTUP_FAILURE_REMINDER which the ground could not translate.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01RZpKfWUzvTkBMXEv9NEoTM

The moving window parsers never looked at the last few lines of any file. The window centre is at index 3 of a 7 line window, so the main loop only ever gets the centre as far as the fourth line from the end. The loop which is supposed to walk the window off the end of the file shifted it but never called _handle_file_parsing_moving_window, so every event or returnvalue declared in the last three lines of a header was dropped without a warning. That loop also cleared trailing window entries before shifting the remaining ones down, which overwrote lines that had not reached the centre yet, so even with the analysis call added the window contents would have been wrong. Shift by one with pop/append and run the analysis on each resulting window. Found via sourceobsw, where this silently dropped three CFDP returnvalues and two events from the generated tables, including a HIGH severity MGT_STARTUP_FAILURE_REMINDER which the ground could not translate. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZpKfWUzvTkBMXEv9NEoTM
tbaumgartl added 1 commit 2026-09-15 01:00:10 +02:00
The moving window parsers never looked at the last few lines of any file. The
window centre is at index 3 of a 7 line window, so the main loop only ever gets
the centre as far as the fourth line from the end. The loop which is supposed to
walk the window off the end of the file shifted it but never called
_handle_file_parsing_moving_window, so every event or returnvalue declared in
the last three lines of a header was dropped without a warning.

That loop also cleared trailing window entries before shifting the remaining
ones down, which overwrote lines that had not reached the centre yet, so even
with the analysis call added the window contents would have been wrong.

Shift by one with pop/append and run the analysis on each resulting window.

Found via sourceobsw, where this silently dropped three CFDP returnvalues and
two events from the generated tables, including a HIGH severity
MGT_STARTUP_FAILURE_REMINDER which the ground could not translate.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZpKfWUzvTkBMXEv9NEoTM
tbaumgartl merged commit 3eddfa2e59 into main 2026-09-15 01:00:56 +02:00
tbaumgartl deleted branch baumgartl/fix-moving-window-eof 2026-09-15 01:00:56 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: fsfw/fsfwgen#6