Both interfaces are active on this device and the host is receiving maybe a few hundred messages per second at 1MB baud rate (i.e. not a particularly high message rate).
The application code is running one socket for each interface and each socket is handling received messages in a separate thread. The COB-IDs in use on the two interfaces are distinct.
Over a 12 hour period or so, I see about 5 to 10 corrupted can frames. Note, the are no errors reported by the interface. I simply see CAN frames with COB-IDs expected socket A appearing on socket B and vice versa. I think the data bytes associated
with these COB IDs is not consistent so it is not just a matter of the frames being delivered to the wrong socket; their data is also mixed up. I don't believe there is any shared state between the two sockets
on the user-space side of the application.
Has anyone heard of any problem matching this description? I've not idea if this is a hardware, driver or socketcan stack bug. Obviously, it might be something in my user-space code but I can't figure out what. The sockets
are operating independently and don't share any state. My applications runs fine for hours (ignoring most of these corrupted CAN frames) but occasionally one arrives that causes a fatal error.

Any ideas welcome.
Thanks,
BC