[Bug 1237] New: Interrupt during dispatch may fill up task stack
rtems-bugs at rtems.org
rtems-bugs at rtems.org
Tue Apr 10 12:20:18 UTC 2007
http://www.rtems.org/bugzilla/show_bug.cgi?id=1237
Summary: Interrupt during dispatch may fill up task stack
Product: RTEMS
Version: 4.5
Platform: All
URL: http://www.rtems.com/ml/rtems-
users/2007/march/msg00122.html
OS/Version: RTEMS
Status: NEW
Severity: critical
Priority: P3
Component: misc
AssignedTo: joel.sherrill at oarcorp.com
ReportedBy: johan.zandin at space.se
In the following scenario, the stack of a task may be completely filled:
1) During a context switch from task A to task B, an interrupt occurs within
the last critical region of _Thread_Dispatch (the one where
_Thread_Dispatch_disable_level is cleared).
2) As soon as ISR:s are enabled, the interrupt causes a new context switch
(either back to task A or to some other task) before the dispatching of task B
is fully completed.
3) During step 2, RTEMS adds a new frame to the stack of task B.
4) Step 1 to 3 are repeated several times, without task B being completely
dispatched a single time inbetween. Each time, RTEMS adds a new frame to the
task B stack, without removing the previous ones.
5) Finally the stack of task B is full and the software starts trashing the
preceding part of the memory instead.
--
Configure bugmail: http://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the bugs
mailing list