Discussion Forum

A task calls os_dly_wait() then never be scheduled again

Next Thread | Thread List | Previous Thread Start a Thread | Settings

DetailsMessage
Read-Only
Author
bruce yu
Posted
22-Oct-2009 07:43 GMT
Toolset
ARM
New! A task calls os_dly_wait() then never be scheduled again

We use RTX 3.0 for ST STR71x. Now we find a strange thing: the Fault Poll task TCB is lost from os_dly list , it should stay in os_dly list because its task state is WAIT_DLY state and Its stack shows it called delay function. Now Fault Poll task will not be scheduled anymore(always hanging in WAIT_DLY state ). Following is the memory dump and sketch map showing details:

FAULT_PollTask TCB:

0000a3b8 - 00F00300 00000000 00000000 00000000

0000a3c8 - 0000A418 00000000 00000000 00000000 // backwards pointer point to LMMPARCNET_Task TCB

0000a3d8 - 10000001 0000C268 0000B2E8 40015118

LMMPARCNET_Task TCB

0000a418 - 00040300 00000000 00000000 0000A328 //delay pointer point to other TCB , not LMMPARCNET_Task TCB

0000a428 - 0000DFC8 00000009 00000000 00000000 //backwords point pointer to os_dly(delay list head)

0000a438 - 0C000001 00007E90 00007318 40029A00

Os_dly Head

We do not know why , maybe a bug in RTX kernel or an invalid write to the TCB?

Read-Only
Author
Tamir Michael
Posted
22-Oct-2009 08:06 GMT
Toolset
ARM
New! RE: A task calls os_dly_wait() then never be scheduled again

what MDK are you using? similar issues were addressed in 4.00. See here:
http://www.keil.com/forum/docs/thread15346.asp

Read-Only
Author
bruce yu
Posted
22-Oct-2009 09:34 GMT
Toolset
ARM
New! RE: A task calls os_dly_wait() then never be scheduled again

Thank you for your useful reply. I use MDK-ARM-V2.50. It seems we have the same root cause. Even worse, my arm uses EIC.

Next Thread | Thread List | Previous Thread Start a Thread | Settings