Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #1088, avoid task delete during UtPrintf #1093

Merged

Conversation

jphickey
Copy link
Contributor

Describe the contribution
In the osal_core_UT test, the test task was being deleted while it was in the midst of a UtPrintf call, which left the BSP mutex in a locked state, causing deadlock.

Using SEM_DELETE_SAFE attribute avoids task deletion for the mutex holder, and adding a small delay to the test case makes all the messages appear as expected (accounts for slow serial console on test platform).

Fixes #1088

Testing performed
Run osal_core_UT

Expected behavior changes
Test now passes, does not deadlock

System(s) tested on
MCP750 / VxWorks 6.9

Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

In the osal_core_UT test, the test task was being deleted while it was
in the midst of a UtPrintf call, which left the BSP mutex in a locked
state, causing deadlock.

Using SEM_DELETE_SAFE attribute avoids task deletion for the mutex
holder, and adding a small delay to the test case makes all the
messages appear as expected (accounts for slow serial console on
test platform).
@jphickey jphickey added the CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) label Jun 25, 2021
@skliper skliper added this to the 6.0.0 milestone Jun 28, 2021
@astrogeco
Copy link
Contributor

astrogeco commented Jun 30, 2021

CCB:2021-06-30 APPROVED

@astrogeco astrogeco added CCB:Approved Indicates code review and approval by community CCB and removed CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) labels Jun 30, 2021
@astrogeco astrogeco changed the base branch from main to integration-candidate July 2, 2021 19:02
@astrogeco astrogeco merged commit 6f1b5d5 into nasa:integration-candidate Jul 2, 2021
astrogeco added a commit to nasa/cFS that referenced this pull request Jul 2, 2021
**Combines:**

nasa/osal#1098

**Includes:**

nasa/osal#1081, add range to OS_TaskDelay checks

nasa/osal#1085, root task ID on RTEMS

nasa/osal#1090, increase timeout in network-api-test

nasa/osal#1091, avoid task delete during UtPrintf

nasa/osal#1093, increase UT symbol dump size limit

nasa/osal#1097, do not register RTOS timer for external sync

nasa/osal#1092, Add osal# prefix to Network API group
astrogeco added a commit to nasa/cFS that referenced this pull request Jul 7, 2021
**Combines:**

nasa/osal#1098

**Includes:**

nasa/osal#1081, add range to OS_TaskDelay checks

nasa/osal#1085, return OS_OBJECT_ID_UNDEFINED for root task ID on RTEMS

nasa/osal#1090, increase UT symbol dump size limit

nasa/osal#1091, do not register RTOS timer for external sync

nasa/osal#1093, avoid task delete during UtPrintf

nasa/osal#1097, Add osal prefix to Network API group

nasa/osal#1092, increase timeout in network-api-test
astrogeco added a commit to nasa/cFS that referenced this pull request Jul 7, 2021
**Combines**

nasa/cFE#1654, cfe v6.8.0-rc1+dev739
nasa/osal#1098, osal v5.1.0-rc1+dev564

**Includes**

nasa/cFE#1444, Change index type to resolve infinite loop warning
nasa/cFE#1653, Adding coverage for cfe_es_task.c
nasa/cFE#1638, Expand FS Header Functional tests.
nasa/cFE#1637, Complete coverage for cfe_es_start.c and cfe_es_syslog.c

nasa/osal#1081, add range to OS_TaskDelay checks
nasa/osal#1085, return OS_OBJECT_ID_UNDEFINED for root task ID on RTEMS
nasa/osal#1090, increase UT symbol dump size limit
nasa/osal#1091, do not register RTOS timer for external sync
nasa/osal#1093, avoid task delete during UtPrintf
nasa/osal#1097, Add osal prefix to Network API group
nasa/osal#1092, increase timeout in network-api-test

Co-authored-by: Jacob Hageman <skliper@users.noreply.github.com>
Co-authored-by: Joseph Hickey <jphickey@users.noreply.github.com>
Co-authored-by: Alex Campbell <zanzaben@users.noreply.github.com>
Co-authored-by: Jose F Martinez Pedraza <pepepr08@users.noreply.github.com>
Co-authored-by: Himanshu <himanshu007-creator@users.noreply.github.com>
@jphickey jphickey deleted the fix-1088-coretest-taskdelete branch August 3, 2021 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code review and approval by community CCB
Projects
None yet
Development

Successfully merging this pull request may close these issues.

osal_core_UT hanging on MCP750/VxWorks
5 participants