[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


           Summary: Interrupt during dispatch may fill up task stack
           Product: RTEMS
           Version: 4.5
          Platform: All
               URL: http://www.rtems.com/ml/rtems-
        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