Skip to content

socketcan_bridge: unrecoverable error "controller problems;, asio: Success" #267

Description

@WasabiFan

I'm currently using socketcan_bridge to interface with CAN in my ROS project. While it does generally work, it will sometimes spit out a sequence of four lines like this:

[ERROR] [1517684645.914299608]: Error: controller problems;, asio: Success

After that, any further attempts to send a message result in:

[ERROR] [1517684649.054520857]: Failed to send message: 9e040005#010384fc7c.

I can send that same CAN frame from the command line. So, it's not an underlying driver failure, but it seems that the bridge doesn't recover from an intermittent bus error. Yes, the ideal solution is to resolve whatever causes it, but if this ever happens in a production environment the whole system grinds to a halt.

This seems to be where the latter message is coming from:

bool res = driver_->send(f);
if (!res)
{
ROS_ERROR("Failed to send message: %s.", can::tostring(f, true).c_str());
}

I am not sure where the former originates or what produces it. In dmesg, I often see the following when, e.g., I plug in a USB device (my guess is that the USB processing is flooding interrupts or something of that nature):

[12842.644761] mttcan c310000.mttcan can0: mttcan_poll_ir: some msgs lost on in Q0

That may or may not be related.

I think #249 would fix the problem, but I don't think I am personally prepared to take on the fixes to that PR that were requested.

Could anyone suggest a fix or resolution?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions