#788 closed defect (fixed)

Priority inheritance mechanism may activate a deleted task

Reported by: jacques.seronie-vivien Owned by: Joel Sherrill
Priority: normal Milestone: 4.11
Component: score Version: 4.6
Severity: major Keywords:
Cc: bugs@…, chrisj@…, sebastian.huber@… Blocked By:
Blocking:

Description

When a task T owning a semaphore is deleted, the semaphore still exists. If another task with higher priority than T tries to take the semaphore, the task T inherits its priority, and is activated (by the priority inheritance mechanism). As task T is deleted, its activation leads to a crash.

This corresponds to a wrong usage of the OS resources (deletion of a task still owning a semaphore) but it would be nice to improve OS robustness.

Release:
4.6.1

Environment:
build with solaris tools, sparc-rtems target, erc32 bsp

Attachments (2)

psx17-bug-proof.patch (7.7 KB) - added by Daniel Ramirez on 12/18/13 at 13:27:15.
test case to highlight bug
0001-score-PR788-Add-INTERNAL_ERROR_RESOURCE_IN_USE.patch (9.1 KB) - added by Sebastian Huber on 03/28/14 at 12:25:45.
Detect resource in use and issue a fatal error.

Download all attachments as: .zip

Change History (5)

comment:1 Changed on 05/20/05 at 18:40:15 by Joel Sherrill

Status: assignedwaiting

Changed on 12/18/13 at 13:27:15 by Daniel Ramirez

Attachment: psx17-bug-proof.patch added

test case to highlight bug

comment:2 Changed on 01/13/14 at 14:35:29 by Sebastian Huber

Cc: Sebastian Huber added
Milestone: 2Not Assigned
rep_platform: All

Changed on 03/28/14 at 12:25:45 by Sebastian Huber

Detect resource in use and issue a fatal error.

comment:3 Changed on 04/03/14 at 08:23:56 by Sebastian Huber

Milestone: Not Assigned4.11
Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.