Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
11.8.2
-
Debian 12
-
Can result in hang or crash
-
possible crash under concurrent reads and writes into a vector index when mhnsw_max_cache_size is too small
Description
MariaDB sporadically crashes due to a segmentation fault. Given the stack trace, it appears to be related to vector search:
Core was generated by `/usr/sbin/mariadbd'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 0x0000559bb0721f33 in FVectorNode::gref_len() const ()
|
[Current thread is 1 (Thread 0x7f653c2976c0 (LWP 3400662))]
|
(gdb)
|
(gdb) bt
|
#0 0x0000559bb0721f33 in FVectorNode::gref_len() const ()
|
#1 0x0000559bb0721fc2 in FVectorNode::get_key(void const*, unsigned long*, char) ()
|
#2 0x0000559bb0ace54b in my_hash_first_from_hash_value ()
|
#3 0x0000559bb0ace6a1 in my_hash_search ()
|
#4 0x0000559bb0722d9b in FVectorNode::load_from_record(TABLE*) ()
|
#5 0x0000559bb07241ba in ?? ()
|
#6 0x0000559bb072554b in mhnsw_read_next(TABLE*) ()
|
#7 0x0000559bb039b2d4 in ?? ()
|
#8 0x0000559bb038acb3 in sub_select(JOIN*, st_join_table*, bool) ()
|
#9 0x0000559bb03be515 in JOIN::exec_inner() ()
|
#10 0x0000559bb03be915 in JOIN::exec() ()
|
#11 0x0000559bb03bc934 in mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) ()
|
#12 0x0000559bb03bd114 in handle_select(THD*, LEX*, select_result*, unsigned long long) ()
|
#13 0x0000559bb032ceb0 in ?? ()
|
#14 0x0000559bb033c53b in mysql_execute_command(THD*, bool) ()
|
#15 0x0000559bb033db26 in mysql_parse(THD*, char*, unsigned int, Parser_state*) ()
|
#16 0x0000559bb033ffed in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) ()
|
#17 0x0000559bb0341cdf in do_command(THD*, bool) ()
|
#18 0x0000559bb04752d5 in do_handle_one_connection(CONNECT*, bool) ()
|
#19 0x0000559bb0475635 in handle_one_connection ()
|
#20 0x0000559bb08071ec in ?? ()
|
#21 0x00007f695e4a81c4 in rseq_register_current_thread (do_rseq=<optimized out>, self=0x7f653c2976c0) at ../sysdeps/unix/sysv/linux/rseq-internal.h:70
|
#22 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:373
|
#23 0x00007f695e52885c in __closefrom_fallback (from=0, dirfd_fallback=<optimized out>) at ../sysdeps/unix/sysv/linux/closefrom_fallback.c:52
|
#24 0x0000000000000000 in ?? ()
|
I did not immediately see which query causes the issue, failures in the application appear related to MariaDB being unreachable rather than to the query causing the issue.
I did find MDEV-35214, this however has reportedly already been solved in 11.8.2.
Attachments
Issue Links
- is duplicated by
-
MDEV-37247 Assorted crashes upon concurrent DML on a table with vector key
-
- Closed
-