Found a bug in rtqueue.h.. the enq/deq were not consistently dropping into loops if full/empty.