Я запускаю vxWorks 6.3 и столкнулся с проблемой. У меня есть ряд задач, выполняющихся как в RTP. Я создаю задачу, делаю вещи, а затем уничтожаю задачу. Затем создайте две задачи, очень близко друг к другу, сделайте что-нибудь и уничтожьте их. Эти задачи должны делать сумасшедшие вещи, такие как malloc и свободная память. К сожалению, если я сделаю это достаточно времени, одна из задач застрянет в памяти (как malloc, так и бесплатно) подпрограмм на семафоре. Это всегда вторая задача, которая «теряется» в самом начале задачи либо в свободном, либо в malloc. После сбоя я все еще могу создавать задачи, и я все еще могу хранить память. Неудачная задача сидит вечно, ожидая семафора ... Семафор, который другие задачи ДОЛЖНЫ использовать.Vxworks застрял в подпрограммах памяти
Кто-нибудь знает, как задача может застрять в подпрограммах памяти?
0x08265e58 malloc +0x2c : 0x082416f4()
0x08267e50 memPartAlloc +0x28 : 0x08241734()
0x08267e0c memPartAlignedAlloc+0x70 : 0x08267c04()
0x08267c7c memPartFree +0xfc : 0x08240654()
0x082753c0 semTake +0x90 : 0x08242534()
0x082752ec semUMTake +0xd8 : 0x08242514()
---- system call boundary ----
-> tw 0x69d21b0
NAME ENTRY TID STATUS DELAY OBJ_TYPE OBJ_ID OBJ_NAME
---------- ---------- ---------- ---------- ----- ---------- ---------- --------
tHttp631-2 0x827dbfc 0x69d21b0 PEND 0 SEM_M 0x6859650 N/A
Semaphore Id : 0x6859650
Semaphore Type : MUTEX
Task Queuing : PRIORITY
Pended Tasks : 1
Owner : 0x69d1a08 Deleted!
Options : 0xd SEM_Q_PRIORITY
SEM_DELETE_SAFE
SEM_INVERSION_SAFE
VxWorks Events
--------------
Registered Task : NONE
Event(s) to Send : N/A
Options : N/A
Pended Tasks
------------
NAME TID PRI TIMEOUT
---------- -------- --- -------
tHttp631-25502 69d21b0 120 0
value = 0 = 0x0
->
Нет, мы не используем taskDelete. Задачи завершают свою работу и возвращаются из вызывающей функции. Все задействованные задачи относятся к одному и тому же процессу RTP. RTP продолжает работать; он не выходит. Мне жаль, что у меня не было возможности связаться с WindRiver, но мы прекратили наш контракт поддержки несколько лет назад. – GailG