My team is attempting to deploy code to a roboRio traditionally used for testing purposes in the past (successfully), yet after no known changes to the device (besides our numerous attempts at updating firmware, reimaging, and reinstalling java), we get an error that says:
java.io.IOException: No space left on device
at java.io.FIleOutputStream.writeBytes(Native Method)
Despite what the error states, the driver station claims that there are 228 MB of disk space left on the roboRio. We have tried this with identical results from multiple computers, both which claim the build was successful upon deploy. It’s the same story whether we use last year’s robot code, an empty brand new project, or code we just wrote. RobotInit doesn’t even start running, and no error output is produced through the network. This message was only discovered after using ssh to manually start the robot code. We have not yet been able to test on another roboRio.
Any ideas? Help would be greatly appreciated.
When the code starts, it extracts the WPILib JNI library to a tmpfs partition (/var/volatile, I believe). If the code crashes in native code, either the JNI library temp file won’t be deleted or a coredump is written to the same temp directory, or both (I can’t remember). The code restarts over and over eventually filling up the temp directory and causing this error.
I’m not sure why your code would be crashing like this, but I would recommend checking to see if /var/volatile is being filled. If so, kill the script that automatically restarts the code, then empty /var/volatile, manually start the code and view the FRC_UserProgram.log file. I have seen some cases where errors are not printed to the driver station, but are printed to the log file.
Turns out the code was lacking the initialization of an array of Talons, which oddly enough wasn’t being caught by the compiler or IDE. Another strange thing was that we were able to run any working code on the roboRio before we ran the broken project, but after that project was ran, all code attempted to be ran would not work.
Thanks for all your help!