Hi, I'm getting confused by the unhandled exception I get when initializing a TCP socket. This happens when the socket is instantiated and initialized with an IO service object, from the constructor of a class called CProcessor. Here are the variables declaration, inside the class: boost::asio::ip::tcp::socket m_Socket; boost::asio::io_service m_IoService; Here is what the default constructor looks like for this class: CProcessor::CProcessor(void): m_Socket(m_IoService) {} The exception is generated by this constructor, as soon as the m_Socket object is initialized. The type of unhandled exception I got is as follow: "Unhandled exception at whatever in hatever.exe: 0xC0000005: Access violation reading location 0xcccccce0." The program breaks in win_mutex.hpp, at a line calling: ::EnterCriticalSection(&crit_section_); I run VS9. Any idea?! Thanks, Jean