Skip to content

[BUG]: robot code on MacOS aborts on exit #151

@virtuald

Description

@virtuald

Problem description

Example stack trace courtesy of auscompgeek:

(lldb) bt
* thread #15, stop reason = signal SIGABRT
  * frame #0: 0x00007fff2074291e libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff207715bd libsystem_pthread.dylib`pthread_kill + 263
    frame #2: 0x00007fff206c6406 libsystem_c.dylib`abort + 125
    frame #3: 0x00007fff20734ef2 libc++abi.dylib`abort_message + 241
    frame #4: 0x00007fff207265e5 libc++abi.dylib`demangling_terminate_handler() + 242
    frame #5: 0x00007fff2061f595 libobjc.A.dylib`_objc_terminate() + 104
    frame #6: 0x00007fff20734307 libc++abi.dylib`std::__terminate(void (*)()) + 8
    frame #7: 0x00007fff20736beb libc++abi.dylib`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27
    frame #8: 0x00007fff20736bb2 libc++abi.dylib`__cxa_throw + 116
    frame #9: 0x00007fff207117bb libc++.1.dylib`std::__1::__throw_system_error(int, char const*) + 77
    frame #10: 0x00007fff207083ed libc++.1.dylib`std::__1::mutex::lock() + 29
    frame #11: 0x0000000107b3cb81 libCTRE_PhoenixCCISim.dylib`___lldb_unnamed_symbol567$$libCTRE_PhoenixCCISim.dylib + 33
    frame #12: 0x0000000107b2613f libCTRE_PhoenixCCISim.dylib`___lldb_unnamed_symbol325$$libCTRE_PhoenixCCISim.dylib + 31
    frame #13: 0x0000000107b25d6e libCTRE_PhoenixCCISim.dylib`___lldb_unnamed_symbol324$$libCTRE_PhoenixCCISim.dylib + 174
    frame #14: 0x0000000107b2808c libCTRE_PhoenixCCISim.dylib`___lldb_unnamed_symbol352$$libCTRE_PhoenixCCISim.dylib + 44
    frame #15: 0x00007fff207718fc libsystem_pthread.dylib`_pthread_start + 224
    frame #16: 0x00007fff2076d443 libsystem_pthread.dylib`thread_start + 15

I reached out to CTRE awhile ago about this.

Operating System

MacOS

Installed Python Packages

No response

Reproducible example code

#include <ctre/phoenix/motorcontrol/can/WPI_TalonFX.h>
#include <ctre/phoenix/cci/Unmanaged_CCI.h>
#include <frc/TimedRobot.h>


int main() {
  ctre::phoenix::motorcontrol::can::WPI_TalonFX motor(0);
  auto& collection = motor.GetSensorCollection();
  collection.SetIntegratedSensorPosition(10);
  printf("Get %f\n", collection.GetIntegratedSensorPosition());
  return 1;
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions