[RTEMS Project] #2263: POSIX signal handler can cause stack overflow when blocked
RTEMS trac
trac at rtems.org
Thu Feb 12 08:26:47 UTC 2015
#2263: POSIX signal handler can cause stack overflow when blocked
---------------------+------------------
Reporter: daniel | Owner:
Type: defect | Status: new
Priority: normal | Milestone: 4.11
Component: General | Version: 4.10
Severity: normal | Keywords:
---------------------+------------------
The psxalarm test brought it to my attention. The psxalarm signal handler
causes a stack overflow to happen when printf() is called from the
handler.
It can be triggered on UP and SMP LEON3 or NGMP systems, more frequent on
a slow UART. It also seems easier to trigger the case on systems with
short console UART FIFO depth.
If the signal handler contains a blocking call it seems that when the task
executing the handler is woken up again another stack frame with the same
POSIX signal handler is called. Now that handler will make the same
blocking call, when woken up again another stack frame is added and so on.
Eventually a stack overflow occurs.
This behaviour seems to be present since 4.10 at least.
--
Ticket URL: <http://devel.rtems.org/ticket/2263>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list