背景介绍
事情发生在24年的6月初的时候,笔者一直在Linux客户端开发组,一个中控组的同事过来说中控服务在某台基于国产化ARM64芯片的系统中频繁崩溃,故障现象非常稳定,问我有没有遇到过类似情况,我说没遇到过,由于笔者手头也有着急的项目问题需要处理,后面一段时间也就不了了之了,只是频繁的看到这位同事频繁的在设备所在的设备间和工位之间来回跑(那设备系统的源停止服务了且没装ssh)......
定位过程
在那位同事排查了一段时间后,6月18号,同事突然通过微信发来定位信息和调试崩溃信息,说很奇怪,崩溃点发生在一条if语句中......
当时我也懵了,然后给出了几个排查方案:
- 方案一:检查
0是否被作为了除数 - 方案二:检查是否是
if语句中的函数调用引发的崩溃 - 方案三:多次调试,检查崩溃点是否都在同一位置,若不是,那么其它线程可能存在栈溢出破坏了堆栈
过了一会儿,同事给出了答复:
- 对于方案一:他本人早就排查了,没问题
- 对于方案二、三:他进行了数次调试,确定每次都崩溃在同一位置,堆栈信息中不存在
if语句中的那个函数调用信息
然后我又回去看他发给我的代码位置截图,突然想到一件事情......
最终尝试
我看到代码中进行的是浮点数(double)除法,突然想到早年我从源码编译交叉编译工具链时配置的那些硬件参数,其中就包括硬浮点、软浮点的配置
- 硬浮点:处理器内部实现了浮点运算能力、使用浮点寄存器、使用FPU
- 软浮点:编译器利用底层库提供浮点运算能力,使用整数寄存器,不依赖FPU
所以这款老国产化芯片属于信创早期产物,处理器内部可能不支持浮点数运算。
于是我将猜想告诉同事,找找编译器有没有提供类似启用软浮点的编译参数,死马当活马医,进行最后的尝试。
早期结论
后面忘了过了多久,得到的口头答复是,启用软浮点问题消失,服务不再发生崩溃了。那也就验证了我的猜想,这可能就是在信创早期由于硬件不支持浮点运算埋下的坑
最近的Ai分析(2026.08.21)
通过将堆栈信息交由Ai进行分析,Ai又给出了另一种猜想:
ABI不匹配,底层操作系统是基于软浮点编译的,而MariaDB则是用硬浮点编译。这会导致浮点参数在寄存器传递时发生错乱,直接破坏内存栈,理由是崩溃为段错误(sig 11),而非非法指令错误(sig 4)
通过Ai的分析,可以得出另一种结论,在信创早期,可能有一些系统厂商为了使镜像兼容各种芯片,在编译发行版时使用了软浮点参数埋下的坑
最终定论
虽然Ai分析与笔者早期猜想的底层细节不一致,但我们两者对于浮点运算引起崩溃的结论是一致的,处理方式也是一致的,后续遇到类似问题直接查寻处理器参数、再去编译Demo验证即可
代码片段
c
tmp give Us total cost of using TABLE SCAN
*/
if (best == DBL_MAX ||
(tmp + record_count/(double) TIME_FOR_COMPARE*rnd_records <
(best_key->is_for_hash_join() ? best_time :
best + record_count/(double) TIME_FOR_COMPARE*records)))
{
堆栈信息
关于堆栈信息
笔者自始至终没看过
但作为记录也复制了上来
堆栈信息
shell
join
$1 = {<Sql_alloc> = {<No data fields>}, join_tab = 0xfffd3c076128, best_ref = 0xfffd3c076630, pre_sort_join_tab = 0x0, pre_sort_index = 0, pre_sort_idx_pushed_cond = 0x0,
non_agg_fields = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008200, elements = 0}, <No data fields>}, table_access_tabs = 0x0,
top_table_access_tabs_count = 0, map2table = 0xfffd3c076448, join_tab_save = 0x0, join_tab_ranges = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008238,
elements = 0}, <No data fields>}, table = 0xfffd3c008d90, sort_by_table = 0x0, table_count = 1, outer_tables = 0, const_tables = 0, top_join_tab_count = 1, send_group_parts = 0, group = false,
need_distinct = true, sort_and_group = false, first_record = false, full_join = false, no_field_update = false, hash_join = false, do_send_rows = true, const_table_map = 0, sjm_lookup_tables = 0,
sjm_scan_tables = 0, found_const_table_map = 0, eliminated_tables = 0, outer_join = 0, select_list_used_tables = 1, send_records = 0, found_records = 0, examined_rows = 0, row_limit = 18446744073709551615,
select_limit = 18446744073709551615, duplicate_rows = 0, fetch_limit = 18446744073709551615, best_positions = 0xfffd3c076848, emb_sjm_nest = 0x0, positions = 0xfffd3c076648, cur_embedding_map = 0,
cur_sj_inner_tables = 0, complex_firstmatch_tables = 0, best_read = 1.7976931348623157e+308, record_count = 4.9406564584124654e-324, fields = 0x1,
group_fields = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008338, elements = 0}, <No data fields>},
group_fields_cache = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008350, elements = 0}, <No data fields>}, tmp_table = 0x0, exec_tmp_table1 = 0x0,
exec_tmp_table2 = 0x0, thd = 0x1135a8a0, sum_funcs = 0xfffd3c008850, sum_funcs_end = 0xfffd3c008860, sum_funcs2 = 0x0, sum_funcs_end2 = 0x0, procedure = 0x0, having = 0x0, tmp_having = 0x0,
having_history = 0x0, select_options = 2147748608, allowed_join_cache_types = 7, allowed_semijoin_with_cache = true, allowed_outer_join_with_cache = true, max_allowed_join_cache_level = 2,
result = 0xfffd3c0081b8, tmp_table_param = {<Sql_alloc> = {<No data fields>}, copy_funcs = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c0083f0,
elements = 0}, <No data fields>}, save_copy_funcs = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008408, elements = 0}, <No data fields>},
copy_field = 0x0, copy_field_end = 0x0, save_copy_field = 0x0, save_copy_field_end = 0xfffd3c007b78, group_buff = 0x0, items_to_copy = 0x0, recinfo = 0x0, start_recinfo = 0x0, keyinfo = 0x0,
end_write_records = 18446744073709551615, field_count = 1, func_count = 1, sum_func_count = 1, hidden_field_count = 0, group_parts = 0, group_length = 0, group_null_parts = 0, quick_group = 1,
using_indirect_summary_function = false, convert_blob_length = 0, table_charset = 0x0, schema_table = false, materialized_subquery = false, force_not_null_cols = false, precomputed_group_by = false,
force_copy_fields = false, bit_fields_as_long = false, skip_create_table = false}, lock = 0xfffd3c004c60, unit = 0x1135da40, select_lex = 0x1135e120, no_const_tables = false,
no_rows_in_result_called = false, tmp_join = 0x0, rollup = {state = st_rollup::STATE_NONE, null_items = 0xe83e80 <end_of_list>, ref_pointer_arrays = 0xfffd3c0084d8, fields = 0xfffd00000000},
mixed_implicit_grouping = false, select_distinct = false, group_optimized_away = false, simple_order = false, simple_group = false, no_order = false, skip_sort_order = false, need_tmp = false,
hidden_group_fields = false, cleaned = false, keyuse = {buffer = 0xfffd3c0780f0 "\200", elements = 0, max_element = 20, alloc_increment = 64, size_of_element = 80}, cond_value = Item::COND_OK,
having_value = Item::COND_TRUE, impossible_where = false, all_fields = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xfffd3c007348, last = 0xfffd3c007348, elements = 1}, <No data fields>},
tmp_all_fields1 = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008540, elements = 0}, <No data fields>},
tmp_all_fields2 = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008558, elements = 0}, <No data fields>},
tmp_all_fields3 = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008570, elements = 0}, <No data fields>},
tmp_fields_list1 = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008588, elements = 0}, <No data fields>},
tmp_fields_list2 = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c0085a0, elements = 0}, <No data fields>},
tmp_fields_list3 = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c0085b8, elements = 0}, <No data fields>}, fields_list = @0x1135e238,
procedure_fields_list = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c0085d8, elements = 0}, <No data fields>}, error = -1, order = 0x0, group_list = 0x0,
proc_param = 0x0, conds = 0xfffd3c007fe0, conds_history = 0x0, outer_ref_cond = 0x0, pseudo_bits_cond = 0x0, tables_list = 0xfffd3c0073b8, join_list = 0x1135e2c8, cond_equal = 0xfffd3c0080d0,
having_equal = 0x0, exec_const_cond = 0x0, exec_const_order_group_cond = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c008658,
elements = 0}, <No data fields>}, select = 0x0, return_tab = 0x0, ref_pointer_array = 0xfffd3c008738, items0 = 0x0, items1 = 0x0, items2 = 0x0, items3 = 0x0, current_ref_pointer_array = 0x0,
ref_pointer_array_size = 8, zero_result_cause = 0x0, union_part = false, optimized = true, initialized = false, in_to_exists_where = 0x0, in_to_exists_having = 0x0,
sj_tmp_tables = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c0086d8, elements = 0}, <No data fields>},
sjm_info_list = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0xe83e80 <end_of_list>, last = 0xfffd3c0086f0, elements = 0}, <No data fields>}, sortorder = 0x0, table_reexec = {0x0},
join_tab_reexec = 0x0, implicit_grouping = true}
s
$2 = {table = 0xfffd3c066250, keyuse = 0x0, hj_key = 0x0, select = 0x0, select_cond = 0x0, on_precond = 0x0, quick = 0x0, pre_idx_push_select_cond = 0x0, on_expr_ref = 0xfffd3c0073f8, cond_equal = 0x0,
first_inner = 0x0, found = false, not_null_compl = false, last_inner = 0x0, first_upper = 0x0, first_unmatched = 0x0, bush_root_tab = 0x0, last_leaf_in_bush = false, bush_children = 0x0, info = 0x0,
packed_info = 0, read_first_record = 0x0, next_select = 0x0, read_record = {table = 0x0, forms = 0x0, unlock_row = 0x0, read_record = 0x0, thd = 0x0, select = 0x0, cache_records = 0, ref_length = 0,
struct_length = 0, reclength = 0, rec_cache_size = 0, error_offset = 0, index = 0, ref_pos = 0x0, record = 0x0, rec_buf = 0x0, cache = 0x0, cache_pos = 0x0, cache_end = 0x0, read_positions = 0x0,
io_cache = 0x0, print_error = false, ignore_not_found_rows = false, copy_field = 0x0, copy_field_end = 0x0}, save_read_first_record = 0x0, save_read_record = 0x0, worst_seeks = 30, const_keys = {
map = 0}, checked_keys = {map = 0}, needed_reg = {map = 0}, keys = {map = 0}, records = 353, found_records = 353, read_time = 10, records_read = 0, startup_cost = 0, partial_join_cardinality = 0,
dependent = 0, key_dependent = 0, use_quick = 0, index = 0, status = 0, used_fields = 0, used_fieldlength = 0, max_used_fieldlength = 0, used_blobs = 0, used_null_fields = 0, used_uneven_bit_fields = 0,
type = JT_UNKNOWN, cached_eq_ref_table = false, eq_ref_table = false, shortcut_for_distinct = false, sorted = false, limit = 0, ref = {key_err = false, has_record = false, key_parts = 0, key_length = 0,
key = 0, key_buff = 0x0, key_buff2 = 0x0, key_copy = 0x0, items = 0x0, cond_guards = 0x0, null_rejecting = 0, depend_map = 0, null_ref_key = 0x0, null_ref_part = 0, use_count = 0, disable_cache = false},
icp_other_tables_ok = false, idx_cond_fact_out = false, use_join_cache = false, used_join_cache_level = 0, join_buffer_size_limit = 0, cache = 0x0, cache_idx_cond = 0x0, cache_select = 0x0,
join = 0xfffd3c0081d8, emb_sj_nest = 0x0, first_sj_inner_tab = 0x0, last_sj_inner_tab = 0x0, flush_weedout_table = 0x0, check_weed_out_table = 0x0, first_weedout_table = 0x0, do_firstmatch = 0x0,
loosescan_match_tab = 0x0, inside_loosescan_range = false, loosescan_buf = 0x0, loosescan_key = 0, loosescan_key_len = 0, found_match = false, keep_current_rowid = 0, embedding_map = 0,
sj_strategy = SJ_OPT_NONE, n_sj_tables = 0, preread_init_done = false}
s.table
$5 = {s = 0xfffd3c064da8, file = 0xfffd3c069a78, next = 0x0, prev = 0xfffd2000d8e0, share_next = 0x0, share_prev = 0xfffd3c064ed0, in_use = 0x1135a8a0, field = 0xfffd3c062888, record = {
0xfffd3c06ba48 "\377\377s\001", 0xfffd3c0700e0 "\377\377"}, write_row_record = 0x0, insert_values = 0x0, covering_keys = {map = 0}, quick_keys = {map = 0}, merge_keys = {map = 0}, intersect_keys = {
map = 0}, keys_in_use_for_query = {map = 31}, keys_in_use_for_group_by = {map = 31}, keys_in_use_for_order_by = {map = 31}, key_info = 0xfffd3c067f08, next_number_field = 0x0,
found_next_number_field = 0xfffd3c062978, timestamp_field = 0x0, vfield = 0x0, triggers = 0x0, pos_in_table_list = 0xfffd3c0073b8, pos_in_locked_tables = 0x0, group = 0x0, alias = {
Ptr = 0xfffd3c065170 "report_deploy", str_length = 13, Alloced_length = 16, extra_alloc = 0, alloced = true, str_charset = 0xe7e6c0 <my_charset_utf8_general_ci>},
null_flags = 0xfffd3c06ba48 "\377\377s\001", bitmap_init_value = 0x0, def_read_set = {bitmap = 0xfffd3c066f18, last_word_ptr = 0xfffd3c066f18, mutex = 0x0, last_word_mask = 3758096384, n_bits = 29},
def_write_set = {bitmap = 0xfffd3c066f1c, last_word_ptr = 0xfffd3c066f1c, mutex = 0x0, last_word_mask = 3758096384, n_bits = 29}, def_vcol_set = {bitmap = 0xfffd3c066f20, last_word_ptr = 0xfffd3c066f20,
mutex = 0x0, last_word_mask = 3758096384, n_bits = 29}, tmp_set = {bitmap = 0xfffd3c066f24, last_word_ptr = 0xfffd3c066f24, mutex = 0x0, last_word_mask = 3758096384, n_bits = 29}, eq_join_set = {
bitmap = 0xfffd3c066f28, last_word_ptr = 0xfffd3c066f28, mutex = 0x0, last_word_mask = 3758096384, n_bits = 29}, read_set = 0xfffd3c066360, write_set = 0xfffd3c066380, vcol_set = 0xfffd3c0663a0,
query_id = 0, quick_rows = {0 <repeats 64 times>}, const_key_parts = {0 <repeats 64 times>}, quick_key_parts = {0 <repeats 64 times>}, quick_n_ranges = {0 <repeats 64 times>}, quick_condition_rows = 353,
timestamp_field_type = TIMESTAMP_NO_AUTO_SET, map = 1, lock_position = 0, lock_data_start = 0, lock_count = 1, tablenr = 0, used_fields = 3, temp_pool_slot = 0, status = 3, db_stat = 39,
derived_select_number = 0, maybe_null = 0, current_lock = 0, copy_blobs = false, next_number_field_updated = false, null_row = false, no_rows_with_nulls = false, null_catch_flags = 0 '\000',
force_index = false, force_index_order = false, force_index_group = false, distinct = false, const_table = false, no_rows = false, used_for_duplicate_elimination = false, keep_row_order = false,
key_read = false, no_keyread = false, locked_by_logger = false, no_replicate = false, locked_by_name = false, fulltext_searched = false, no_cache = false, open_by_handler = false,
auto_increment_field_not_null = false, insert_or_update = false, alias_name_used = false, get_fields_in_item_tree = false, m_needs_reopen = false, created = true, reginfo = {join_tab = 0xfffd3c076128,
lock_type = TL_READ, not_exists_optimize = false, impossible_range = false}, mem_root = {free = 0xfffd3c066b90, used = 0xfffd3c066f70, pre_alloc = 0x0, min_malloc = 32, block_size = 984, block_num = 11,
first_block_usage = 8, error_handler = 0x5fdc80 <sql_alloc_error_handler()>}, grant = {grant_table = 0x0, version = 0, privilege = 536870911, want_privilege = 0, orig_want_privilege = 1, m_internal = {
m_schema_lookup_done = true, m_schema_access = 0x0, m_table_lookup_done = true, m_table_access = 0x0}}, sort = {io_cache = 0x0, sort_keys = 0x0, keys = 0, buffpek = 0x0, buffpek_len = 0,
addon_buf = 0x0, addon_length = 0, addon_field = 0x0, unpack = 0x0, record_pointers = 0x0, found_records = 0}, expr_arena = 0x0, part_info = 0x0, no_partitions_used = false, max_keys = 0, mdl_ticket =
0xfffd3c004de0}
(gdb) info locals
best_key = 0x0
best = 1.7976931348623157e+308
best_time = 1.7976931348623157e+308
records = 1.7976931348623157e+308
best_uses_jbuf = false
eq_join_set = 0xfffd3c0663e0
hj_start_key = 0x0
best_ref_depends_map = 0
tmp = 9.532824124368238e-130
loose_scan_opt = {try_loosescan = <optimized out>, bound_sj_equalities = 0, handled_sj_equalities = <optimized out>, loose_scan_keyparts = <optimized out>, max_loose_keypart = <optimized out>,
part1_conds_met = <optimized out>, quick_uses_applicable_index = <optimized out>, quick_max_loose_keypart = <optimized out>, best_loose_scan_key = <optimized out>, best_loose_scan_cost = <optimized out>,
best_loose_scan_records = <optimized out>, best_loose_scan_start_key = <optimized out>, best_max_loose_keypart = <optimized out>}
thd = 0x1135a8a0
best_max_key_part = 0
found_constraint = 0 '\000'
rec = <optimized out>
(gdb) info args
join = 0xfffd3c0081d8
s = 0xfffd3c076128
remaining_tables = 1
idx = 0
disable_jbuf = true
record_count = 1
pos = 0xfffd3c076648
loose_scan_pos = 0xfffd70064880
(gdb) info registers
x0 0xfffd3c076128 281463098925352
x1 0x1 1
x2 0x80d478 8443000
x3 0x0 0
x4 0x0 0
x5 0xfffd3c076128 281463098925352
x6 0xfffd70064880 281463971268736
x7 0x9d8000 10321920
x8 0x1 1
x9 0xfffd700678c0 281463971281088
x10 0xfffd3c076648 281463098926664
x11 0x9d7fc0 10321856
x12 0x0 0
x13 0x2 2
x14 0x270f 9999
x15 0x0 0
x16 0xe401f8 14942712
x17 0xfffd726dacc0 281464011599040
x18 0x1 1
x19 0x161 353
x20 0x0 0
x21 0x0 0
x22 0x0 0
x23 0x1 1
x24 0x3e 62
x25 0x0 0
x26 0x0 0
x27 0xfffd3c0081d8 281463098474968
x28 0x1 1
x29 0xfffd700645f0 281463971268080
x30 0x5a3878 5912696
sp 0xfffd700645f0 0xfffd700645f0
pc 0x5a2c88 0x5a2c88 <best_access_path(JOIN*, st_join_table*, unsigned long long, unsigned int, bool, double, st_position*, st_position*)+896>
cpsr 0xa0001000 -1610608640
fpsr 0x10 16
fpcr 0x0 0
(gdb)
#0 0x0000fffd72b800b0 in tcdrain () from /lib64/libpthread.so.0
#1 0x00000000006787c8 in handle_fatal_signal (sig=11) at /mariadb/mariadb-5.5.64/sql/signal_handler.cc:262
#2 <signal handler called>
#3 0x00000000005a2c88 in best_access_path (join=join@entry=0xfffd3c0081d8, s=s@entry=0xfffd3c076128, remaining_tables=remaining_tables@entry=1, idx=idx@entry=0, disable_jbuf=true, disable_jbuf@entry=false,
record_count=record_count@entry=1, pos=0xfffd3c076648, loose_scan_pos=loose_scan_pos@entry=0xfffd70064880) at /mariadb/mariadb-5.5.64/sql/sql_select.cc:6008
#4 0x00000000005a4158 in best_extension_by_limited_search (join=join@entry=0xfffd3c0081d8, remaining_tables=remaining_tables@entry=1, idx=idx@entry=0, record_count=record_count@entry=1,
read_time=read_time@entry=0, search_depth=search_depth@entry=62, prune_level=prune_level@entry=1) at /mariadb/mariadb-5.5.64/sql/sql_select.cc:7068
#5 0x00000000005a44dc in greedy_search (prune_level=1, search_depth=62, remaining_tables=1, join=0xfffd3c0081d8) at /mariadb/mariadb-5.5.64/sql/sql_select.cc:6659
#6 choose_plan (join=join@entry=0xfffd3c0081d8, join_tables=<optimized out>) at /mariadb/mariadb-5.5.64/sql/sql_select.cc:6246
#7 0x00000000005b58d4 in make_join_statistics (join=join@entry=0xfffd3c0081d8, tables_list=..., conds=0xfffd3c007fe0, keyuse_array=keyuse_array@entry=0xfffd3c008500)
at /mariadb/mariadb-5.5.64/sql/sql_select.cc:3839
#8 0x00000000005b84ec in JOIN::optimize (this=this@entry=0xfffd3c0081d8) at /mariadb/mariadb-5.5.64/sql/sql_select.cc:1262
#9 0x00000000005ba2b0 in mysql_select (thd=thd@entry=0x1135a8a0, rref_pointer_array=rref_pointer_array@entry=0x1135e3c0, tables=0xfffd3c0073b8, wild_num=<optimized out>, fields=..., conds=<optimized out>,
og_num=<optimized out>, order=<optimized out>, group=0x0, having=0x0, proc_param=0x0, select_options=select_options@entry=2147748608, result=result@entry=0xfffd3c0081b8, unit=unit@entry=0x1135da40,
select_lex=select_lex@entry=0x1135e120) at /mariadb/mariadb-5.5.64/sql/sql_select.cc:3119
#10 0x00000000005baa3c in handle_select (thd=thd@entry=0x1135a8a0, lex=lex@entry=0x1135d990, result=result@entry=0xfffd3c0081b8, setup_tables_done_option=setup_tables_done_option@entry=0)
at /mariadb/mariadb-5.5.64/sql/sql_select.cc:323
#11 0x000000000057be70 in execute_sqlcom_select (thd=thd@entry=0x1135a8a0, all_tables=0xfffd3c0073b8) at /mariadb/mariadb-5.5.64/sql/sql_parse.cc:4677
#12 0x00000000005840e0 in mysql_execute_command (thd=thd@entry=0x1135a8a0) at /mariadb/mariadb-5.5.64/sql/sql_parse.cc:2222
#13 0x0000000000586510 in mysql_parse (thd=0x1135a8a0, rawbuf=<optimized out>, length=<optimized out>, parser_state=0xfffd70066220) at /mariadb/mariadb-5.5.64/sql/sql_parse.cc:5922
#14 0x0000000000587fc4 in dispatch_command (command=COM_QUERY, thd=0x1135a8a0,
packet=0x1139a8b1 "SELECT sum(infect_cumulative_count) as count FROM entsafe_user.report_deploy WHERE deleted=0 and is_cascade = 0 ", packet_length=113) at /mariadb/mariadb-5.5.64/sql/sql_parse.cc:1067
#15 0x00000000005887fc in do_command (thd=<optimized out>) at /mariadb/mariadb-5.5.64/sql/sql_parse.cc:793
#16 0x0000000000615de4 in do_handle_one_connection (thd_arg=thd_arg@entry=0x1135a8a0) at /mariadb/mariadb-5.5.64/sql/sql_connect.cc:1268
#17 0x0000000000615e74 in handle_one_connection (arg=0x1135a8a0) at /mariadb/mariadb-5.5.64/sql/sql_connect.cc:1184
#18 0x0000fffd72b788cc in pthread_detach () from /lib64/libpthread.so.0
#19 0x0000fffd7272a1ec in vsyslog () from /lib64/libc.so.6
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
附言
文章同步发布于以下论坛: