Scheduler.getInstance().run() throws a null pointer exception. Anybody encountered same problem and found a fix? If yes, please share.
It’s unclear if the Scheduler call is throwing a null pointer, or if one of your commands is. Can you post the full stack trace?
It’s sure to be an exception being thrown in .run() since it is a singleton instance. Something in your scheduled commands is throwing the error.
Thanks for responding.
Here is the exception stack trace.
[frcrun] [cRIO] 1969/12/31_16:04:53.119,E,WkwFrcRobot2013,teleopPeriodic(),java.lang.NullPointerException, message=Cannot put a null value into networktables.
[frcrun] [cRIO] java.lang.NullPointerException: Cannot put a null value into networktables
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.NetworkTableNode.putValue(NetworkTableNode.java:95)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables.NetworkTable.putValue(NetworkTable.java:406)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.command.Scheduler.run(Scheduler.java:208)
[frcrun] [cRIO] at us.oh.k12.wkw.robot.WkwFrcRobot2013.teleopPeriodic(WkwFrcRobot2013.java:331)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.IterativeRobot.startCompetition(IterativeRobot.otBase.startApp(RobotBase.java:169)
[frcrun] [cRIO] in virtual method #10 of javax.microedition.midlet.MIDlet(bci=17)
[frcrun] [cRIO] at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(64)
[frcrun] [cRIO] at com.sun.squawk.imp.MIDletMainWrapper.main(110)
[frcrun] [cRIO] in virtual method #95 of com.sun.squawk.Klass(bci=25)
[frcrun] [cRIO] at com.sun.squawk.Isolate.run(1506)
[frcrun] [cRIO] at java.lang.Thread.run(231)
[frcrun] [cRIO] in virtual method #47 of com.sun.squawk.VMThread(bci=42)
[frcrun] [cRIO] ijava:165)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.RobotBase.startApp(RobotBase.java:169)
[frcrun] [cRIO] in virtual method #10 of javax.microedition.midlet.MIDlet(bci=17)
[frcrun] [cRIO] at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(64)
[frcrun] [cRIO] at cn static method #3 of com.sun.squawk.VM(bci=6)
It appears that it has nothing to do with Scheduler.run(). Are you using NetworkTables to send and receive data in any way (or SmartDashboard)? It seems you’ve sent a null reference through NetworkTables.
In wpilibjava jar, in Scheduler.java line 208,
m_table.putValue(string.valueOf(++count), e.getData().getTable());
Would return the error about putting a null in the network table. Looks like a code bug to me.
Can you post a (preferably) small program that causes the NULL pointer exception that you are seeing?
Thanks,
Brad
We had this issue because we removed the line in RobotTemplate that initialized the example autonomous command, but we did not get rid of the line that started it.
is there some code in the teleopInit()?
Hi salandri_s,
Did you wind up fixing this? If so, could you please post your troubleshooting method? Our team (#4774) is having some trouble finding where the null pointer is creeping in as it doesn’t appear in our stack trace either.
Hi Brad,
Did anybody post any example code to you? If not, I can share our code with you. I’m heading into the workshop in about 7 hours. I will try and strip out everything to see if I can get rid of the exception. If I have no luck, I’ll create a Gist and share the link.
The person above you was correct, you started a command that was not initialized. This throws a NetworkTable error because the commands use NetworkTable to put buttons on the driverstation/dashboard
We found a bug in the C++ and Java libraries where doing a putData() of the Scheduler instance will cause the program to crash. That has been fixed and will be released later today or tomorrow morning.
So if you have code like this:
SmartDashboard.putData(Scheduler.getInstance())
it will be fixed in that update.
Sorry about the annoyance.
Brad
Didn’t know you could do that :o
You can do that,
and the update just got pushed out. Look for it in Netbeans.
Brad
How? “Check For Updates” is empty
Can you confirm that you aren’t seeing the update?
Thanks,
Brad
I see the updated WPILibJ plugins (version 429) when I reload the catalog
are these WPIJavaCV updates or WPILibJ updates? WPIJavaCV never worked for me and theres no WPILibJ updates (all are version 2013.0.417)
If you look in this directory:
http://first.wpi.edu/FRC/java/netbeans/update/Release
you’ll see the file updates.xml. That is the file that controls the update process and it should be at version 429.
The SmartDashboard also updated both in the NetBeans update and in the plugin update.
Brad
how do you download from there