Hi Nookala,
I'm not sure which source files you're referring to, as there is no validate.c for ck_ring. There are a few targeted tests that involve concurrent enqueue and dequeue operations (ck_ring_mpmc.c).
A few things to check:
1) Is the ck_ring being initialized with a power-of-2 size? This is required.
2) Is the ck_ring_buffer_t (or in parameterized version, buffer) being allocated and passed correctly?
3) Is enqueue and dequeue running on the same core? Are there potential priority inversion issues?
4) Which architecture are you on? Which compiler is being used?
5) Does your consumer thread ever encounter long periods of preemption?
If these things are being respected and you're still encountering failures, sharing your test program or a small test case will enable me to assist better. Otherwise, I'd love to here what want wrong.
Thanks.