PDA

View Full Version : vxWorks kernel task exception


BEEKMAN
01-15-2011, 10:18 AM
We've been trying to get our old robot to work with the new cRIO image and driver station, but we keep getting the kernel level task exception:

program
Exception current instruction address: 0x00000000
Machine Status Register: 0x0008b032
Condition Register: 0x22000848
Task: 0x2254120 "FRC_RobotTask"
0x2254120 (FRC_RobotTask): task 0x2254120 has had a failure and has been stopped.
0x2254120 (FRC_RobotTask): fatal kernel task-level exception!

We program the robot in c++ and we've tried multiple versions of last year's code along with some new of the new examples. The cRIO has been imaged multiple times from different computers. Our jaguars have also been updated to the new firmware (we use CAN via serial).

A similar exception has also been generated by the "paramTask" for the camera, which has also been updated.

Any help would be greatly appreciated :)

Edit: The problem appears to be coming from setting the jaguars in PercentVBus mode.

basicxman
01-15-2011, 12:35 PM
Could you please post your properly formatted robot code?

BEEKMAN
01-15-2011, 01:38 PM
The jaguars are being initated with the correct ID's (verified in bdccomm) and the default mode (percentvbus). After that they are only used to set the voltage (via Set), they are not used to read or set anything else. The block of code that is generating the error contains four set commands.

jhersh
01-16-2011, 10:46 PM
The jaguars are being initated with the correct ID's (verified in bdccomm) and the default mode (percentvbus). After that they are only used to set the voltage (via Set), they are not used to read or set anything else. The block of code that is generating the error contains four set commands.

There is a bug in the current release that will crash if the CANJaguar class failed in the constructor. The MotorSafetyHelper will not be created and when that pointer is accessed in Set(), it will crash.

The key here is that the constructor was unsuccessful. Check the console for any errors from the CANJaguar constructor such as the version being wrong or some unclean status error.

-Joe