i3drobotics / i3dr_deimos-ros

ROS driver for the I3DR Deimos stereo camera
http://i3drobotics.com/deimos.html
2 stars 2 forks source link

Runtime Error #1

Closed void-robotics closed 6 years ago

void-robotics commented 6 years ago

For no apparent reason, this is thrown:

terminate called after throwing an instance of 'std::runtime_error' what(): couldn't requeue buffer

and kills the node. What might be going on?

jveitchmichaelis commented 6 years ago

Difficult to say unless you know exactly where it's being fired (can you run in debug mode?).

At a guess it seems to be firing here: https://github.com/i3drobotics/deimos-ros/blob/c941bd17051fefd43c3e8836058a77061924252f/src/uvc_cam.cpp#L667

which is called here: https://github.com/i3drobotics/deimos-ros/blob/c941bd17051fefd43c3e8836058a77061924252f/src/uvc_cam.cpp#L652

So a little odd. That segment of code shouldn't ever be called.. as a simple suggestion, try commenting the call to release and see if it still works. I've had a quick look in the ROS node to see if something is adjusting the motion threshold, but it doesn't look like it.

This is part of the uvc_cam library. Unfortunately I didn't write that and I haven't looked into it much, but it seems to be related to releasing an image buffer.

We do occasionally have problems where the camera has to be unplugged/replugged, which is perhaps caused by things not closing correctly when a shutdown message is recieved. What you could try (if nothing else) is contacting e-Con and asking for a firmware update.

void-robotics commented 6 years ago

ok; i'll come back to this if I need the Tara; but for now, I'll use some other cameras; thanks

jveitchmichaelis commented 6 years ago

No problem, I'll close this for now then.