Hi. I’ve got the same issue. There is a typo in the appendToEndOf method:
target = head->equal_keys;
should be
target = target->equal_keys;
The case happens when the driver is busy and all the frames produced from a single message are sent to a linked list.