[MDEV-33182] Server assertion fails when trying to test the connection with DBeaver Created: 2024-01-04  Updated: 2024-01-26  Resolved: 2024-01-24

Status: Closed
Project: MariaDB Server
Component/s: Server
Affects Version/s: 11.2, 11.3, 11.4
Fix Version/s: 11.2.3, 11.3.2, 11.4.1

Type: Bug Priority: Critical
Reporter: Siavosh Kasravi Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: None
Environment:

Arch Linux


Issue Links:
Problem/Incident
causes MDEV-30164 System variable for default collations Closed
Relates
relates to MDEV-32966 "default collation" ids for the protocol Closed
relates to MDEV-32975 Default charset doesn't work with PHP... In Review

 Description   

Version: '11.4.0-MariaDB-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
mariadbd: /home/siavoshk/Src/mariadb-server/sql/charset_collations.h:174: CHARSET_INFO* Charset_collation_map_st::get_collation_for_charset(Sql_used*, CHARSET_INFO*) const: Assertion `cs->state & 32' failed.
240104 18:23:32 [ERROR] mysqld got signal 6 ;
Sorry, we probably made a mistake, and this is a bug.
 
Your assistance in bug reporting will enable us to fix this for the next release.
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail.
 
Server version: 11.4.0-MariaDB-debug source revision: 3fad2b115569864d8c1b7ea90ce92aa895cfef08
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=1
max_threads=153
thread_count=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 468189 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x7fb540000dc8
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x7fb56409ab78 thread_stack 0x49000
addr2line: 'sql/mariadbd': No such file
Printing to addr2line failed
sql/mariadbd(my_print_stacktrace+0x40)[0x55c83d2e4b8f]
sql/mariadbd(handle_fatal_signal+0x416)[0x55c83ca00006]
/usr/lib/libc.so.6(+0x3e710)[0x7fb57a25c710]
/usr/lib/libc.so.6(+0x8e83c)[0x7fb57a2ac83c]
/usr/lib/libc.so.6(raise+0x18)[0x7fb57a25c668]
/usr/lib/libc.so.6(abort+0xd7)[0x7fb57a2444b8]
/usr/lib/libc.so.6(+0x263dc)[0x7fb57a2443dc]
/usr/lib/libc.so.6(+0x36d26)[0x7fb57a254d26]
addr2line: 'sql/mariadbd': No such file
sql/mariadbd(_ZNK24Charset_collation_map_st25get_collation_for_charsetEP8Sql_usedPK15charset_info_st+0x9b)[0x55c83c459b39]
sql/mariadbd(_Z23thd_init_client_charsetP3THDj+0xf2)[0x55c83c7e20e3]
sql/mariadbd(+0x96445d)[0x55c83c51f45d]
sql/mariadbd(+0x9652b2)[0x55c83c5202b2]
sql/mariadbd(+0x9674ba)[0x55c83c5224ba]
sql/mariadbd(+0x965b91)[0x55c83c520b91]
sql/mariadbd(_Z16acl_authenticateP3THDj+0x273)[0x55c83c52125a]
sql/mariadbd(+0xc27b74)[0x55c83c7e2b74]
sql/mariadbd(+0xc27cea)[0x55c83c7e2cea]
sql/mariadbd(_Z22thd_prepare_connectionP3THD+0x24)[0x55c83c7e33cc]
sql/mariadbd(_Z24do_handle_one_connectionP7CONNECTb+0x149)[0x55c83c7e35b5]
sql/mariadbd(handle_one_connection+0x5b)[0x55c83c7e3366]
sql/mariadbd(+0x116ca20)[0x55c83cd27a20]
/usr/lib/libc.so.6(+0x8c9eb)[0x7fb57a2aa9eb]
/usr/lib/libc.so.6(+0x1107cc)[0x7fb57a32e7cc]
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x0): (null)
Connection ID (thread ID): 9
Status: NOT_KILLED
 
Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off,hash_join_cardinality=on,cset_narrowing=off,sargable_casefold=on
 
We think the query pointer is invalid, but we will try to print it anyway. 
Query: 
 
Writing a core file...
Working directory at /home/siavoshk/mariadb/data
Resource Limits:
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             62855                62855                processes 
Max open files            32190                32190                files     
Max locked memory         8388608              8388608              bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       62855                62855                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        
Core pattern: |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
 
Kernel version: Linux version 6.6.8-2-MANJARO (builduser@fv-az913-981) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Thu Dec 21 16:21:45 UTC 2023



 Comments   
Comment by Alice Sherepa [ 2024-01-04 ]

Thanks! I repeated on 11.2-11.4

Version: '11.2.3-MariaDB-debug'
mysqld: /11.2/src/sql/charset_collations.h:174: CHARSET_INFO* Charset_collation_map_st::get_collation_for_charset(Sql_used*, CHARSET_INFO*) const: Assertion `cs->state & 32' failed.
240104 16:28:22 [ERROR] mysqld got signal 6 ;
 
Server version: 11.2.3-MariaDB-debug source revision: fef31a26f3f4dc3c1c8dabf84c9afc93fe1ebd01
 
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7faecc3e700b]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7faecc3c6859]
/lib/x86_64-linux-gnu/libc.so.6(+0x22729)[0x7faecc3c6729]
/lib/x86_64-linux-gnu/libc.so.6(+0x33fd6)[0x7faecc3d7fd6]
sql/charset_collations.h:175(Charset_collation_map_st::get_collation_for_charset(Sql_used*, charset_info_st const*) const)[0x55f5fa1b8d33]
sql/sql_connect.cc:806(thd_init_client_charset(THD*, unsigned int))[0x55f5faa3873d]
sql/sql_acl.cc:13912(parse_client_handshake_packet(MPVIO_EXT*, unsigned char**, unsigned long))[0x55f5fa37ed5f]
sql/sql_acl.cc:14234(server_mpvio_read_packet(st_plugin_vio*, unsigned char**))[0x55f5fa38112b]
sql/sql_acl.cc:14917(native_password_authenticate(st_plugin_vio*, st_mysql_server_auth_info*))[0x55f5fa3865d7]
sql/sql_acl.cc:14403(do_auth_once(THD*, st_mysql_const_lex_string const*, MPVIO_EXT*))[0x55f5fa3825ed]
sql/sql_acl.cc:14546(acl_authenticate(THD*, unsigned int))[0x55f5fa383548]
sql/sql_connect.cc:1083(check_connection(THD*))[0x55f5faa3a171]
sql/sql_connect.cc:1149(login_connection(THD*))[0x55f5faa3a4c4]
sql/sql_connect.cc:1333(thd_prepare_connection(THD*))[0x55f5faa3b466]
sql/sql_connect.cc:1407(do_handle_one_connection(CONNECT*, bool))[0x55f5faa3b9cb]
sql/sql_connect.cc:1321(handle_one_connection)[0x55f5faa3b402]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x55f5fb6a526a]
nptl/pthread_create.c:478(start_thread)[0x7faecc8f2609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7faecc4c3353]
 
Query (0x0): (null)

Comment by Alexander Barkov [ 2024-01-19 ]

Hi serg,

Please review:

https://github.com/MariaDB/server/commit/985e3dfc05c697b8de1f083712275bdb48d42fc2

Thanks.

Comment by Sergei Golubchik [ 2024-01-23 ]

985e3dfc05c697b8de1f083712275bdb48d42fc2 is ok to push

Generated at Thu Feb 08 10:36:59 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.