#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 Dec 18, 2013 at 1:27:15 PM.
test case to highlight bug
0001-score-PR788-Add-INTERNAL_ERROR_RESOURCE_IN_USE.patch (9.1 KB) - added by Sebastian Huber on Mar 28, 2014 at 12:25:45 PM.
Detect resource in use and issue a fatal error.

Download all attachments as: .zip

Change History (5)

comment:1 Changed on May 20, 2005 at 6:40:15 PM by Joel Sherrill

Status: assignedwaiting

Changed on Dec 18, 2013 at 1:27:15 PM by Daniel Ramirez

Attachment: psx17-bug-proof.patch added

test case to highlight bug

comment:2 Changed on Jan 13, 2014 at 2:35:29 PM by Sebastian Huber

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

Changed on Mar 28, 2014 at 12:25:45 PM by Sebastian Huber

Detect resource in use and issue a fatal error.

comment:3 Changed on Apr 3, 2014 at 8:23:56 AM by Sebastian Huber

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