Skip to content

Instantly share code, notes, and snippets.

@allenh1
Created February 28, 2018 03:16
Show Gist options
  • Select an option

  • Save allenh1/08aecdf09bcfe0154573e8f7ad83cb40 to your computer and use it in GitHub Desktop.

Select an option

Save allenh1/08aecdf09bcfe0154573e8f7ad83cb40 to your computer and use it in GitHub Desktop.
Detected Stack Smashing in RViz
$ valgrind ./rviz
==7156== Memcheck, a memory error detector
==7156== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==7156== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==7156== Command: ./rviz
==7156==
[ INFO] [1519787717.744579925]: rviz version 1.12.15
[ INFO] [1519787717.758823504]: compiled against Qt version 5.9.4
[ INFO] [1519787717.760321540]: compiled against OGRE version 1.9.0 (Ghadamon)
==7156== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==7156== at 0x686201A: epoll_ctl (in /lib64/libc-2.26.so)
==7156== by 0x85D0762: ros::add_socket_to_watcher(int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86545AF: ros::PollSet::addSocket(int, boost::function<void (int)> const&, boost::shared_ptr<ros::Transport> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8619FF4: ros::TransportTCP::initializeSocket() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x861AEF9: ros::TransportTCP::listen(int, int, boost::function<void (boost::shared_ptr<ros::TransportTCP> const&)> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x860966B: ros::ConnectionManager::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86372D3: ros::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86064AE: ros::NodeHandle::construct(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86067F6: ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x4FE9311: rviz::VisualizerApp::init(int, char**) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x108DEF: main (in /opt/ros/kinetic/lib/rviz/rviz)
==7156== Address 0x1ffeffea9c is on thread 1's stack
==7156== in frame #1, created by ros::add_socket_to_watcher(int, int) (???:)
==7156==
==7156== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==7156== at 0x686201A: epoll_ctl (in /lib64/libc-2.26.so)
==7156== by 0x85D0A7E: ros::set_events_on_socket(int, int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8653A17: ros::PollSet::addEvents(int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8618076: ros::TransportTCP::enableRead() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x861AF1B: ros::TransportTCP::listen(int, int, boost::function<void (boost::shared_ptr<ros::TransportTCP> const&)> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x860966B: ros::ConnectionManager::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86372D3: ros::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86064AE: ros::NodeHandle::construct(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86067F6: ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x4FE9311: rviz::VisualizerApp::init(int, char**) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x108DEF: main (in /opt/ros/kinetic/lib/rviz/rviz)
==7156== Address 0x1ffeffed5c is on thread 1's stack
==7156== in frame #1, created by ros::set_events_on_socket(int, int, int) (???:)
==7156==
==7156== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==7156== at 0x686201A: epoll_ctl (in /lib64/libc-2.26.so)
==7156== by 0x85D0762: ros::add_socket_to_watcher(int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86545AF: ros::PollSet::addSocket(int, boost::function<void (int)> const&, boost::shared_ptr<ros::Transport> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8610106: ros::TransportUDP::initializeSocket() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86105A6: ros::TransportUDP::createIncoming(int, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8609737: ros::ConnectionManager::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86372D3: ros::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86064AE: ros::NodeHandle::construct(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86067F6: ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x4FE9311: rviz::VisualizerApp::init(int, char**) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x108DEF: main (in /opt/ros/kinetic/lib/rviz/rviz)
==7156== Address 0x1ffeffec4c is on thread 1's stack
==7156== in frame #1, created by ros::add_socket_to_watcher(int, int) (???:)
==7156==
==7156== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==7156== at 0x686201A: epoll_ctl (in /lib64/libc-2.26.so)
==7156== by 0x85D0A7E: ros::set_events_on_socket(int, int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8653A17: ros::PollSet::addEvents(int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8610F69: ros::TransportUDP::enableRead() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86105BB: ros::TransportUDP::createIncoming(int, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8609737: ros::ConnectionManager::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86372D3: ros::start() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86064AE: ros::NodeHandle::construct(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86067F6: ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x4FE9311: rviz::VisualizerApp::init(int, char**) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x108DEF: main (in /opt/ros/kinetic/lib/rviz/rviz)
==7156== Address 0x1ffeffeccc is on thread 1's stack
==7156== in frame #1, created by ros::set_events_on_socket(int, int, int) (???:)
==7156==
==7156== Thread 3:
==7156== Syscall param epoll_pwait(sigmask) points to unaddressable byte(s)
==7156== at 0x6861856: epoll_pwait (in /lib64/libc-2.26.so)
==7156== by 0x85D1076: ros::poll_sockets(int, pollfd*, unsigned long, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8655837: ros::PollSet::update(int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85E0AC4: ros::PollManager::threadFunc() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x71D709C: ??? (in /usr/lib64/libboost_thread.so.1.65.0)
==7156== by 0x88AA8E9: start_thread (in /lib64/libpthread-2.26.so)
==7156== by 0x686168E: clone (in /lib64/libc-2.26.so)
==7156== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==7156==
==7156== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==7156== at 0x686201A: epoll_ctl (in /lib64/libc-2.26.so)
==7156== by 0x85D0A7E: ros::set_events_on_socket(int, int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8653A17: ros::PollSet::addEvents(int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8618176: ros::TransportTCP::enableWrite() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A5F7E: ros::Connection::write(boost::shared_array<unsigned char> const&, unsigned int, boost::function<void (boost::shared_ptr<ros::Connection> const&)> const&, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A6109: ros::Connection::writeHeader(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, boost::function<void (boost::shared_ptr<ros::Connection> const&)> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x862D666: ros::TransportSubscriberLink::handleHeader(ros::Header const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8609CE0: ros::ConnectionManager::onConnectionHeaderReceived(boost::shared_ptr<ros::Connection> const&, ros::Header const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A81E6: ros::Connection::onHeaderRead(boost::shared_ptr<ros::Connection> const&, boost::shared_array<unsigned char> const&, unsigned int, bool) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A467B: ros::Connection::readTransport() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A4DE9: ros::Connection::read(unsigned int, boost::function<void (boost::shared_ptr<ros::Connection> const&, boost::shared_array<unsigned char> const&, unsigned int, bool)> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A50DC: ros::Connection::initialize(boost::shared_ptr<ros::Transport> const&, bool, boost::function<bool (boost::shared_ptr<ros::Connection> const&, ros::Header const&)> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== Address 0x1ca3ffcc is on thread 3's stack
==7156== in frame #1, created by ros::set_events_on_socket(int, int, int) (???:)
==7156==
==7156== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==7156== at 0x686201A: epoll_ctl (in /lib64/libc-2.26.so)
==7156== by 0x85D0A7E: ros::set_events_on_socket(int, int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8653DF7: ros::PollSet::delEvents(int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x86180F6: ros::TransportTCP::disableRead() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A48B1: ros::Connection::readTransport() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A4DE9: ros::Connection::read(unsigned int, boost::function<void (boost::shared_ptr<ros::Connection> const&, boost::shared_array<unsigned char> const&, unsigned int, bool)> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A50DC: ros::Connection::initialize(boost::shared_ptr<ros::Transport> const&, bool, boost::function<bool (boost::shared_ptr<ros::Connection> const&, ros::Header const&)> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x860BF91: ros::ConnectionManager::tcprosAcceptConnection(boost::shared_ptr<ros::TransportTCP> const&) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x861E638: ros::TransportTCP::socketUpdate(int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x865616A: ros::PollSet::update(int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85E0AC4: ros::PollManager::threadFunc() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x71D709C: ??? (in /usr/lib64/libboost_thread.so.1.65.0)
==7156== Address 0x1ca404fc is on thread 3's stack
==7156== in frame #1, created by ros::set_events_on_socket(int, int, int) (???:)
==7156==
==7156== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==7156== at 0x686201A: epoll_ctl (in /lib64/libc-2.26.so)
==7156== by 0x85D0A7E: ros::set_events_on_socket(int, int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8653DF7: ros::PollSet::delEvents(int, int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x8617FF6: ros::TransportTCP::disableWrite() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85A5B19: ros::Connection::writeTransport() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x861E379: ros::TransportTCP::socketUpdate(int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x865616A: ros::PollSet::update(int) (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x85E0AC4: ros::PollManager::threadFunc() (in /opt/ros/kinetic/lib/libroscpp.so)
==7156== by 0x71D709C: ??? (in /usr/lib64/libboost_thread.so.1.65.0)
==7156== by 0x88AA8E9: start_thread (in /lib64/libpthread-2.26.so)
==7156== by 0x686168E: clone (in /lib64/libc-2.26.so)
==7156== Address 0x1ca4074c is on thread 3's stack
==7156== in frame #1, created by ros::set_events_on_socket(int, int, int) (???:)
==7156==
*** stack smashing detected ***: <unknown> terminated
==7156==
==7156== Process terminating with default action of signal 6 (SIGABRT): dumping core
==7156== at 0x6794F00: raise (in /lib64/libc-2.26.so)
==7156== by 0x6796A56: abort (in /lib64/libc-2.26.so)
==7156== by 0x67DBA56: __libc_message (in /lib64/libc-2.26.so)
==7156== by 0x68754D5: __fortify_fail_abort (in /lib64/libc-2.26.so)
==7156== by 0x6875481: __stack_chk_fail (in /lib64/libc-2.26.so)
==7156== by 0x4F7E30E: pluginlib::ClassLoader<rviz::Panel>::extractPackageNameFromPackageXML(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x4F7E7C4: pluginlib::ClassLoader<rviz::Panel>::getPackageFromPluginXMLFilePath(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x4F7ECA6: pluginlib::ClassLoader<rviz::Panel>::processSingleXMLPluginFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, pluginlib::ClassDesc, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, pluginlib::ClassDesc> > >&) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x4F80725: pluginlib::ClassLoader<rviz::Panel>::determineAvailableClasses(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x4F80F35: pluginlib::ClassLoader<rviz::Panel>::ClassLoader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x4F77887: rviz::PanelFactory::PanelFactory() (in /opt/ros/kinetic/lib/librviz.so)
==7156== by 0x4FD89C0: rviz::VisualizationFrame::VisualizationFrame(QWidget*) (in /opt/ros/kinetic/lib/librviz.so)
==7156==
==7156== HEAP SUMMARY:
==7156== in use at exit: 2,195,182 bytes in 19,081 blocks
==7156== total heap usage: 34,810 allocs, 15,729 frees, 13,232,015 bytes allocated
==7156==
==7156== LEAK SUMMARY:
==7156== definitely lost: 0 bytes in 0 blocks
==7156== indirectly lost: 0 bytes in 0 blocks
==7156== possibly lost: 51,072 bytes in 13 blocks
==7156== still reachable: 2,144,110 bytes in 19,068 blocks
==7156== suppressed: 0 bytes in 0 blocks
==7156== Rerun with --leak-check=full to see details of leaked memory
==7156==
==7156== For counts of detected and suppressed errors, rerun with: -v
==7156== Use --track-origins=yes to see where uninitialised values come from
==7156== ERROR SUMMARY: 18 errors from 8 contexts (suppressed: 0 from 0)
Aborted (core dumped)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment