matador
matador copied to clipboard
Multithread segment fault! connect()
connection conn(MYSQL_LINK); conn.connect();
segment fault!
call stack.
libmysqlclient.so.21!std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) const
libmysqlclient.so.21!std::__detail::_Map_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
libmysqlclient.so.21!map_coll_name_to_number(char const*, int)
libmysqlclient.so.21!add_collation(CHARSET_INFO*)
libmysqlclient.so.21!my_xml_leave(MY_XML_PARSER*, char const*, unsigned long)
libmysqlclient.so.21!my_xml_parse(MY_XML_PARSER*, char const*, unsigned long)
libmysqlclient.so.21!my_parse_charset_xml(MY_CHARSET_LOADER*, char const*, unsigned long)
libmysqlclient.so.21!my_read_charset_file(MY_CHARSET_LOADER*, char const*, int)
libmysqlclient.so.21!init_available_charsets()
libpthread.so.0!__pthread_once_slow
libmysqlclient.so.21!void std::call_once<void (&)()>(std::once_flag&, void (&)())
libmysqlclient.so.21!my_charset_get_by_name(MY_CHARSET_LOADER*, char const*, unsigned int, int)
libmysqlclient.so.21!get_charset_by_csname(char const*, unsigned int, int)
libmysqlclient.so.21!mysql_init_character_set(MYSQL*)
libmysqlclient.so.21!csm_parse_handshake(mysql_async_connect*)
libmysqlclient.so.21!mysql_real_connect
libmatador-mysql.so.0!matador::mysql::mysql_connection::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
libmatador-sql.so.0!matador::connection::connect()
UpdateRobotBattery(unsigned char * buff, int size) Line 1090
ThreadRobotSta(void * _conf) Line 1285 C++
libpthread.so.0!start_thread
libc.so.6!clone
I have add mutex to all query opration.
Ok, I think, I've to dive depper into this problem, since their are also issues #105 and #117 with a similar subject. First I need to create a stub of code leading to this error.