Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.6, 10.11, 11.4, 11.8, 12.3
-
None
Description
CREATE TABLE t (a CHAR(255)) CHARACTER SET utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci; |
INSERT INTO t (a) VALUES ('foo'),(NULL); |
SET NAMES utf8mb4; |
SELECT IFNULL(a, (ExtractValue('<cases><case/></cases>','/cases/case')) ) AS x FROM t GROUP BY x WITH ROLLUP; |
|
|
DROP TABLE t; |
|
10.11 4c9ff3c1bec8d652f9ec822ee3831d918948a224 |
mariadbd: /data/bld/10.11-asan/strings/strings_def.h:84: skip_trailing_space: Assertion `ptr' failed.
|
250416 16:25:27 [ERROR] /share8t/bld/10.11-asan/sql/mariadbd got signal 6 ;
|
|
|
#9 0x00007fc02da53eb2 in __GI___assert_fail (assertion=0x55aeb087fc20 "ptr", file=0x55aeb087fbc0 "/data/bld/10.11-asan/strings/strings_def.h", line=84, function=0x55aeb0880040 <__PRETTY_FUNCTION__.4> "skip_trailing_space") at ./assert/assert.c:101
|
#10 0x000055aeaf454799 in skip_trailing_space (ptr=0x0, len=0) at /data/bld/10.11-asan/strings/strings_def.h:84
|
#11 0x000055aeaf4594fb in my_lengthsp_8bit (cs=0x6210000138b0, ptr=0x0, length=0) at /data/bld/10.11-asan/strings/ctype-simple.c:1226
|
#12 0x000055aeaf46306c in my_ci_lengthsp (cs=0x6210000138b0, str=0x0, length=0) at /data/bld/10.11-asan/include/m_ctype.h:1148
|
#13 0x000055aeaf4858c4 in my_uca_strnxfrm_utf8mb4 (cs=0x6210000138b0, dst=0x628000004521 '\276' <repeats 200 times>..., dstlen=1024, nweights=33554432, src=0x0, srclen=0, flags=192) at /data/bld/10.11-asan/strings/ctype-uca.inl:871
|
#14 0x000055aeadddcb47 in charset_info_st::strnxfrm (this=0x6210000138b0, dst=0x628000004521 '\276' <repeats 200 times>..., dstlen=1024, nweights=33554432, src=0x0, srclen=0, flags=192) at /data/bld/10.11-asan/include/m_ctype.h:1040
|
#15 0x000055aeade0100d in Type_handler_string_result::make_sort_key_part (this=0x55aeb1e2c740 <type_handler_long_blob>, to=0x628000004521 '\276' <repeats 200 times>..., item=0x62d00005b088, sort_field=0x62d00005fee0, tmp_buffer=0x7fc0242c16d8) at /data/bld/10.11-asan/sql/filesort.cc:1165
|
#16 0x000055aeade0dc7c in make_sortkey (param=0x7fc0242c1660, to=0x628000004520 "\001", '\276' <repeats 199 times>...) at /data/bld/10.11-asan/sql/filesort.cc:3050
|
#17 0x000055aeade028fb in make_sortkey (param=0x7fc0242c1660, to=0x628000004520 "\001", '\276' <repeats 199 times>..., ref_pos=0x625000238aa0 "", using_packed_sortkeys=false) at /data/bld/10.11-asan/sql/filesort.cc:1371
|
#18 0x000055aeaddffe10 in find_all_keys (thd=0x62c0000b0218, param=0x7fc0242c1660, select=0x62d00005f310, fs_info=0x615000011880, buffpek_pointers=0x7fc0242c1910, tempfile=0x7fc0242c1760, pq=0x0, found_rows=0x615000011a70) at /data/bld/10.11-asan/sql/filesort.cc:986
|
#19 0x000055aeaddfad1f in filesort (thd=0x62c0000b0218, table=0x619000059b98, filesort=0x62d00005f698, tracker=0x62d00005fe30, join=0x62d00005c408, first_table_bit=1) at /data/bld/10.11-asan/sql/filesort.cc:356
|
#20 0x000055aead6d0120 in create_sort_index (thd=0x62c0000b0218, join=0x62d00005c408, tab=0x62d00005e5a8, fsort=0x62d00005f698) at /data/bld/10.11-asan/sql/sql_select.cc:26545
|
#21 0x000055aead6be279 in st_join_table::sort_table (this=0x62d00005e5a8) at /data/bld/10.11-asan/sql/sql_select.cc:24054
|
#22 0x000055aead6bd846 in join_init_read_record (tab=0x62d00005e5a8) at /data/bld/10.11-asan/sql/sql_select.cc:23993
|
#23 0x000055aead6b6d04 in sub_select (join=0x62d00005c408, join_tab=0x62d00005e5a8, end_of_records=false) at /data/bld/10.11-asan/sql/sql_select.cc:23001
|
#24 0x000055aead6b4c76 in do_select (join=0x62d00005c408, procedure=0x0) at /data/bld/10.11-asan/sql/sql_select.cc:22527
|
#25 0x000055aead637ae4 in JOIN::exec_inner (this=0x62d00005c408) at /data/bld/10.11-asan/sql/sql_select.cc:4974
|
#26 0x000055aead634f9c in JOIN::exec (this=0x62d00005c408) at /data/bld/10.11-asan/sql/sql_select.cc:4752
|
#27 0x000055aead639437 in mysql_select (thd=0x62c0000b0218, tables=0x62d00005b1d8, fields=..., conds=0x0, og_num=1, order=0x0, group=0x62d00005ba40, having=0x0, proc_param=0x0, select_options=2164525824, result=0x62d00005c3d8, unit=0x62c0000b46d8, select_lex=0x62d00005a580) at /data/bld/10.11-asan/sql/sql_select.cc:5232
|
#28 0x000055aead607df2 in handle_select (thd=0x62c0000b0218, lex=0x62c0000b4600, result=0x62d00005c3d8, setup_tables_done_option=0) at /data/bld/10.11-asan/sql/sql_select.cc:600
|
#29 0x000055aead52b9b8 in execute_sqlcom_select (thd=0x62c0000b0218, all_tables=0x62d00005b1d8) at /data/bld/10.11-asan/sql/sql_parse.cc:6426
|
#30 0x000055aead5199af in mysql_execute_command (thd=0x62c0000b0218, is_called_from_prepared_stmt=false) at /data/bld/10.11-asan/sql/sql_parse.cc:4012
|
#31 0x000055aead5362d6 in mysql_parse (thd=0x62c0000b0218, rawbuf=0x62d00005a438 "SELECT IFNULL(a, (ExtractValue('<cases><case/></cases>','/cases/case')) ) AS x FROM t GROUP BY x WITH ROLLUP", length=108, parser_state=0x7fc0242c3a80) at /data/bld/10.11-asan/sql/sql_parse.cc:8188
|
#32 0x000055aead50b90e in dispatch_command (command=COM_QUERY, thd=0x62c0000b0218, packet=0x62900024e219 "", packet_length=108, blocking=true) at /data/bld/10.11-asan/sql/sql_parse.cc:1905
|
#33 0x000055aead50863b in do_command (thd=0x62c0000b0218, blocking=true) at /data/bld/10.11-asan/sql/sql_parse.cc:1418
|
#34 0x000055aead9d40d7 in do_handle_one_connection (connect=0x608000003b38, put_in_cache=true) at /data/bld/10.11-asan/sql/sql_connect.cc:1386
|
#35 0x000055aead9d3c36 in handle_one_connection (arg=0x608000003ab8) at /data/bld/10.11-asan/sql/sql_connect.cc:1298
|
#36 0x000055aeae604d8c in pfs_spawn_thread (arg=0x617000005b98) at /data/bld/10.11-asan/storage/perfschema/pfs.cc:2201
|
#37 0x00007fc02daa81c4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
|
#38 0x00007fc02db2885c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
|
The assertion itself came to 10.11 with this merge
commit ab0f2a00b643e2a3a242cb3567d6c03080e3785e
|
Merge: ba81009f635 191209d8abe
|
Author: Marko Mäkelä
|
Date: Thu Mar 27 08:01:47 2025 +0200
|
|
|
Merge 10.6 into 10.11
|
specifically this commit
commit 583b39811ce823abf9f6fe533bdee6aacde3e357
|
Author: Alexander Barkov
|
Date: Mon Feb 3 15:00:35 2025 +0400
|
|
|
MDEV-35620 UBSAN: runtime error: applying zero offset to null pointer
|
in _ma_unique_hash, skip_trailing_space, my_hash_sort_mb_nopad_bin and my_strnncollsp_utf8mb4_bin
|
but since there are no UCA collations in 10.5-10.6, and at least the test case above requires it, it's not applicable to 10.5-10.6.
I don't see any obvious immediate problem on a non-debug build, nor on a debug build before the addition of the assertion.
Update:
Test case for all versions, including 10.6:
CREATE TABLE t (a INT, b CHAR(8), c CHAR(8)) |
CHARACTER SET utf8mb4 COLLATE utf8mb4_estonian_ci; |
INSERT INTO t () VALUES (0,'',''),(0,'',''); |
SELECT * FROM t ORDER BY IFNULL(EXPORT_SET(a, 0, b, c), 1); |
|
|
DROP TABLE t; |
|
10.6 bedacb3eeb94a04e35633580f8423c010338bc34 |
mariadbd: /data/bld/10.6-asan-ubsan/strings/strings_def.h:84: skip_trailing_space: Assertion `ptr' failed.
|
260506 20:32:46 [ERROR] /share8t/bld/10.6-asan-ubsan/sql/mariadbd got signal 6 ;
|
|
|
#9 0x00007f36e2245395 in __assert_fail_base (fmt=0x7f36e23b9a90 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x557f6772c660 "ptr", file=file@entry=0x557f6772c600 "/data/bld/10.6-asan-ubsan/strings/strings_def.h", line=line@entry=84, function=function@entry=0x557f6772c7c0 <__PRETTY_FUNCTION__.2> "skip_trailing_space") at ./assert/assert.c:92
|
#10 0x00007f36e2253eb2 in __GI___assert_fail (assertion=assertion@entry=0x557f6772c660 "ptr", file=file@entry=0x557f6772c600 "/data/bld/10.6-asan-ubsan/strings/strings_def.h", line=line@entry=84, function=function@entry=0x557f6772c7c0 <__PRETTY_FUNCTION__.2> "skip_trailing_space") at ./assert/assert.c:101
|
#11 0x0000557f669a6205 in skip_trailing_space (ptr=ptr@entry=0x0, len=0) at /data/bld/10.6-asan-ubsan/strings/strings_def.h:84
|
#12 0x0000557f669a6401 in my_lengthsp_8bit (cs=<optimized out>, ptr=0x0, length=<optimized out>) at /data/bld/10.6-asan-ubsan/strings/ctype-simple.c:1228
|
#13 0x0000557f669c1409 in my_ci_lengthsp (length=0, str=0x0, cs=0x557f6f480000 <my_charset_utf8mb4_estonian_uca_ci>) at /data/bld/10.6-asan-ubsan/include/m_ctype.h:1006
|
#14 my_uca_strnxfrm_no_contractions_utf8mb4 (cs=0x557f6f480000 <my_charset_utf8mb4_estonian_uca_ci>, dst=0x628000010118 '\276' <repeats 200 times>..., dstlen=<optimized out>, nweights=8128, src=0x0, srclen=0, flags=192) at /data/bld/10.6-asan-ubsan/strings/ctype-uca.inl:766
|
#15 0x0000557f646ab564 in charset_info_st::strnxfrm (flags=192, srclen=0, src=0x0, nweights=8128, dstlen=1024, dst=0x628000010118 '\276' <repeats 200 times>..., this=0x557f6f480000 <my_charset_utf8mb4_estonian_uca_ci>) at /data/bld/10.6-asan-ubsan/include/m_ctype.h:907
|
#16 Type_handler_string_result::make_sort_key_part (this=<optimized out>, to=0x628000010118 '\276' <repeats 200 times>..., item=<optimized out>, sort_field=0x62d00005f4b0, tmp_buffer=<optimized out>) at /data/bld/10.6-asan-ubsan/sql/filesort.cc:1177
|
#17 0x0000557f646b4e7e in make_sortkey (param=0x7f36d772d8e0, to=to@entry=0x628000010118 '\276' <repeats 200 times>...) at /data/bld/10.6-asan-ubsan/sql/filesort.cc:3062
|
#18 0x0000557f646b5649 in make_sortkey (param=param@entry=0x7f36d772d8e0, to=to@entry=0x628000010118 '\276' <repeats 200 times>..., ref_pos=ref_pos@entry=0x625000235d00 "", using_packed_sortkeys=using_packed_sortkeys@entry=false) at /data/bld/10.6-asan-ubsan/sql/filesort.cc:1383
|
#19 0x0000557f646bf20e in find_all_keys (thd=thd@entry=0x62b00007e218, param=param@entry=0x7f36d772d8e0, select=select@entry=0x62d00005eaa0, fs_info=fs_info@entry=0x615000011880, buffpek_pointers=buffpek_pointers@entry=0x7f36d772db90, tempfile=tempfile@entry=0x7f36d772d9e0, pq=<optimized out>, found_rows=<optimized out>) at /data/bld/10.6-asan-ubsan/sql/filesort.cc:998
|
#20 0x0000557f646c256b in filesort (thd=thd@entry=0x62b00007e218, table=table@entry=0x619000059698, filesort=filesort@entry=0x62d00005ec78, tracker=<optimized out>, join=join@entry=0x62d00005c478, first_table_bit=first_table_bit@entry=1) at /data/bld/10.6-asan-ubsan/sql/filesort.cc:356
|
#21 0x0000557f636d9db1 in create_sort_index (thd=<optimized out>, join=join@entry=0x62d00005c478, tab=tab@entry=0x62d00005dd50, fsort=0x62d00005ec78, fsort@entry=0x0) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:25940
|
#22 0x0000557f636da96c in st_join_table::sort_table (this=this@entry=0x62d00005dd50) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:23449
|
#23 0x0000557f636db04d in join_init_read_record (tab=0x62d00005dd50) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:23388
|
#24 0x0000557f6368d0d8 in sub_select (join=<optimized out>, join_tab=<optimized out>, end_of_records=<optimized out>) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:22396
|
#25 0x0000557f637348b6 in do_select (join=join@entry=0x62d00005c478, procedure=<optimized out>) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:21922
|
#26 0x0000557f637eeb22 in JOIN::exec_inner (this=this@entry=0x62d00005c478) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:4939
|
#27 0x0000557f637ef254 in JOIN::exec (this=this@entry=0x62d00005c478) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:4717
|
#28 0x0000557f637e5be2 in mysql_select (thd=thd@entry=0x62b00007e218, tables=<optimized out>, fields=..., conds=conds@entry=0x0, og_num=og_num@entry=1, order=order@entry=0x62d00005c2c8, 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 /data/bld/10.6-asan-ubsan/sql/sql_select.cc:5196
|
#29 0x0000557f637e6dcc in handle_select (thd=thd@entry=0x62b00007e218, lex=lex@entry=0x62b000082538, result=result@entry=0x62d00005c448, setup_tables_done_option=setup_tables_done_option@entry=0) at /data/bld/10.6-asan-ubsan/sql/sql_select.cc:573
|
#30 0x0000557f634ddf84 in execute_sqlcom_select (thd=thd@entry=0x62b00007e218, all_tables=<optimized out>) at /data/bld/10.6-asan-ubsan/sql/sql_parse.cc:6421
|
#31 0x0000557f635219dc in mysql_execute_command (thd=thd@entry=0x62b00007e218, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/bld/10.6-asan-ubsan/sql/sql_parse.cc:4012
|
#32 0x0000557f6354392d in mysql_parse (thd=thd@entry=0x62b00007e218, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x7f36d772fac0) at /data/bld/10.6-asan-ubsan/sql/sql_parse.cc:8199
|
#33 0x0000557f6354cbef in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x62b00007e218, packet=packet@entry=0x62900024e219 "", packet_length=packet_length@entry=58, blocking=blocking@entry=true) at /data/bld/10.6-asan-ubsan/sql/sql_parse.cc:1911
|
#34 0x0000557f635592b2 in do_command (thd=thd@entry=0x62b00007e218, blocking=blocking@entry=true) at /data/bld/10.6-asan-ubsan/sql/sql_parse.cc:1421
|
#35 0x0000557f63cd4cfc in do_handle_one_connection (connect=<optimized out>, connect@entry=0x608000002f38, put_in_cache=put_in_cache@entry=true) at /data/bld/10.6-asan-ubsan/sql/sql_connect.cc:1386
|
#36 0x0000557f63cd5e59 in handle_one_connection (arg=0x608000002f38) at /data/bld/10.6-asan-ubsan/sql/sql_connect.cc:1298
|
#37 0x0000557f656b828b in pfs_spawn_thread (arg=0x617000005f18) at /data/bld/10.6-asan-ubsan/storage/perfschema/pfs.cc:2201
|
#38 0x00007f36e22a81c4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
|
#39 0x00007f36e232885c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
|
Attachments
Issue Links
- relates to
-
MDEV-35620 UBSAN: runtime error: applying zero offset to null pointer in _ma_unique_hash, skip_trailing_space, my_hash_sort_mb_nopad_bin and my_strnncollsp_utf8mb4_bin
-
- Closed
-