Open rshanor opened 8 years ago
I'm not running ROS Kinetic, and I don't use this package on a GPU-enabled PC. Can you get a stack trace from a debugger to find out where in our code the crash is actually happening?
I see this same GPU error. It's on an Intel Joule, so no CUDA or GPU enabling. Moreover, this seems like a ROS problem only since I can run apriltags-cpp
on an OpenCV stream.
It looks like the ROS version is trying to grab some OpenCV 3 stuff, even though it was compiled against OpenCV 2. This might be because it's pulling in dependencies from OCV3 through CMakeLists.txt
.
Stack dump follows:
(gdb) bt
#0 0x00007f657fa620da in cv::_InputArray::getMat_(int) const ()
from /opt/ros/kinetic/lib/libopencv_core3.so.3.1
#1 0x00007f6580bc750f in cv::adaptiveThreshold(cv::_InputArray const&, cv::_OutputArray const&, double, int, int, int, double) () from /opt/ros/kinetic/lib/libopencv_imgproc3.so.3.1
#2 0x00007f657e47caf1 in TagDetector::getQuads_MZ (this=this@entry=0x1419420, images=...,
quads=std::vector of length 0, capacity 0)
at /home/cyphy/Documents/apriltags-cpp/src/TagDetector.cpp:363
#3 0x00007f657e47e609 in TagDetector::process (this=0x1419420, orig=...,
opticalCenter=..., detections=std::vector of length 0, capacity 0)
at /home/cyphy/Documents/apriltags-cpp/src/TagDetector.cpp:1511
#4 0x00000000004603ca in ImageCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&) ()
#5 0x00000000004793eb in boost::detail::function::void_function_invoker1<void (*)(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&), void, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&>::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&) ()
#6 0x00007f655c3a1a99 in image_transport::RawSubscriber::internalCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::function<void (boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)> const&) ()
from /opt/ros/kinetic/lib//libimage_transport_plugins.so
#7 0x00007f657f2efbac in boost::detail::function::void_function_obj_invoker1<boost::function<void (boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)>, void, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const>) () from /opt/ros/kinetic/lib/libimage_transport.so
#8 0x00007f655c3a9623 in ros::SubscriptionCallbackHelperT<boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) () from /opt/ros/kinetic/lib//libimage_transport_plugins.so
#9 0x00007f657f0575cd in ros::SubscriptionQueue::call() ()
from /opt/ros/kinetic/lib/libroscpp.so
#10 0x00007f657f001cf0 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) ()
from /opt/ros/kinetic/lib/libroscpp.so
#11 0x00007f657f0030f3 in ros::CallbackQueue::callAvailable(ros::WallDuration) ()
from /opt/ros/kinetic/lib/libroscpp.so
#12 0x00007f657f05b691 in ros::SingleThreadedSpinner::spin(ros::CallbackQueue*) ()
from /opt/ros/kinetic/lib/libroscpp.so
#13 0x00007f657f04072b in ros::spin() () from /opt/ros/kinetic/lib/libroscpp.so
#14 0x0000000000464618 in main ()
any progress on this?