Skip to content

AP_Scheduler: guard overrun reporting#32825

Draft
vlordier wants to merge 1 commit intoArduPilot:masterfrom
vlordier:pr/ap-scheduler-overrun-guard
Draft

AP_Scheduler: guard overrun reporting#32825
vlordier wants to merge 1 commit intoArduPilot:masterfrom
vlordier:pr/ap-scheduler-overrun-guard

Conversation

@vlordier
Copy link
Copy Markdown

@vlordier vlordier commented Apr 18, 2026

This draft isolates the AP_Scheduler overrun-reporting guard changes from the larger hardening branch.

Summary:

  • add defensive handling around scheduler overrun reporting in this slice
  • add focused regression coverage proving allocation failure does not continue into null scheduler state

Why:

  • this is a small scheduler-local change and should be reviewed independently

Validation:

  • branch was split cleanly from upstream/master
  • the branch includes focused regression test source for the allocation-failure/null-state case in this slice
  • not fully validated locally as a standalone branch beyond the split and commit flow
  • draft only pending review

Copy link
Copy Markdown
Contributor

@peterbarker peterbarker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is implicitly zero.

You have just wasted hours of review time because your automated tools do not understand the project you are trying to work with.

Comment on lines -283 to +292
// the event overran!
debug(3, "Scheduler overrun task[%u-%s] (%u/%u)\n",
(unsigned)i,
task.name,
(unsigned)time_taken,
(unsigned)_task_time_allowed);
#if !APM_BUILD_TYPE(APM_BUILD_iofirmware)
// Log the overrun via INTERNAL_ERROR which is non-blocking,
// rather than debug() which calls hal.console->printf() and
// can itself cause a recursive scheduler overrun.
INTERNAL_ERROR(AP_InternalError::error_t::flow_of_control);
#endif
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a terrible patch, breaking the utility of thedebug statement - which is only used seldomly and by developers tracing issues.

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.

2 participants