File system deadlock troubleshooting

Mathew Benson mbenson at
Tue Oct 8 01:53:52 UTC 2019

I'm using RTEMS 5 on a LEON3.  I'm troubleshooting a failure condition that
occurs when stress test reading and writing to and from RAM disk.  RAM disk
to RAM disk.  When the condition is tripped, it appears that I have 4 tasks
that are pending on conditions that just never happens.  The task command

0a01000c TSKA                  UPD  135 MTX    P:T:nA   NONE   RFS
0a01001f TSKB                   UPD  135 CV     P:T:nA   NONE   bdbuf access
0a010020 TSKC                   UPD  150 MTX    P:T:nA   NONE   RFS
0a010032 TSKD                 UPD  245 MTX    P:T:nA   NONE   RFS

None of my tasks appear to be failed.  Nobody is pending on anything
noticeable except the 4 above.  The conditional wait is a single shared
resource so any attempt to access the file system after this happens
results in yet another forever pended task.

Digging into source code, it appears that the kernel is waiting for a
specific response from a block device, but just didn't get what its
expecting.  The next thing is to determine which block device the kernel is
pending on, what the expected response is, and what the block device
actually did.  Can anybody shed some light on this or recommend some
debugging steps?   I'm trying to exhaust all I can do before I start
manually decoding machine code.

*Mathew Benson*
CEO | Chief Engineer
Windhover Labs, LLC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list