Skip to content

Memory leak from create_internal_control_function on exit #585

@bjorn-jaes

Description

@bjorn-jaes

Note I fixed the leak by passing the internal control function to deactivate_control_function, just not sure if its intended behavior as its never done in the examples, nor mentioned in the documentation.

Describe the bug
When exiting my application the leak sanitizer reports that the internal control functions creates a leak.

auto ecu isobus::CANNetworkManager::CANNetwork.create_internal_control_function(
      isobus::NAME(name), bus_id, application_settings_.hardware.can.preferred_address);

Supporting Documentation
I have included the leak sanitizer log LeakSanitizerInternalController.txt (First glib leak can be ignored), and my application.txt (txt as cpp was not allowed) where the leaked code was called from. (Thought I dont imagine its all that useful.)

Environment

  • OS: 20.04
  • Compiler: GCC 9.4.0
  • CAN Driver: Socket CAN

Additional context
When deactivating the internal control function before exiting no memory leaks were reported (other than glib).

isobus::CANNetworkManager::CANNetwork.deactivate_control_function(ecu);

Question

Is this intended behavior? As the tutorial and examples dont show deactivate_control_function being used, nor does the documentation for create_internal_control_function mention that the Internal control function needs to be deactivated before exiting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    investigatingLooking into this issue / need more info

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions