mysqld-debug.exe!ft_simple_get_word(charset_info_st * cs=0x00a1f750, unsigned char * * start=0x082b8420, const unsigned char * end=0x02868cd8, st_ft_word * word=0x082b8404, char skip_stopwords='') Line 194 + 0x1c bytes C mysqld-debug.exe!ft_parse(st_tree * wtree=0x082b8474, unsigned char * doc=0x02868c86, int doclen=0x00000070, char with_alloc=0x00) Line 234 + 0x1d bytes C mysqld-debug.exe!_mi_ft_parse(st_tree * parsed=0x082b8474, st_myisam_info * info=0x028602b8, unsigned int keynr=0x00000004, const unsigned char * record=0x02868b28, char with_alloc=0x00) Line 109 + 0x15 bytes C mysqld-debug.exe!_mi_ft_parserecord(st_myisam_info * info=0x028602b8, unsigned int keynr=0x00000004, const unsigned char * record=0x02868b28) Line 121 + 0x1a bytes C mysqld-debug.exe!sort_ft_key_read(st_mi_sort_param * sort_param=0x082b8954, void * key=0x51e5a314) Line 3023 + 0x1d bytes C mysqld-debug.exe!find_all_keys(st_mi_sort_param * info=0x082b8954, unsigned int keys=0x0053c80c, unsigned char * * sort_keys=0x31670058, st_dynamic_array * buffpek=0x082b8758, int * maxbuffer=0x082b868c, st_io_cache * tempfile=0x082b8698, st_io_cache * tempfile_for_exceptions=0x082b8778) Line 271 + 0x19 bytes C mysqld-debug.exe!_create_index_by_sort(st_mi_sort_param * info=0x082b8954, char no_messages='', unsigned long sortbuff_size=0x40000000) Line 189 + 0x33 bytes C mysqld-debug.exe!mi_repair_by_sort(st_mi_check_param * param=0x082b9098, st_myisam_info * info=0x028602b8, const char * name=0x082b8e18, int rep_quick=0x00000000) Line 2291 + 0x25 bytes C mysqld-debug.exe!ha_myisam::repair(THD * thd=0x02833f80, st_mi_check_param & param={...}, int do_optimize=0x00000000) Line 1050 + 0x2a bytes C++ mysqld-debug.exe!ha_myisam::repair(THD * thd=0x02833f80, st_ha_check_opt * check_opt=0x02835224) Line 920 + 0x15 bytes C++ mysqld-debug.exe!handler::ha_repair(THD * thd=0x02833f80, st_ha_check_opt * check_opt=0x02835224) Line 2162 + 0x1a bytes C++ mysqld-debug.exe!mysql_admin_table(THD * thd=0x02833f80, TABLE_LIST * tables=0x02861a68, st_ha_check_opt * check_opt=0x02835224, const char * operator_name=0x0090669c, thr_lock_type lock_type=TL_WRITE, int open_for_modify=0x00000001, int no_warnings_for_error=0x00000001, unsigned int extra_open_options=0x00000020, int (THD *, TABLE_LIST *, st_ha_check_opt *)* prepare_func=0x00621610, int (THD *, st_ha_check_opt *)* operator_func=0x00456720, int (THD *, TABLE_LIST *)* view_operator_func=0x00000000) Line 2375 + 0x19 bytes C++ mysqld-debug.exe!mysql_repair_table(THD * thd=0x02833f80, TABLE_LIST * tables=0x02861a68, st_ha_check_opt * check_opt=0x02835224) Line 2608 + 0x62 bytes C++ mysqld-debug.exe!mysql_execute_command(THD * thd=0x02833f80) Line 3353 + 0x16 bytes C++ mysqld-debug.exe!mysql_parse(THD * thd=0x02833f80, const char * inBuf=0x028619e0, unsigned int length=0x0000001c, const char * * found_semicolon=0x082bfd70) Line 6105 + 0x9 bytes C++ mysqld-debug.exe!dispatch_command(enum_server_command command=COM_QUERY, THD * thd=0x02833f80, char * packet=0x02859551, unsigned int packet_length=0x0000001d) Line 1812 + 0x1e bytes C++ mysqld-debug.exe!do_command(THD * thd=0x02833f80) Line 1586 + 0x31 bytes C++ mysqld-debug.exe!handle_one_connection(void * arg=0x02833f80) Line 1197 + 0x9 bytes C++ mysqld-debug.exe!pthread_start(void * param=0x0284dae8) Line 62 + 0x7 bytes C mysqld-debug.exe!_callthreadstart() Line 293 + 0xf bytes C mysqld-debug.exe!_threadstart(void * ptd=0x0285d588) Line 277 C + cs 0x00a1f750 _my_charset_utf8_unicode_ci {number=0x000000c0 primary_number=0x00000000 binary_number=0x00000000 ...} charset_info_st * + start 0x082b8420 unsigned char * * + end 0x02868cd8 "y." const unsigned char * + word 0x082b8404 {pos=0x02868cae "-" len=0x00000001 weight=7.8416687415228281e-306 } st_ft_word * skip_stopwords 0x01 '?' char - doc 0x02868caf "-" unsigned char * 0xff '' unsigned char mbl 0x00000000 unsigned int mwc 0x00000000 unsigned int + _db_func_ 0x028d2fa8 "x+x+" const char * _db_level_ 0x028d2f98 unsigned int + _db_framep_ 0x00000020 char * * length 0x00000001 unsigned int + _db_file_ 0x082b8488 "/" const char * byte ft_simple_get_word(CHARSET_INFO *cs, byte **start, const byte *end, FT_WORD *word, my_bool skip_stopwords) { byte *doc= *start; uint mwc, length, mbl; DBUG_ENTER("ft_simple_get_word"); do { for (;; doc+= mbl) { if (doc >= end) DBUG_RETURN(0); if (true_word_char(cs, *doc)) break; mbl= my_mbcharlen(cs, *(uchar *)doc); } *doc points to 0xff and my_mbcharlen returns a zero length in this case !!!