View Single Post
  #2   Spotlight this post!  
Unread 31-01-2015, 03:10
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,094
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: NetworkTables freeze bugs across C++/Java/Python

Quote:
Originally Posted by virtuald View Post
Some of you may remember this bug from last year that affected C++ teams. If you look at this year's NetworkTables code... pretty sure it's still there, somehow the patch slipped through.

I really like the idea of NetworkTables, and SmartDashboard/SFX are super useful -- so I spent a week examining the python NetworkTables implementation. I've identified at least two other places (though, I'm sure there's more) where deadlock/increased latency is possible -- and these places are the same across all three languages. I've written some details on this github issue.

pynetworktables has fixes for these bugs, and should be pretty stable as of 2015.1.0.

I am not planning on fixing the other platforms, as I've already spent enough of my life fixing networktables bugs But hopefully this information can help someone else fix it.
Ive noticed that NetworkTables for a long time has been really clunky. I was assuming most of that was caused by limitations of the CRIO platform. Maybe now that we have a much more capable system, it might be time to rewrite it to be cleaner and safer. I have had to help many teams debug issues with network tables, usually caused by teams writing data too quickly and causing the buffers to lag out.

I'm not much of a network programmer, so I don't know how much help I would actually be, but I would be glad to help try and learn more about how to make network tables cleaner. Being over 50 files in Java just to have a data sharing protocol seems like a lot too much.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.