robotpy/robotpy-ctre

Configuring WPI_TalonFX results in segmentation fault

Closed this issue · 5 comments

Problem description

First, all of our motors and encoders have been updated to the latest firmware version (22) via Phoenix Tuner.

We noticed there was a segmentation fault, and to locate the issue, we commented out the code to start with a basic robot.py file. In the robot init, we initialize a Talon. That by itself results in no segmentation fault. We added motor.setNeutralMode(NeutralMode.Brake), and that was all it took to produce the segmentation fault.

Here is the segmentation fault trace:

segfault

Operating System

RoboRIO

Installed Python Packages

No response

Reproducible example code

motor = WPI_TalonFX(0)

motor.setNeutralMode(NeutralMode.Brake)

Can reproduce in simulation also on OSX.

Tried it in C++, works fine, so it must be something on our end. Unfortunately, I'm away from my desktop for the night, so I won't be able to look into this until tomorrow morning. Sorry about that.

No problem 👍

Seems to occur on everything inheriting from BaseTalon. BaseTalon works though.

It's a multple virtual inheritance thing... I've got tests duplicating the issue at robotpy/robotpy-build#156