
Hi, I am trying to run blocking_udp_echo_server.cpp from Boost asio on MacOSX 10.5. But it crashes:
From the console: /Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.0.0/debug/safe_iterator.h:127: error: attempt to copy-construct an iterator from a singular iterator.
Objects involved in the operation: iterator "this" @ 0x0x100420 { type = N11__gnu_debug14_Safe_iteratorIN10__gnu_norm14_List_iteratorISt4pairIiPN5boost4asio6detail16reactor_op_queueIiE7op_baseEEEEN15__gnu_debug_def4listISB_SaISB_EEEEE (mutable iterator); state = singular; } iterator "other" @ 0x0xbfffee64 { type = N11__gnu_debug14_Safe_iteratorIN10__gnu_norm14_List_iteratorISt4pairIiPN5boost4asio6detail16reactor_op_queueIiE7op_baseEEEEN15__gnu_debug_def4listISB_SaISB_EEEEE (mutable iterator); state = singular; } Program received signal: “SIGABRT”.
From backtrace:
(gdb) bt #0 0x918c3e42 in __kill () #1 0x918c3e34 in kill$UNIX2003 () #2 0x9193623a in raise () #3 0x91942679 in abort () #4 0x940d96f9 in __gnu_debug::_Error_formatter::_M_error () #5 0x0000ada6 in __gnu_debug::_Safe_iterator<__gnu_norm::_List_iterator<std::pair<int, boost::asio::detail::reactor_op_queue<int>::op_base*> >, __gnu_debug_def::list<std::pair<int, boost::asio::detail::reactor_op_queue<int>::op_base*>, std::allocator<std::pair<int, boost::asio::detail::reactor_op_queue<int>::op_base*> > >
::_Safe_iterator (this=0x100420, __x=@0xbfffee64) at debug/safe_iterator.h:124 #6 0x00010195 in boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type::bucket_type (this=0x100420) at hash_map.hpp:277 #7 0x0001291d in std::_Construct<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> (__p=0x100420, __value=@0xbfffee64) at stl_construct.h:81 #8 0x00012edd in std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type*, __gnu_norm::vector<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, std::allocator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> > , unsigned long, boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> (__first={_M_current = 0x100420}, __n=3, __x=@0xbfffee64) at stl_uninitialized.h:194 #9 0x00012f67 in std::uninitialized_fill_n<__gnu_cxx::__normal_iterator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type*, __gnu_norm::vector<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, std::allocator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> > , unsigned long, boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> (__first={_M_current = 0x100420}, __n=3, __x=@0xbfffee64) at stl_uninitialized.h:218 #10 0x00012f8f in std::__uninitialized_fill_n_a<__gnu_cxx::__normal_iterator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type*, __gnu_norm::vector<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, std::allocator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> > , unsigned long, boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> (__first={_M_current = 0x100420}, __n=3, __x=@0xbfffee64) at stl_uninitialized.h:310 #11 0x000134ba in __gnu_norm::vector<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, std::allocator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> ::_M_fill_insert (this=0x1002f0, __position={_M_current = 0x0}, __n=3, __x=@0xbfffee64) at vector.tcc:365 #12 0x00013760 in __gnu_norm::vector<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, std::allocator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> ::insert (this=0x1002f0, __position={_M_current = 0x0}, __n=3, __x=@0xbfffee64) at stl_vector.h:658 #13 0x00013807 in __gnu_norm::vector<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, std::allocator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> ::resize (this=0x1002f0, __new_size=3, __x=@0xbfffee64) at stl_vector.h:427 #14 0x000138c0 in __gnu_debug_def::vector<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type, std::allocator<boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::bucket_type> ::resize (this=0x1002f0, __sz=3, __c=@0xbfffee64) at debug/vector:169 #15 0x0001400e in boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::rehash (this=0x1002c4, num_buckets=3) at hash_map.hpp:221 #16 0x0001443b in boost::asio::detail::hash_map<int, boost::asio::detail::reactor_op_queue<int>::op_base*>::hash_map (this=0x1002c4) at hash_map.hpp:67 #17 0x000144c4 in boost::asio::detail::reactor_op_queue<int>::reactor_op_queue (this=0x1002c0) at reactor_op_queue.hpp:42 #18 0x00014574 in boost::asio::detail::kqueue_reactor<false>::kqueue_reactor (this=0x100270, io_service=@0xbffff7a4) at kqueue_reactor.hpp:86 #19 0x00014850 in boost::asio::detail::service_registry::use_service<boost::asio::detail::kqueue_reactor<false> (this=0x100180) at service_registry.hpp:109 #20 0x0001499d in boost::asio::use_service<boost::asio::detail::kqueue_reactor<false> > (ios=@0xbffff7a4) at impl/io_service.ipp:195 #21 0x00014abd in boost::asio::detail::reactive_socket_service<boost::asio::ip::udp, boost::asio::detail::kqueue_reactor<false> >::reactive_socket_service (this=0x100250, io_service=@0xbffff7a4) at reactive_socket_service.hpp:111 #22 0x00014b94 in boost::asio::detail::service_registry::use_service<boost::asio::detail::reactive_socket_service<boost::asio::ip::udp, boost::asio::detail::kqueue_reactor<false> > > (this=0x100180) at service_registry.hpp:109 #23 0x00014ce1 in boost::asio::use_service<boost::asio::detail::reactive_socket_service<boost::asio::ip::udp, boost::asio::detail::kqueue_reactor<false> > > (ios=@0xbffff7a4) at impl/io_service.ipp:195 #24 0x00014d25 in boost::asio::datagram_socket_service<boost::asio::ip::udp>::datagram_socket_service (this=0x100230, io_service=@0xbffff7a4) at datagram_socket_service.hpp:95 #25 0x00014dee in boost::asio::detail::service_registry::use_service<boost::asio::datagram_socket_service<boost::asio::ip::udp> (this=0x100180) at service_registry.hpp:109 #26 0x00014f3b in boost::asio::use_service<boost::asio::datagram_socket_service<boost::asio::ip::udp> (ios=@0xbffff7a4) at impl/io_service.ipp:195 #27 0x00014f61 in boost::asio::basic_io_object<boost::asio::datagram_socket_service<boost::asio::ip::udp> ::basic_io_object (this=0xbffff6a4, io_service=@0xbffff7a4) at basic_io_object.hpp:72 #28 0x00014fd3 in boost::asio::basic_socket<boost::asio::ip::udp, boost::asio::datagram_socket_service<boost::asio::ip::udp> ::basic_socket (this=0xbffff6a4, io_service=@0xbffff7a4, endpoint=@0xbffff6b8) at basic_socket.hpp:108 #29 0x000150b5 in boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::datagram_socket_service<boost::asio::ip::udp> ::basic_datagram_socket (this=0xbffff6a4, io_service=@0xbffff7a4, endpoint=@0xbffff6b8) at basic_datagram_socket.hpp:107 #30 0x00002022 in server (io_service=@0xbffff7a4, port=8090) at /Users/n179911/Documents/ServerXCode/main.cpp:21 #31 0x0000217a in main (argc=2, argv=0xbffff7e8) at /Users/n179911/Documents/ServerXCode/main.cpp:47 (gdb)
Any one has any idea?