Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5
Description
2020-04-28 6:06:55 0 [Note] /test/ASAN_MD210420-mariadb-10.5.3-linux-x86_64-dbg/bin/mysqld: ready for connections.
|
Version: '10.5.3-MariaDB-debug' socket: '/test/ASAN_MD210420-mariadb-10.5.3-linux-x86_64-dbg/socket.sock' port: 13195 MariaDB Server
|
/test/10.5_dbg/strings/ctype-mb.c:409:3: runtime error: null pointer passed as argument 2, which is declared to never be null
|
/test/10.5_dbg/mysys/mf_iocache.c:825:3: runtime error: null pointer passed as argument 1, which is declared to never be null
|
/test/10.5_dbg/sql/protocol.cc:61:9: runtime error: null pointer passed as argument 2, which is declared to never be null
|
2020-04-28 6:07:05 0 [Note] /test/ASAN_MD210420-mariadb-10.5.3-linux-x86_64-dbg/bin/mysqld (initiated by: root[root] @ localhost []): Normal shutdown
|
No other information returned. Same output on optimized build. The mf_iocache issue does not always show.
Setup:
Compiled with GCC >=7.5.0 and:
|
-DWITH_ASAN=ON -DWITH_UBSAN=ON -DWITH_RAPID=OFF
|
Set before execution:
|
export ASAN_OPTIONS=quarantine_size_mb=512:atexit=true:detect_invalid_pointer_pairs=1:dump_instruction_bytes=true:abort_on_error=1
|
Bug (used 'ctype-mb.c.* runtime error: null pointer passed as argument' as a generic search string) confirmed present in:
MariaDB: 10.1.46 (dbg), 10.1.46 (opt), 10.2.33 (dbg), 10.2.33 (opt), 10.3.24 (dbg), 10.3.24 (opt), 10.4.14 (dbg), 10.4.14 (opt), 10.5.4 (dbg), 10.5.4 (opt)
Attachments
Activity
mysql-test/mtr --mem --manual-gdb main.connect-abstract
|
gdb break point |
rbreak ^__ubsan_handle_
|
clear __ubsan_handle_dynamic_type_cache_miss@plt
|
r
|
# hit first io_cache fault
|
break __ubsan_handle_dynamic_type_cache_miss@plt
|
c
|
(second clear is due to lots of sysvar inits.
10.4-205b0ce6ad21dbafe8def505307b4922398db5b2 mf_iocache.c:817 RelWithDebInfo x86_64 |
|
(gdb) set print frame-arguments all
|
(gdb) bt full
|
#0 0x00005632da0e1340 in __ubsan_handle_nonnull_arg@plt ()
|
No symbol table info available.
|
#1 0x00005632dd2eb441 in _my_b_cache_read (info=0x7fc805a46c00, Buffer=0x0, Count=<optimized out>) at /tmp/src/server/mysys/mf_iocache.c:817
|
length = <optimized out>
|
diff_length = <optimized out>
|
left_length = <optimized out>
|
max_length = <optimized out>
|
pos_in_file = 0
|
#2 0x00005632dd2eea97 in _my_b_read (info=info@entry=0x7fc805a46c00, Buffer=Buffer@entry=0x0, Count=Count@entry=0)
|
at /tmp/src/server/mysys/mf_iocache.c:577
|
left_length = 0
|
res = <optimized out>
|
#3 0x00005632dd2f4df7 in my_b_fill (info=0x7fc805a46c00) at /tmp/src/server/include/my_sys.h:578
|
No locals.
|
#4 my_b_gets (info=info@entry=0x7fc805a46c00, to=to@entry=0x7fc805a46d20 "\350\005\002", max_length=255, max_length@entry=256)
|
at /tmp/src/server/mysys/mf_iocache2.c:217
|
start = <optimized out>
|
length = <optimized out>
|
#5 0x00005632da519e9a in load_db_opt (thd=thd@entry=0x62b00005b208, path=path@entry=0x7fc805a46ed0 "./test/db.opt", create=create@entry=0x7fc805a47180)
|
at /tmp/src/server/sql/sql_db.cc:409
|
file = <optimized out>
|
buf = <optimized out>
|
error = true
|
nbytes = <optimized out>
|
cache = <optimized out>
|
#6 0x00005632da51adde in load_db_opt_by_name (thd=thd@entry=0x62b00005b208, db_name=<optimized out>, db_create_info=db_create_info@entry=0x7fc805a47180)
|
at /tmp/src/server/sql/sql_db.cc:508
|
db_opt_path = <optimized out>
|
#7 0x00005632da51afe7 in get_default_db_collation (thd=thd@entry=0x62b00005b208, db_name=<optimized out>) at /tmp/src/server/sql/sql_db.cc:529
|
db_info = <optimized out>
|
#8 0x00005632da51d1ab in mysql_change_db (thd=thd@entry=0x62b00005b208, new_db_name=new_db_name@entry=0x7fc805a47ca8,
|
force_switch=force_switch@entry=false) at /tmp/src/server/sql/sql_db.cc:1599
|
new_db_file_name = <optimized out>
|
sctx = 0x62b00005ce70
|
db_access = <optimized out>
|
db_default_cl = <optimized out>
|
#9 0x00005632da3e9379 in acl_authenticate (thd=thd@entry=0x62b00005b208, com_change_user_pkt_len=com_change_user_pkt_len@entry=0)
|
at /tmp/src/server/sql/sql_acl.cc:14011
|
err = <optimized out>
|
res = <optimized out>
|
mpvio = <optimized out>
|
command = <optimized out>
|
sctx = 0x62b00005ce70
|
acl_user = 0x6120000205e8
|
#10 0x00005632dacd77ca in check_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1080
|
connect_errors = <optimized out>
|
---Type <return> to continue, or q <return> to quit---
|
auth_rc = <optimized out>
|
net = 0x62b00005b478
|
#11 0x00005632dacd7f20 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1149
|
net = 0x62b00005b478
|
error = 0
|
#12 0x00005632dacdbe0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
rc = <optimized out>
|
#13 0x00005632dacde770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
create_user = true
|
thr_create_utime = <optimized out>
|
thd = <optimized out>
|
#14 0x00005632dacdefcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
connect = 0x608000000f28
|
#15 0x00005632dd1ca401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
typed_arg = 0x615000003008
|
user_arg = 0x608000000f28
|
user_start_routine = 0x5632dacdeea0 <handle_one_connection(void*)>
|
pfs = <optimized out>
|
klass = <optimized out>
|
#16 0x00007fc8120b26db in start_thread (arg=0x7fc805a49300) at pthread_create.c:463
|
pd = 0x7fc805a49300
|
now = <optimized out>
|
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140497064858368, -4639046646345202391, 140497064856256, 0, 140728332238480, 94776564996512,
|
4615838798417265961, 4615890212284040489}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
|
canceltype = 0}}}
|
not_first_call = <optimized out>
|
#17 0x00007fc80fb9b88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
|
(gdb) p info
|
$1 = {m_key = 0x5632e40c8560 <key>, m_name = 0x5632dda172c0 "setup", m_flags = 1}
|
|
(gdb) up
|
Initial frame selected; you cannot go up.
|
(gdb) up
|
Initial frame selected; you cannot go up.
|
(gdb) down
|
#16 0x00007fc8120b26db in start_thread (arg=0x7fc805a49300) at pthread_create.c:463
|
463 pthread_create.c: No such file or directory.
|
(gdb) down
|
#15 0x00005632dd1ca401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
1869 (*user_start_routine)(user_arg);
|
(gdb) down
|
#14 0x00005632dacdefcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
1316 do_handle_one_connection(connect);
|
(gdb) down
|
#13 0x00005632dacde770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
1402 if (thd_prepare_connection(thd))
|
(gdb) down
|
#12 0x00005632dacdbe0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
1324 rc= login_connection(thd);
|
(gdb) down
|
#11 0x00005632dacd7f20 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1149
|
1149 error= check_connection(thd);
|
(gdb) down
|
#10 0x00005632dacd77ca in check_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1080
|
1080 auth_rc= acl_authenticate(thd, 0);
|
(gdb) down
|
#9 0x00005632da3e9379 in acl_authenticate (thd=thd@entry=0x62b00005b208, com_change_user_pkt_len=com_change_user_pkt_len@entry=0)
|
at /tmp/src/server/sql/sql_acl.cc:14011
|
14011 uint err = mysql_change_db(thd, &mpvio.db, FALSE);
|
(gdb) down
|
#8 0x00005632da51d1ab in mysql_change_db (thd=thd@entry=0x62b00005b208, new_db_name=new_db_name@entry=0x7fc805a47ca8,
|
force_switch=force_switch@entry=false) at /tmp/src/server/sql/sql_db.cc:1599
|
1599 db_default_cl= get_default_db_collation(thd, new_db_file_name.str);
|
(gdb) p new_db_file_name
|
$2 = <optimized out>
|
(gdb) down
|
#7 0x00005632da51afe7 in get_default_db_collation (thd=thd@entry=0x62b00005b208, db_name=<optimized out>) at /tmp/src/server/sql/sql_db.cc:529
|
529 load_db_opt_by_name(thd, db_name, &db_info);
|
(gdb) p db_name
|
$3 = <optimized out>
|
(gdb) info locals
|
db_info = <optimized out>
|
(gdb) p db_info
|
$4 = <optimized out>
|
(gdb) down
|
#6 0x00005632da51adde in load_db_opt_by_name (thd=thd@entry=0x62b00005b208, db_name=<optimized out>, db_create_info=db_create_info@entry=0x7fc805a47180)
|
at /tmp/src/server/sql/sql_db.cc:508
|
508 return load_db_opt(thd, db_opt_path, db_create_info);
|
(gdb) info locals
|
db_opt_path = <optimized out>
|
(gdb) down
|
#5 0x00005632da519e9a in load_db_opt (thd=thd@entry=0x62b00005b208, path=path@entry=0x7fc805a46ed0 "./test/db.opt", create=create@entry=0x7fc805a47180)
|
at /tmp/src/server/sql/sql_db.cc:409
|
409 while ((int) (nbytes= my_b_gets(&cache, (char*) buf, sizeof(buf))) > 0)
|
(gdb) info locals
|
file = <optimized out>
|
buf = <optimized out>
|
error = true
|
nbytes = <optimized out>
|
cache = <optimized out>
|
Session_tracker::mark_as_changed __ubsan_handle_dynamic_type_cache_ |
(gdb) bt
|
#0 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
#1 0x000055a1cce5d54f in Session_tracker::mark_as_changed (data=<optimized out>, tracker=<optimized out>, thd=<optimized out>, this=<optimized out>)
|
at /tmp/src/server/sql/session_tracker.h:436
|
#2 mysql_change_db (thd=thd@entry=0x62b00005b208, new_db_name=new_db_name@entry=0x7f197b9a5ca8, force_switch=force_switch@entry=false)
|
at /tmp/src/server/sql/sql_db.cc:1604
|
#3 0x000055a1ccd29379 in acl_authenticate (thd=thd@entry=0x62b00005b208, com_change_user_pkt_len=com_change_user_pkt_len@entry=0)
|
at /tmp/src/server/sql/sql_acl.cc:14011
|
#4 0x000055a1cd6177ca in check_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1080
|
#5 0x000055a1cd617f20 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1149
|
#6 0x000055a1cd61be0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
#7 0x000055a1cd61e770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
#8 0x000055a1cd61efcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
#9 0x000055a1cfb0a401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
#10 0x00007f19880106db in start_thread (arg=0x7f197b9a7300) at pthread_create.c:463
|
#11 0x00007f1985af988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(gdb) bt full
|
#0 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
No symbol table info available.
|
#1 0x000055a1cce5d54f in Session_tracker::mark_as_changed (data=<optimized out>, tracker=<optimized out>, thd=<optimized out>, this=<optimized out>)
|
at /tmp/src/server/sql/session_tracker.h:436
|
No locals.
|
#2 mysql_change_db (thd=thd@entry=0x62b00005b208, new_db_name=new_db_name@entry=0x7f197b9a5ca8, force_switch=force_switch@entry=false)
|
at /tmp/src/server/sql/sql_db.cc:1604
|
new_db_file_name = <optimized out>
|
sctx = <optimized out>
|
db_access = <optimized out>
|
db_default_cl = <optimized out>
|
#3 0x000055a1ccd29379 in acl_authenticate (thd=thd@entry=0x62b00005b208, com_change_user_pkt_len=com_change_user_pkt_len@entry=0)
|
at /tmp/src/server/sql/sql_acl.cc:14011
|
err = <optimized out>
|
res = <optimized out>
|
mpvio = <optimized out>
|
command = <optimized out>
|
sctx = 0x62b00005ce70
|
acl_user = 0x6120000205e8
|
#4 0x000055a1cd6177ca in check_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1080
|
connect_errors = <optimized out>
|
auth_rc = <optimized out>
|
net = 0x62b00005b478
|
#5 0x000055a1cd617f20 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1149
|
net = 0x62b00005b478
|
error = 0
|
#6 0x000055a1cd61be0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
rc = <optimized out>
|
#7 0x000055a1cd61e770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
create_user = true
|
thr_create_utime = <optimized out>
|
thd = <optimized out>
|
#8 0x000055a1cd61efcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
connect = 0x608000000f28
|
#9 0x000055a1cfb0a401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
typed_arg = 0x615000003008
|
user_arg = 0x608000000f28
|
user_start_routine = 0x55a1cd61eea0 <handle_one_connection(void*)>
|
pfs = <optimized out>
|
klass = <optimized out>
|
#10 0x00007f19880106db in start_thread (arg=0x7f197b9a7300) at pthread_create.c:463
|
pd = 0x7f197b9a7300
|
now = <optimized out>
|
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139747424629504, -349733193859256203, 139747424627392, 0, 140728681111808, 94153569556896,
|
366912216527220853, 366603020871348341}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
|
canceltype = 0}}}
|
---Type <return> to continue, or q <return> to quit---
|
not_first_call = <optimized out>
|
#11 0x00007f1985af988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
protocol.cc |
Thread 6 "mysqld" hit Breakpoint 13, 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
(gdb) bt
|
#0 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
#1 0x000055a1cce5d613 in Session_tracker::mark_as_changed (data=0x0, tracker=SESSION_STATE_CHANGE_TRACKER, thd=0x62b00005b208, this=0x62b000060d70)
|
at /tmp/src/server/sql/session_tracker.h:436
|
#2 mysql_change_db (thd=thd@entry=0x62b00005b208, new_db_name=new_db_name@entry=0x7f197b9a5ca8, force_switch=force_switch@entry=false)
|
at /tmp/src/server/sql/sql_db.cc:1605
|
#3 0x000055a1ccd29379 in acl_authenticate (thd=thd@entry=0x62b00005b208, com_change_user_pkt_len=com_change_user_pkt_len@entry=0)
|
at /tmp/src/server/sql/sql_acl.cc:14011
|
#4 0x000055a1cd6177ca in check_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1080
|
#5 0x000055a1cd617f20 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1149
|
#6 0x000055a1cd61be0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
#7 0x000055a1cd61e770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
#8 0x000055a1cd61efcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
#9 0x000055a1cfb0a401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
#10 0x00007f19880106db in start_thread (arg=0x7f197b9a7300) at pthread_create.c:463
|
#11 0x00007f1985af988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(gdb) c
|
Continuing.
|
|
Thread 6 "mysqld" hit Breakpoint 13, 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
(gdb) bt
|
#0 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
#1 0x000055a1ccba2fbf in Session_tracker::store (this=this@entry=0x62b000060d70, thd=thd@entry=0x62b00005b208, buf=buf@entry=0x7f197b9a6270)
|
at /tmp/src/server/sql/session_tracker.cc:1215
|
#2 0x000055a1ccb706f9 in net_send_ok (thd=0x62b00005b208, server_status=server_status@entry=16386, statement_warn_count=statement_warn_count@entry=0,
|
affected_rows=<optimized out>, id=<optimized out>, message=<optimized out>, is_eof=<optimized out>, skip_flush=<optimized out>)
|
at /tmp/src/server/sql/protocol.cc:282
|
#3 0x000055a1ccb70bfe in Protocol::send_ok (this=0x62b00005b748, server_status=16386, statement_warn_count=0, affected_rows=<optimized out>,
|
last_insert_id=<optimized out>, message=<optimized out>, skip_flush=false) at /tmp/src/server/sql/protocol.cc:643
|
#4 0x000055a1ccb72588 in Protocol::end_statement (this=0x62b00005b748) at /tmp/src/server/sql/protocol.cc:606
|
#5 0x000055a1cd618034 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1150
|
#6 0x000055a1cd61be0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
#7 0x000055a1cd61e770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
#8 0x000055a1cd61efcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
#9 0x000055a1cfb0a401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
#10 0x00007f19880106db in start_thread (arg=0x7f197b9a7300) at pthread_create.c:463
|
#11 0x00007f1985af988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(gdb) c
|
Continuing.
|
|
Thread 6 "mysqld" hit Breakpoint 13, 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
(gdb) bt
|
#0 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
#1 0x000055a1ccba2fbf in Session_tracker::store (this=this@entry=0x62b000060d70, thd=thd@entry=0x62b00005b208, buf=buf@entry=0x7f197b9a6270)
|
at /tmp/src/server/sql/session_tracker.cc:1215
|
#2 0x000055a1ccb706f9 in net_send_ok (thd=0x62b00005b208, server_status=server_status@entry=16386, statement_warn_count=statement_warn_count@entry=0,
|
affected_rows=<optimized out>, id=<optimized out>, message=<optimized out>, is_eof=<optimized out>, skip_flush=<optimized out>)
|
at /tmp/src/server/sql/protocol.cc:282
|
#3 0x000055a1ccb70bfe in Protocol::send_ok (this=0x62b00005b748, server_status=16386, statement_warn_count=0, affected_rows=<optimized out>,
|
last_insert_id=<optimized out>, message=<optimized out>, skip_flush=false) at /tmp/src/server/sql/protocol.cc:643
|
#4 0x000055a1ccb72588 in Protocol::end_statement (this=0x62b00005b748) at /tmp/src/server/sql/protocol.cc:606
|
#5 0x000055a1cd618034 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1150
|
#6 0x000055a1cd61be0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
#7 0x000055a1cd61e770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
#8 0x000055a1cd61efcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
#9 0x000055a1cfb0a401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
#10 0x00007f19880106db in start_thread (arg=0x7f197b9a7300) at pthread_create.c:463
|
#11 0x00007f1985af988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(gdb) bt full
|
#0 0x000055a1cca22800 in __ubsan_handle_dynamic_type_cache_miss@plt ()
|
No symbol table info available.
|
#1 0x000055a1ccba2fbf in Session_tracker::store (this=this@entry=0x62b000060d70, thd=thd@entry=0x62b00005b208, buf=buf@entry=0x7f197b9a6270)
|
at /tmp/src/server/sql/session_tracker.cc:1215
|
i = 1
|
start = 9
|
length = <optimized out>
|
data = <optimized out>
|
size = <optimized out>
|
#2 0x000055a1ccb706f9 in net_send_ok (thd=0x62b00005b208, server_status=server_status@entry=16386, statement_warn_count=statement_warn_count@entry=0,
|
affected_rows=<optimized out>, id=<optimized out>, message=<optimized out>, is_eof=<optimized out>, skip_flush=<optimized out>)
|
at /tmp/src/server/sql/protocol.cc:282
|
net = 0x62b00005b478
|
store = <optimized out>
|
state_changed = false
|
error = false
|
#3 0x000055a1ccb70bfe in Protocol::send_ok (this=0x62b00005b748, server_status=16386, statement_warn_count=0, affected_rows=<optimized out>,
|
last_insert_id=<optimized out>, message=<optimized out>, skip_flush=false) at /tmp/src/server/sql/protocol.cc:643
|
retval = <optimized out>
|
#4 0x000055a1ccb72588 in Protocol::end_statement (this=0x62b00005b748) at /tmp/src/server/sql/protocol.cc:606
|
error = false
|
#5 0x000055a1cd618034 in login_connection (thd=thd@entry=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1150
|
net = 0x62b00005b478
|
error = 0
|
#6 0x000055a1cd61be0d in thd_prepare_connection (thd=0x62b00005b208) at /tmp/src/server/sql/sql_connect.cc:1324
|
rc = <optimized out>
|
#7 0x000055a1cd61e770 in do_handle_one_connection (connect=connect@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1402
|
create_user = true
|
thr_create_utime = <optimized out>
|
thd = <optimized out>
|
#8 0x000055a1cd61efcd in handle_one_connection (arg=arg@entry=0x608000000f28) at /tmp/src/server/sql/sql_connect.cc:1316
|
connect = 0x608000000f28
|
#9 0x000055a1cfb0a401 in pfs_spawn_thread (arg=0x615000003008) at /tmp/src/server/storage/perfschema/pfs.cc:1869
|
typed_arg = 0x615000003008
|
user_arg = 0x608000000f28
|
user_start_routine = 0x55a1cd61eea0 <handle_one_connection(void*)>
|
pfs = <optimized out>
|
klass = <optimized out>
|
#10 0x00007f19880106db in start_thread (arg=0x7f197b9a7300) at pthread_create.c:463
|
pd = 0x7f197b9a7300
|
now = <optimized out>
|
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139747424629504, -349733193859256203, 139747424627392, 0, 140728681111808, 94153569556896,
|
366912216527220853, 366603020871348341}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
|
canceltype = 0}}}
|
not_first_call = <optimized out>
|
#11 0x00007f1985af988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
---Type <return> to continue, or q <return> to quit---
|
10.4-205b0ce6ad21dbafe8def505307b4922398db5b2 sql/sql_string.cc:828 RelWithDebInfo x86_64 |
|
/tmp/src/server/sql/sql_string.cc:828:42: runtime error: null pointer passed as argument 2, which is declared to never be null
|
#0 0x557e5fb8dc70 in stringcmp(String const*, String const*) /tmp/src/server/sql/sql_string.cc:828
|
#1 0x557e6089f41e in Regexp_processor_pcre::compile(String*, bool) /tmp/src/server/sql/item_cmpfunc.cc:5760
|
#2 0x557e6089fd9d in Regexp_processor_pcre::compile(Item*, bool) /tmp/src/server/sql/item_cmpfunc.cc:5791
|
#3 0x557e608a115b in Regexp_processor_pcre::recompile(Item*) /tmp/src/server/sql/item_cmpfunc.h:2848
|
#4 0x557e608a115b in Item_func_regex::val_int() /tmp/src/server/sql/item_cmpfunc.cc:6004
|
#5 0x557e5f919b7d in evaluate_join_record /tmp/src/server/sql/sql_select.cc:20475
|
#6 0x557e5f95fbf9 in sub_select(JOIN*, st_join_table*, bool) /tmp/src/server/sql/sql_select.cc:20419
|
#7 0x557e5f91a270 in evaluate_join_record /tmp/src/server/sql/sql_select.cc:20600
|
#8 0x557e5f95fb39 in sub_select(JOIN*, st_join_table*, bool) /tmp/src/server/sql/sql_select.cc:20380
|
#9 0x557e5fa53b40 in do_select /tmp/src/server/sql/sql_select.cc:19918
|
#10 0x557e5fa53b40 in JOIN::exec_inner() /tmp/src/server/sql/sql_select.cc:4470
|
#11 0x557e5fa569a4 in JOIN::exec() /tmp/src/server/sql/sql_select.cc:4252
|
#12 0x557e5fa4a753 in mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /tmp/src/server/sql/sql_select.cc:4684
|
#13 0x557e5fc7f3ea in mysql_multi_update(THD*, TABLE_LIST*, List<Item>*, List<Item>*, Item*, unsigned long long, enum_duplicates, bool, st_select_lex_unit*, st_select_lex*, multi_update**) /tmp/src/server/sql/sql_update.cc:1921
|
#14 0x557e5f81157d in mysql_execute_command(THD*) /tmp/src/server/sql/sql_parse.cc:4445
|
#15 0x557e5f3f39c3 in sp_instr_stmt::exec_core(THD*, unsigned int*) /tmp/src/server/sql/sp_head.cc:3687
|
#16 0x557e5f438d83 in sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*) /tmp/src/server/sql/sp_head.cc:3419
|
#17 0x557e5f43e256 in sp_instr_stmt::execute(THD*, unsigned int*) /tmp/src/server/sql/sp_head.cc:3593
|
#18 0x557e5f413de8 in sp_head::execute(THD*, bool) /tmp/src/server/sql/sp_head.cc:1364
|
#19 0x557e5f41eb08 in sp_head::execute_procedure(THD*, List<Item>*) /tmp/src/server/sql/sp_head.cc:2370
|
#20 0x557e5f7cd32d in do_execute_sp /tmp/src/server/sql/sql_parse.cc:3014
|
#21 0x557e5f7d961f in Sql_cmd_call::execute(THD*) /tmp/src/server/sql/sql_parse.cc:3256
|
#22 0x557e5f808b33 in mysql_execute_command(THD*) /tmp/src/server/sql/sql_parse.cc:6101
|
#23 0x557e5f835a31 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /tmp/src/server/sql/sql_parse.cc:7901
|
#24 0x557e5f84302d in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /tmp/src/server/sql/sql_parse.cc:1841
|
#25 0x557e5f84c7ba in do_command(THD*) /tmp/src/server/sql/sql_parse.cc:1359
|
#26 0x557e5fdf67ba in do_handle_one_connection(CONNECT*) /tmp/src/server/sql/sql_connect.cc:1412
|
#27 0x557e5fdf6fcc in handle_one_connection /tmp/src/server/sql/sql_connect.cc:1316
|
#28 0x557e622e2400 in pfs_spawn_thread /tmp/src/server/storage/perfschema/pfs.cc:1869
|
#29 0x7fbbb44d86da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
|
#30 0x7fbbb1fc188e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x12188e)
|
10.4-205b0ce6ad21dbafe8def505307b4922398db5b2 sql_string.h:316 RelWithDebInfo x86_64 |
/tmp/src/server/sql/sql_string.h:316:11: runtime error: null pointer passed as argument 2, which is declared to never be null
|
#0 0x55cd194604ec in Static_binary_string::q_append(char const*, unsigned long) /tmp/src/server/sql/sql_string.h:316
|
#1 0x55cd194604ec in Binary_string::q_net_store_data(unsigned char const*, unsigned long) /tmp/src/server/sql/sql_string.h:721
|
#2 0x55cd194604ec in Current_schema_tracker::store(THD*, String*) /tmp/src/server/sql/session_tracker.cc:648
|
#3 0x55cd19469a47 in Session_tracker::store(THD*, String*) /tmp/src/server/sql/session_tracker.cc:1217
|
#4 0x55cd194376f8 in net_send_ok(THD*, unsigned int, unsigned int, unsigned long long, unsigned long long, char const*, bool, bool) /tmp/src/server/sql/protocol.cc:282
|
#5 0x55cd19437bfd in Protocol::send_ok(unsigned int, unsigned int, unsigned long long, unsigned long long, char const*, bool) /tmp/src/server/sql/protocol.cc:643
|
#6 0x55cd19439587 in Protocol::end_statement() /tmp/src/server/sql/protocol.cc:606
|
#7 0x55cd1992ed6c in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /tmp/src/server/sql/sql_parse.cc:2433
|
#8 0x55cd1993b7ba in do_command(THD*) /tmp/src/server/sql/sql_parse.cc:1359
|
#9 0x55cd19ee57ba in do_handle_one_connection(CONNECT*) /tmp/src/server/sql/sql_connect.cc:1412
|
#10 0x55cd19ee5fcc in handle_one_connection /tmp/src/server/sql/sql_connect.cc:1316
|
#11 0x55cd1c3d1400 in pfs_spawn_thread /tmp/src/server/storage/perfschema/pfs.cc:1869
|
#12 0x7f9e6a6db6da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
|
#13 0x7f9e681c488e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x12188e)
|
10.4-205b0ce6ad21dbafe8def505307b4922398db5b2 mysys/my_alloc.c:482 RelWithDebInfo x86_64 |
/tmp/src/server/mysys/my_alloc.c:482:5: runtime error: null pointer passed as argument 2, which is declared to never be null
|
#0 0x55cd1c51e1fd in strmake_root /tmp/src/server/mysys/my_alloc.c:482
|
#1 0x55cd19f5fb0c in Query_arena::strmake(char const*, unsigned long) /tmp/src/server/sql/sql_class.h:1060
|
#2 0x55cd19f5fb0c in Sys_var_gtid_slave_pos::global_value_ptr(THD*, st_mysql_const_lex_string const*) /tmp/src/server/sql/sys_vars.cc:1867
|
#3 0x55cd1947143a in sys_var::value_ptr(THD*, enum_var_type, st_mysql_const_lex_string const*) /tmp/src/server/sql/set_var.cc:282
|
#4 0x55cd19ba4851 in get_one_variable(THD*, st_mysql_show_var const*, enum_var_type, enum_mysql_show_type, system_status_var*, charset_info_st const**, char*, unsigned long*) /tmp/src/server/sql/sql_show.cc:3612
|
#5 0x55cd19bdb523 in show_status_array /tmp/src/server/sql/sql_show.cc:3831
|
#6 0x55cd19be53a9 in fill_variables(THD*, TABLE_LIST*, Item*) /tmp/src/server/sql/sql_show.cc:7902
|
#7 0x55cd19c0a477 in get_schema_tables_result(JOIN*, enum_schema_table_state) /tmp/src/server/sql/sql_show.cc:8919
|
#8 0x55cd19b41b2c in JOIN::exec_inner() /tmp/src/server/sql/sql_select.cc:4427
|
#9 0x55cd19b459a4 in JOIN::exec() /tmp/src/server/sql/sql_select.cc:4252
|
#10 0x55cd19b39753 in mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /tmp/src/server/sql/sql_select.cc:4684
|
#11 0x55cd19b3da6a in handle_select(THD*, LEX*, select_result*, unsigned long) /tmp/src/server/sql/sql_select.cc:410
|
#12 0x55cd198bd743 in execute_sqlcom_select /tmp/src/server/sql/sql_parse.cc:6360
|
#13 0x55cd198f37c4 in mysql_execute_command(THD*) /tmp/src/server/sql/sql_parse.cc:3898
|
#14 0x55cd194e29c3 in sp_instr_stmt::exec_core(THD*, unsigned int*) /tmp/src/server/sql/sp_head.cc:3687
|
#15 0x55cd19527d83 in sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*) /tmp/src/server/sql/sp_head.cc:3419
|
#16 0x55cd1952d256 in sp_instr_stmt::execute(THD*, unsigned int*) /tmp/src/server/sql/sp_head.cc:3593
|
#17 0x55cd19502de8 in sp_head::execute(THD*, bool) /tmp/src/server/sql/sp_head.cc:1364
|
#18 0x55cd1950db08 in sp_head::execute_procedure(THD*, List<Item>*) /tmp/src/server/sql/sp_head.cc:2370
|
#19 0x55cd198bc32d in do_execute_sp /tmp/src/server/sql/sql_parse.cc:3014
|
#20 0x55cd198c861f in Sql_cmd_call::execute(THD*) /tmp/src/server/sql/sql_parse.cc:3256
|
#21 0x55cd198f7b33 in mysql_execute_command(THD*) /tmp/src/server/sql/sql_parse.cc:6101
|
#22 0x55cd19924a31 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /tmp/src/server/sql/sql_parse.cc:7901
|
#23 0x55cd1993202d in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /tmp/src/server/sql/sql_parse.cc:1841
|
#24 0x55cd1993b7ba in do_command(THD*) /tmp/src/server/sql/sql_parse.cc:1359
|
#25 0x55cd19ee57ba in do_handle_one_connection(CONNECT*) /tmp/src/server/sql/sql_connect.cc:1412
|
#26 0x55cd19ee5fcc in handle_one_connection /tmp/src/server/sql/sql_connect.cc:1316
|
#27 0x55cd1c3d1400 in pfs_spawn_thread /tmp/src/server/storage/perfschema/pfs.cc:1869
|
#28 0x7f9e6a6db6da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
|
#29 0x7f9e681c488e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x12188e)
|
simple bracktraces are in the error log with `export UBSAN_OPTIONS=print_stacktrace=1`.
Found it hard to get repeatable backtraces with gdb for some of the secondary instances. Maybe try including `UBSAN_OPTIONS=suppressions=MyUBSan.supp` (ref: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#runtime-suppressions) to suppress the initial hits.
These warnings that danblack mentioned are a permission for GCC 8 or later may optimize away checks for null pointers, similar to MDEV-15587:
/home/dan/mariadb-server-not-worktree/sql/protocol.cc:61:9: runtime error: null pointer passed as argument 2, which is declared to never be null
|
/home/dan/mariadb-server-not-worktree/mysys/mf_iocache.c:772:3: runtime error: null pointer passed as argument 1, which is declared to never be null
|
/home/dan/mariadb-server-not-worktree/mysys/my_alloc.c:468:5: runtime error: null pointer passed as argument 2, which is declared to never be null
|
/home/dan/mariadb-server-not-worktree/sql/sql_string.h:329:11: runtime error: null pointer passed as argument 2, which is declared to never be null
|
In fact, today I built a 10.2 -DWITH_ASAN=ON debug build on GCC 10.1, using -O2 -march=native -mtune=native, and I got SIGSEGV in 3 tests. One of them was the following, extracted from main.view:
CREATE VIEW v1 AS SELECT ENCRYPT("dhgdhgd"); |
disable_result_log;
|
SELECT * FROM v1; |
The following patch alone did not fix it:
--- sql/sql_string.h
|
+++ sql/sql_string.h
|
@@ -555,7 +555,8 @@
|
}
|
void q_append(const char *data, size_t data_len)
|
{
|
- memcpy(Ptr + str_length, data, data_len);
|
+ if (data_len)
|
+ memcpy(Ptr + str_length, data, data_len);
|
DBUG_ASSERT(str_length <= UINT_MAX32 - data_len);
|
str_length += (uint)data_len;
|
} |
I think that the above is necessary, because we do not want GCC to infer that the data parameter is nonnull and allow unsafe optimizations. I saw more WITH_UBSAN warnings for the above 3-line test. Probably more of them should be fixed to fix that crash:
10.2 8a612314d0c9bc5b1db6f3998f26c28967915949 |
/mariadb/10.2o/mysys/mf_iocache.c:807:3: runtime error: null pointer passed as argument 1, which is declared to never be null
|
/mariadb/10.2o/mysys/my_alloc.c:452:5: runtime error: null pointer passed as argument 2, which is declared to never be null
|
/mariadb/10.2o/sql/debug_sync.cc:322:9: runtime error: null pointer passed as argument 2, which is declared to never be null
|
/mariadb/10.2o/sql/sql_string.h:558:11: runtime error: null pointer passed as argument 2, which is declared to never be null
|
The tests that crashed for me due to this on the WITH_ASAN build were: main.func_encrypt main.func_crypt main.view. Here is one stack trace:
10.2 8a612314d0c9bc5b1db6f3998f26c28967915949 |
CURRENT_TEST: main.func_encrypt
|
mysqltest: At line 103: query 'select encrypt(f1,f2) as a from t1,(select encrypt(f1,f2) as b from t1) a' failed: 2013: Lost connection to MySQL server during query
|
…
|
2020-07-31 11:07:32 140373456430016 [Note] /dev/shm/10.2o/sql/mysqld: ready for connections.
|
Version: '10.2.33-MariaDB-debug-log' socket: '/dev/shm/10.2o/mysql-test/var/tmp/18/mysqld.1.sock' port: 16320 Source distribution
|
200731 11:07:32 [ERROR] mysqld got signal 11 ;
|
…
|
#3 <signal handler called>
|
#4 0x0000000000000000 in ?? ()
|
#5 0x0000564d1c00bf9f in Item_func_encrypt::val_str (this=0x62b0000005d8, str=0x7fab33897b20) at /mariadb/10.2o/sql/sql_string.h:229
|
#6 0x0000564d1be00d61 in Item::send (this=0x62b0000005d8, protocol=0x62a0000607c0, buffer=<optimized out>) at /mariadb/10.2o/sql/item.cc:6900
|
#7 0x0000564d1b5bc52f in Protocol::send_result_set_row (this=this@entry=0x62a0000607c0, row_items=row_items@entry=0x62a000064668) at /mariadb/10.2o/sql/protocol.cc:990
|
#8 0x0000564d1b70c697 in select_send::send_data (this=0x62b000002ab8, items=<optimized out>) at /mariadb/10.2o/sql/sql_class.cc:2731
|
#9 0x0000564d1b8e21ff in end_send (join=0x62b000002ae0, join_tab=0x62b000005358, end_of_records=<optimized out>) at /mariadb/10.2o/sql/sql_select.cc:20045
|
#10 0x0000564d1bbaca6c in JOIN_CACHE::generate_full_extensions (this=0x62b000005cc8, rec_ptr=0x7fab3350a819 "\374\066\302\r") at /mariadb/10.2o/sql/sql_join_cache.cc:2401
|
#11 0x0000564d1bbad358 in JOIN_CACHE::join_matching_records (this=0x62b000005cc8, skip_last=<optimized out>) at /mariadb/10.2o/sql/sql_join_cache.cc:2293
|
#12 0x0000564d1bbac284 in JOIN_CACHE::join_records (this=this@entry=0x62b000005cc8, skip_last=skip_last@entry=false) at /mariadb/10.2o/sql/sql_join_cache.cc:2087
|
#13 0x0000564d1b88e65a in sub_select_cache (join=0x62b000002ae0, join_tab=0x62b000004fa8, end_of_records=<optimized out>) at /mariadb/10.2o/sql/sql_select.cc:18652
|
#14 0x0000564d1b88d460 in sub_select (join=0x62b000002ae0, join_tab=0x62b000004bf8, end_of_records=<optimized out>) at /mariadb/10.2o/sql/sql_select.cc:18823
|
#15 0x0000564d1b929ab2 in do_select (procedure=<optimized out>, join=0x62b000002ae0) at /mariadb/10.2o/sql/sql_select.cc:18419
|
#16 JOIN::exec_inner (this=0x62b000002ae0) at /mariadb/10.2o/sql/sql_select.cc:3638
|
#17 0x0000564d1b92b57a in JOIN::exec (this=this@entry=0x62b000002ae0) at /mariadb/10.2o/sql/sql_select.cc:3433
|
#18 0x0000564d1b9232fc in mysql_select (thd=0x62a000060208, tables=<optimized out>, wild_num=<optimized out>, fields=<optimized out>, conds=<optimized out>, og_num=<optimized out>, order=<optimized out>, group=<optimized out>, having=<optimized out>, proc_param=<optimized out>, select_options=<optimized out>, result=<optimized out>, unit=<optimized out>, select_lex=<optimized out>) at /mariadb/10.2o/sql/sql_select.cc:3833
|
#19 0x0000564d1b9262c1 in handle_select (thd=thd@entry=0x62a000060208, lex=lex@entry=0x62a000063d40, result=result@entry=0x62b000002ab8, setup_tables_done_option=setup_tables_done_option@entry=0) at /mariadb/10.2o/sql/sql_select.cc:361
|
#20 0x0000564d1b7a9e3f in execute_sqlcom_select (thd=0x62a000060208, all_tables=<optimized out>) at /mariadb/10.2o/sql/sql_parse.cc:6218
|
#21 0x0000564d1b7d3d64 in mysql_execute_command (thd=0x62a000060208) at /mariadb/10.2o/sql/sql_parse.cc:3524
|
Some more specific stacks
10.5.4 c2a929185c147fc85bbf91e2c537bcdd98f2e680 (Optimized) my_copy_fix_md |
Version: '10.5.4-MariaDB' socket: '/test/ASAN_MD280520-mariadb-10.5.4-linux-x86_64-opt/socket.sock' port: 13693 MariaDB Server
|
/test/10.5_opt/strings/ctype-mb.c:409:3: runtime error: null pointer passed as argument 2, which is declared to never be null
|
#0 0x5643e4e21118 in my_copy_fix_mb /test/10.5_opt/strings/ctype-mb.c:409
|
#1 0x5643e1c88da4 in charset_info_st::copy_fix(char*, unsigned long, char const*, unsigned long, unsigned long, MY_STRCOPY_STATUS*) const /test/10.5_opt/include/m_ctype.h:757
|
#2 0x5643e1c88da4 in String_copier::well_formed_copy(charset_info_st const*, char*, unsigned long, charset_info_st const*, char const*, unsigned long, unsigned long) /test/10.5_opt/sql/sql_string.cc:1101
|
#3 0x5643e1650a02 in THD::copy_fix(charset_info_st const*, st_mysql_lex_string*, charset_info_st const*, char const*, unsigned long, String_copier*) /test/10.5_opt/sql/sql_class.cc:2386
|
#4 0x5643e1650ff7 in THD::copy_with_error(charset_info_st const*, st_mysql_lex_string*, charset_info_st const*, char const*, unsigned long) /test/10.5_opt/sql/sql_class.cc:2424
|
#5 0x5643e15567db in parse_client_handshake_packet /test/10.5_opt/sql/sql_acl.cc:13491
|
#6 0x5643e1559581 in server_mpvio_read_packet /test/10.5_opt/sql/sql_acl.cc:13736
|
#7 0x5643e14e1dfb in native_password_authenticate /test/10.5_opt/sql/sql_acl.cc:14428
|
#8 0x5643e14f4338 in do_auth_once /test/10.5_opt/sql/sql_acl.cc:13918
|
#9 0x5643e15646dd in acl_authenticate(THD*, unsigned int) /test/10.5_opt/sql/sql_acl.cc:14061
|
#10 0x5643e1f38eb2 in check_connection /test/10.5_opt/sql/sql_connect.cc:1081
|
#11 0x5643e1f39462 in login_connection(THD*) /test/10.5_opt/sql/sql_connect.cc:1142
|
#12 0x5643e1f3d28e in thd_prepare_connection(THD*) /test/10.5_opt/sql/sql_connect.cc:1327
|
#13 0x5643e1f403e6 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt/sql/sql_connect.cc:1401
|
#14 0x5643e1f43495 in handle_one_connection /test/10.5_opt/sql/sql_connect.cc:1313
|
#15 0x5643e38d9050 in pfs_spawn_thread /test/10.5_opt/storage/perfschema/pfs.cc:2201
|
#16 0x148de07916da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
|
#17 0x148dde61ca3e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x121a3e)
|
10.5.4 c2a929185c147fc85bbf91e2c537bcdd98f2e680 (Optimized) mf_iocache.c |
/test/10.5_opt/mysys/mf_iocache.c:828:3: runtime error: null pointer passed as argument 1, which is declared to never be null
|
#0 0x5643e4d1ad9d in _my_b_cache_read /test/10.5_opt/mysys/mf_iocache.c:828
|
#1 0x5643e4d1eaab in _my_b_read /test/10.5_opt/mysys/mf_iocache.c:588
|
#2 0x5643e4d25a36 in my_b_fill /test/10.5_opt/include/my_sys.h:572
|
#3 0x5643e4d25a36 in my_b_gets /test/10.5_opt/mysys/mf_iocache2.c:217
|
#4 0x5643e16bc9fb in load_db_opt(THD*, char const*, Schema_specification_st*) /test/10.5_opt/sql/sql_db.cc:455
|
#5 0x5643e16c1146 in load_db_opt_by_name(THD*, char const*, Schema_specification_st*) /test/10.5_opt/sql/sql_db.cc:556
|
#6 0x5643e16c137a in get_default_db_collation(THD*, char const*) /test/10.5_opt/sql/sql_db.cc:577
|
#7 0x5643e16c3e4f in mysql_change_db(THD*, st_mysql_const_lex_string const*, bool) /test/10.5_opt/sql/sql_db.cc:1647
|
#8 0x5643e1565f27 in acl_authenticate(THD*, unsigned int) /test/10.5_opt/sql/sql_acl.cc:14322
|
#9 0x5643e1f38eb2 in check_connection /test/10.5_opt/sql/sql_connect.cc:1081
|
#10 0x5643e1f39462 in login_connection(THD*) /test/10.5_opt/sql/sql_connect.cc:1142
|
#11 0x5643e1f3d28e in thd_prepare_connection(THD*) /test/10.5_opt/sql/sql_connect.cc:1327
|
#12 0x5643e1f403e6 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt/sql/sql_connect.cc:1401
|
#13 0x5643e1f43495 in handle_one_connection /test/10.5_opt/sql/sql_connect.cc:1313
|
#14 0x5643e38d9050 in pfs_spawn_thread /test/10.5_opt/storage/perfschema/pfs.cc:2201
|
#15 0x148de07916da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
|
#16 0x148dde61ca3e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x121a3e)
|
10.5.4 c2a929185c147fc85bbf91e2c537bcdd98f2e680 (Optimized) protocol.cc |
/test/10.5_opt/sql/protocol.cc:61:9: runtime error: null pointer passed as argument 2, which is declared to never be null
|
#0 0x5643e138b22c in Protocol::net_store_data(unsigned char const*, unsigned long) /test/10.5_opt/sql/protocol.cc:61
|
#1 0x5643e13930cc in Protocol::store_str(st_mysql_const_lex_string const&, charset_info_st const*, charset_info_st const*) /test/10.5_opt/sql/protocol.h:128
|
#2 0x5643e13930cc in Protocol_text::store_field_metadata(THD const*, Send_field const&, charset_info_st const*, unsigned int) /test/10.5_opt/sql/protocol.cc:864
|
#3 0x5643e1395836 in Protocol_text::store_field_metadata(THD*, Item*, unsigned int) /test/10.5_opt/sql/protocol.cc:1041
|
#4 0x5643e13961b4 in Protocol::send_result_set_metadata(List<Item>*, unsigned int) /test/10.5_opt/sql/protocol.cc:958
|
#5 0x5643e162d7d1 in select_send::send_result_set_metadata(List<Item>&, unsigned int) /test/10.5_opt/sql/sql_class.cc:2957
|
#6 0x5643e1b49b3e in JOIN::exec_inner() /test/10.5_opt/sql/sql_select.cc:4307
|
#7 0x5643e1b4db41 in JOIN::exec() /test/10.5_opt/sql/sql_select.cc:4245
|
#8 0x5643e1b4178a 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*) /test/10.5_opt/sql/sql_select.cc:4669
|
#9 0x5643e1b4588b in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt/sql/sql_select.cc:417
|
#10 0x5643e18db09e in execute_sqlcom_select /test/10.5_opt/sql/sql_parse.cc:6207
|
#11 0x5643e18b73a0 in mysql_execute_command(THD*) /test/10.5_opt/sql/sql_parse.cc:3939
|
#12 0x5643e18f21f5 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt/sql/sql_parse.cc:7991
|
#13 0x5643e18a055d in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt/sql/sql_parse.cc:1874
|
#14 0x5643e1898fd8 in do_command(THD*) /test/10.5_opt/sql/sql_parse.cc:1355
|
#15 0x5643e1f4043e in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt/sql/sql_connect.cc:1411
|
#16 0x5643e1f43495 in handle_one_connection /test/10.5_opt/sql/sql_connect.cc:1313
|
#17 0x5643e38d9050 in pfs_spawn_thread /test/10.5_opt/storage/perfschema/pfs.cc:2201
|
#18 0x148de07916da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
|
#19 0x148dde61ca3e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x121a3e)
|
I fixed this type of warnings for running the main.view test in 10.1, except those that occur in extra/yassl/taocrypt/include/block.hpp:108, by skipping memcpy() calls when the length parameter is 0.
I tried to fix all null pointer violations that were found by big-test, except one that would cause a failure of main.events_restart:
diff --git a/sql/events.cc b/sql/events.cc
|
index 33ddcdac3cb..5b029b7c54b 100644
|
--- a/sql/events.cc
|
+++ b/sql/events.cc
|
@@ -662,7 +662,8 @@ Events::drop_schema_events(THD *thd, const char *db)
|
*/
|
if (event_queue)
|
event_queue->drop_schema_events(thd, &db_lex);
|
- db_repository->drop_schema_events(thd, &db_lex);
|
+ if (db_repository)
|
+ db_repository->drop_schema_events(thd, &db_lex);
|
|
DBUG_VOID_RETURN;
|
} |
I intend to port those fixes to the earliest applicable versions in the near future. There are plenty of other WITH_UBSAN failures, but with those fixes, the test suite actually completed (with Failed 1883/5458 tests), instead of being aborted abruptly somewhere.
I have pushed this to 10.2 and 10.3. The merges to 10.4 and 10.5 are in progress and will hopefully be pushed tomorrow. There are still numerous other runtime error that cmake -DWITH_UBSAN=ON builds are reporting.
10.5-605555fc31784302a54d398d9503ca1e9e4bdec9 RelWithDebInfo WITH_UBSAN ppc64le g++-9 (Ubuntu 9.2.1-17ubuntu1~18.04.1) 9.2.1 20191102
dan@fstn4-p1:~/build-mariadb-server-10.5-futex$ export UBSAN_OPTIONS=print_stacktrace=1
dan@fstn4-p1:~/build-mariadb-server-10.5-futex$ mysql-test/mtr --mem main.connect-abstract
/home/dan/mariadb-server-not-worktree/sql/protocol.cc:61:9: runtime error: null pointer passed as argument 2, which is declared to never be null
/home/dan/mariadb-server-not-worktree/mysys/mf_iocache.c:772:3: runtime error: null pointer passed as argument 1, which is declared to never be null
/home/dan/mariadb-server-not-worktree/mysys/my_alloc.c:468:5: runtime error: null pointer passed as argument 2, which is declared to never be null
/home/dan/mariadb-server-not-worktree/sql/sql_string.h:329:11: runtime error: null pointer passed as argument 2, which is declared to never be null
Backtraces:
build-mariadb-server-10.5-futex/mysql-test/var/log/mysqld.1.err
Version: '10.5.4-MariaDB-log' socket: '@mtr-test-abstract-socket-16001' port: 16000 Source distribution
/home/dan/mariadb-server-not-worktree/sql/protocol.cc:61:9: runtime error: null pointer passed as argument 2, which is declared to never be null
#0 0x1381a7090 in Protocol::net_store_data(unsigned char const*, unsigned long) /home/dan/mariadb-server-not-worktree/sql/protocol.cc:61
#1 0x1381ad130 in Protocol::store_str(st_mysql_const_lex_string const&, charset_info_st const*, charset_info_st const*) /home/dan/mariadb-server-not-worktree/sql/protocol.h:128
#2 0x1381ad130 in Protocol_text::store_field_metadata(THD const*, Send_field const&, charset_info_st const*, unsigned int) /home/dan/mariadb-server-not-worktree/sql/protocol.cc:864
#3 0x1381afa60 in Protocol_text::store_field_metadata(THD*, Item*, unsigned int) /home/dan/mariadb-server-not-worktree/sql/protocol.cc:1041
#4 0x1381b01c4 in Protocol::send_result_set_metadata(List<Item>*, unsigned int) /home/dan/mariadb-server-not-worktree/sql/protocol.cc:958
#5 0x138220570 in show_master_info(THD*, Master_info*, bool) /home/dan/mariadb-server-not-worktree/sql/slave.cc:3025
#6 0x138221458 in Sql_cmd_show_slave_status::execute(THD*) /home/dan/mariadb-server-not-worktree/sql/slave.cc:1683
#7 0x138221458 in Sql_cmd_show_slave_status::execute(THD*) /home/dan/mariadb-server-not-worktree/sql/slave.cc:1658
#8 0x138660be4 in mysql_execute_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:5951
#9 0x13860fd64 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:7993
#10 0x13864d7fc in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1874
#11 0x138656cb8 in do_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1355
#12 0x138b8dc50 in do_handle_one_connection(CONNECT*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1411
#13 0x138b8fdb8 in handle_one_connection /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1313
#14 0x13a38d5d0 in pfs_spawn_thread /home/dan/mariadb-server-not-worktree/storage/perfschema/pfs.cc:2201
#15 0x7fffa3448858 in start_thread /build/glibc-uvws04/glibc-2.27/nptl/pthread_create.c:463
/home/dan/mariadb-server-not-worktree/mysys/mf_iocache.c:772:3: runtime error: null pointer passed as argument 1, which is declared to never be null
#0 0x13b19fbbc in _my_b_cache_read /home/dan/mariadb-server-not-worktree/mysys/mf_iocache.c:772
#1 0x13b1a2020 in _my_b_read /home/dan/mariadb-server-not-worktree/mysys/mf_iocache.c:532
#2 0x13b1a6b4c in my_b_fill /home/dan/mariadb-server-not-worktree/include/my_sys.h:553
#3 0x13b1a6b4c in my_b_gets /home/dan/mariadb-server-not-worktree/mysys/mf_iocache2.c:218
#4 0x13847df9c in load_db_opt(THD*, char const*, Schema_specification_st*) /home/dan/mariadb-server-not-worktree/sql/sql_db.cc:455
#5 0x138480bb4 in load_db_opt_by_name(THD*, char const*, Schema_specification_st*) /home/dan/mariadb-server-not-worktree/sql/sql_db.cc:556
#6 0x138480d44 in get_default_db_collation(THD*, char const*) /home/dan/mariadb-server-not-worktree/sql/sql_db.cc:577
#7 0x138488bfc in mysql_change_db(THD*, st_mysql_const_lex_string const*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_db.cc:1647
#8 0x13848971c in mysql_opt_change_db(THD*, st_mysql_const_lex_string const*, st_mysql_lex_string*, bool, bool*) /home/dan/mariadb-server-not-worktree/sql/sql_db.cc:1691
#9 0x139e7517c in Sp_handler::db_load_routine(THD*, Database_qualified_name const*, sp_head**, unsigned long long, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, st_sp_chistics const&, AUTHID const&, long long, long long, sp_package*, Stored_program_creation_ctx*) const /home/dan/mariadb-server-not-worktree/sql/sp.cc:983
#10 0x139e781f0 in Sp_handler::db_find_routine(THD*, Database_qualified_name const*, sp_head**) const /home/dan/mariadb-server-not-worktree/sql/sp.cc:763
#11 0x139e7917c in Sp_handler::db_find_and_cache_routine(THD*, Database_qualified_name const*, sp_head**) const /home/dan/mariadb-server-not-worktree/sql/sp.cc:787
#12 0x139e79518 in Sp_handler::sp_cache_routine(THD*, Database_qualified_name const*, bool, sp_head**) const /home/dan/mariadb-server-not-worktree/sql/sp.cc:2833
#13 0x139e8e068 in Sroutine_hash_entry::sp_cache_routine(THD*, bool, sp_head**) const /home/dan/mariadb-server-not-worktree/sql/sp.cc:2786
#14 0x1383a1548 in open_and_process_routine /home/dan/mariadb-server-not-worktree/sql/sql_base.cc:3445
#15 0x1383a1548 in open_tables(THD*, DDL_options_st const&, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) /home/dan/mariadb-server-not-worktree/sql/sql_base.cc:4328
#16 0x1383a58f0 in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /home/dan/mariadb-server-not-worktree/sql/sql_base.cc:5160
#17 0x138643f34 in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /home/dan/mariadb-server-not-worktree/sql/sql_base.h:507
#18 0x138643f34 in Sql_cmd_call::execute(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:3251
#19 0x138660be4 in mysql_execute_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:5951
#20 0x13860fd64 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:7993
#21 0x13864d7fc in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1874
#22 0x138656cb8 in do_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1355
#23 0x138b8dc50 in do_handle_one_connection(CONNECT*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1411
#24 0x138b8fdb8 in handle_one_connection /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1313
#25 0x13a38d5d0 in pfs_spawn_thread /home/dan/mariadb-server-not-worktree/storage/perfschema/pfs.cc:2201
#26 0x7fffa3448858 in start_thread /build/glibc-uvws04/glibc-2.27/nptl/pthread_create.c:463
/home/dan/mariadb-server-not-worktree/mysys/my_alloc.c:468:5: runtime error: null pointer passed as argument 2, which is declared to never be null
#0 0x13b1c86e4 in strmake_root /home/dan/mariadb-server-not-worktree/mysys/my_alloc.c:468
#1 0x138bf9870 in Query_arena::strmake(char const*, unsigned long) /home/dan/mariadb-server-not-worktree/sql/sql_class.h:1139
#2 0x138bf9870 in Sys_var_gtid_slave_pos::global_value_ptr(THD*, st_mysql_const_lex_string const*) /home/dan/mariadb-server-not-worktree/sql/sys_vars.cc:1972
#3 0x1381e9e40 in sys_var::value_ptr(THD*, enum_var_type, st_mysql_const_lex_string const*) /home/dan/mariadb-server-not-worktree/sql/set_var.cc:280
#4 0x1388b02ac in get_one_variable(THD*, st_mysql_show_var const*, enum_var_type, enum_mysql_show_type, system_status_var*, charset_info_st const**, char*, unsigned long*) /home/dan/mariadb-server-not-worktree/sql/sql_show.cc:3544
#5 0x1388db814 in show_status_array /home/dan/mariadb-server-not-worktree/sql/sql_show.cc:3769
#6 0x1388e69c8 in fill_variables(THD*, TABLE_LIST*, Item*) /home/dan/mariadb-server-not-worktree/sql/sql_show.cc:7800
#7 0x1388fb7b4 in get_schema_tables_result(JOIN*, enum_schema_table_state) /home/dan/mariadb-server-not-worktree/sql/sql_show.cc:8673
#8 0x1388529a8 in JOIN::exec_inner() /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:4401
#9 0x1388562f8 in JOIN::exec() /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:4225
#10 0x13884c948 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*) /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:4649
#11 0x13884fc20 in handle_select(THD*, LEX*, select_result*, unsigned long) /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:417
#12 0x138636120 in execute_sqlcom_select /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:6209
#13 0x138660a20 in mysql_execute_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:3939
#14 0x138251924 in sp_instr_stmt::exec_core(THD*, unsigned int*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:3765
#15 0x13828c2ec in sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:3492
#16 0x1382904b4 in sp_instr_stmt::execute(THD*, unsigned int*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:3671
#17 0x13826d03c in sp_head::execute(THD*, bool) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:1435
#18 0x138273fcc in sp_head::execute_procedure(THD*, List<Item>*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:2446
#19 0x138635134 in do_execute_sp /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:3050
#20 0x138644384 in Sql_cmd_call::execute(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:3296
#21 0x138660be4 in mysql_execute_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:5951
#22 0x13860fd64 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:7993
#23 0x13864d7fc in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1874
#24 0x138656cb8 in do_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1355
#25 0x138b8dc50 in do_handle_one_connection(CONNECT*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1411
#26 0x138b8fdb8 in handle_one_connection /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1313
#27 0x13a38d5d0 in pfs_spawn_thread /home/dan/mariadb-server-not-worktree/storage/perfschema/pfs.cc:2201
#28 0x7fffa3448858 in start_thread /build/glibc-uvws04/glibc-2.27/nptl/pthread_create.c:463
/home/dan/mariadb-server-not-worktree/sql/sql_string.h:329:11: runtime error: null pointer passed as argument 2, which is declared to never be null
#0 0x1381d773c in Static_binary_string::q_append(char const*, unsigned long) /home/dan/mariadb-server-not-worktree/sql/sql_string.h:329
#1 0x1381d773c in Binary_string::q_net_store_data(unsigned char const*, unsigned long) /home/dan/mariadb-server-not-worktree/sql/sql_string.h:727
#2 0x1381d773c in Current_schema_tracker::store(THD*, String*) /home/dan/mariadb-server-not-worktree/sql/session_tracker.cc:650
#3 0x1381e12dc in Session_tracker::store(THD*, String*) /home/dan/mariadb-server-not-worktree/sql/session_tracker.cc:1266
#4 0x1381a92ec in net_send_ok(THD*, unsigned int, unsigned int, unsigned long long, unsigned long long, char const*, bool, bool) /home/dan/mariadb-server-not-worktree/sql/protocol.cc:282
#5 0x1381ab07c in Protocol::end_statement() /home/dan/mariadb-server-not-worktree/sql/protocol.cc:606
#6 0x13864b668 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:2467
#7 0x138656cb8 in do_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1355
#8 0x138b8dc50 in do_handle_one_connection(CONNECT*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1411
#9 0x138b8fdb8 in handle_one_connection /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1313
#10 0x13a38d5d0 in pfs_spawn_thread /home/dan/mariadb-server-not-worktree/storage/perfschema/pfs.cc:2201
#11 0x7fffa3448858 in start_thread /build/glibc-uvws04/glibc-2.27/nptl/pthread_create.c:463
/home/dan/mariadb-server-not-worktree/sql/sql_string.cc:850:18: runtime error: null pointer passed as argument 2, which is declared to never be null
#0 0x13894cabc in stringcmp(String const*, String const*) /home/dan/mariadb-server-not-worktree/sql/sql_string.cc:850
#1 0x1395fe4e4 in Regexp_processor_pcre::compile(String*, bool) /home/dan/mariadb-server-not-worktree/sql/item_cmpfunc.cc:5922
#2 0x1395feaa8 in Regexp_processor_pcre::compile(Item*, bool) /home/dan/mariadb-server-not-worktree/sql/item_cmpfunc.cc:5973
#3 0x1395ffb24 in Regexp_processor_pcre::recompile(Item*) /home/dan/mariadb-server-not-worktree/sql/item_cmpfunc.h:2841
#4 0x1395ffb24 in Item_func_regex::val_int() /home/dan/mariadb-server-not-worktree/sql/item_cmpfunc.cc:6107
#5 0x13873ada8 in evaluate_join_record /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:20698
#6 0x13876e3a0 in sub_select(JOIN*, st_join_table*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:20639
#7 0x13873b49c in evaluate_join_record /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:20823
#8 0x13876e1f8 in sub_select(JOIN*, st_join_table*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:20600
#9 0x13885421c in do_select /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:20134
#10 0x13885421c in JOIN::exec_inner() /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:4444
#11 0x1388562f8 in JOIN::exec() /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:4225
#12 0x13884c948 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*) /home/dan/mariadb-server-not-worktree/sql/sql_select.cc:4649
#13 0x138a27ab0 in mysql_multi_update(THD*, TABLE_LIST*, List<Item>*, List<Item>*, Item*, unsigned long long, enum_duplicates, bool, st_select_lex_unit*, st_select_lex*, multi_update**) /home/dan/mariadb-server-not-worktree/sql/sql_update.cc:1923
#14 0x13866cae4 in mysql_execute_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:4477
#15 0x138251924 in sp_instr_stmt::exec_core(THD*, unsigned int*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:3765
#16 0x13828c2ec in sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:3492
#17 0x1382904b4 in sp_instr_stmt::execute(THD*, unsigned int*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:3671
#18 0x13826d03c in sp_head::execute(THD*, bool) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:1435
#19 0x138273fcc in sp_head::execute_procedure(THD*, List<Item>*) /home/dan/mariadb-server-not-worktree/sql/sp_head.cc:2446
#20 0x138635134 in do_execute_sp /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:3050
#21 0x138644384 in Sql_cmd_call::execute(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:3296
#22 0x138660be4 in mysql_execute_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:5951
#23 0x13860fd64 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:7993
#24 0x13864d7fc in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1874
#25 0x138656cb8 in do_command(THD*) /home/dan/mariadb-server-not-worktree/sql/sql_parse.cc:1355
#26 0x138b8dc50 in do_handle_one_connection(CONNECT*, bool) /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1411
#27 0x138b8fdb8 in handle_one_connection /home/dan/mariadb-server-not-worktree/sql/sql_connect.cc:1313
#28 0x13a38d5d0 in pfs_spawn_thread /home/dan/mariadb-server-not-worktree/storage/perfschema/pfs.cc:2201
#29 0x7fffa3448858 in start_thread /build/glibc-uvws04/glibc-2.27/nptl/pthread_create.c:463