This year our team implemented swerve drive and we used a navX2 micro for our gyroscope. However, we found at random times, sometimes during a match, the gyroscope would just be zero and not send any values. We have checked the connection when this happens and nothing appears to be wrong, we also switched it out for a different backup one we had and the issue was still there. It starts working again if you power cycle the robot so we are unsure of what is causing the problem.
I think the RIO I2C issue would manifest differently then what was described. Rather then getting 0 from the NavX while presumably everything else was working, the entire roboRIO would lock up.
That being said, even if that issue isn’t the cause, it’s a big enough issue to recommend moving from I2C to USB.