title: Segment error when using boost::asio::serial_port in ROS
body: <p>I am trying to use the boost::asio::serial_port class to read messages from a serial port. I tried to use it as a member of a class, like this:</p>
  <pre><code>class AnchorTalker
  {
      private:
      boost::asio::serial_port sp;
      boost::asio::io_service ios;
      void TrySerialOpen(const char * portname);
      public:
      AnchorTalker() : sp(ios) {};
  };
  </code></pre>
  <p>And then I tried to write a simple node to test if I am able to open the port, like this:</p>
  <pre><code>int main (int argc, char **argv)
  { 
      ros::init(argc,argv,&quot;anchor_talker&quot;);
      ros::NodeHandle n;
      AnchorTalker talker;
      ROS_INFO(&quot;success&quot;);
      ros::spin();
      return 0;
  }
  </code></pre>
  <p>It managed to pass catkin_make, but when I use rosrun, it throws segmentation fault. If I put the ROS_INFO ahead of the AnchorTalker line, the program will stuck just after printing the word success. I wonder what is causing the problem?
  I tried to rebuild the files in visual studio, and it says something's wrong about ntdll.dll</p>