Download raw body.
mariadbd: backwards memcpy
On 2026-09-19 3:30 p.m., Stuart Henderson wrote:
> On 2026/09/19 10:40, Andrew Hewus Fresh wrote:
>> With the fixed mariadb.port.mk, I was trying to run
>> p5-DBIx-Class-Schema-Loader. However, it is getting a SIGABORT and I
>> see "mariadbd: backwards memcpy" in /var/log/messages.
> Thread 15 "one_connection" received signal SIGABRT, Aborted.
> [Switching to thread 317856 of process 30711]
> thrkill () at /tmp/-:2
> ⚠️ warning: 2 /tmp/-: No such file or directory
> (gdb) bt
> #0 thrkill () at /tmp/-:2
> #1 0x96c612b201c0d9ee in ?? ()
> #2 0x000007589fbfa73b in _libc_abort ()
> at /usr/src/lib/libc/stdlib/abort.c:51
> #3 0x000007589fbd69f7 in memcpy (dst0=<optimized out>,
> src0=<optimized out>, length=<optimized out>)
> at /usr/src/lib/libc/string/memcpy.c:74
> #4 0x000007589fc19c46 in __sfvwrite (fp=0x75853d385a8,
> uio=0x75853d38550)
> at /usr/src/lib/libc/stdio/fvwrite.c:128
> #5 0x000007589fbc5c1a in __sprint (fp=0x75853d385a8,
> uio=<optimized out>)
> at /usr/src/lib/libc/stdio/vfprintf.c:112
> #6 __vfprintf (fp=0x75853d385a8,
> fmt0=0x755b36d0123 "%s\377%s", ap=0x75853d38810)
> at /usr/src/lib/libc/stdio/vfprintf.c:1071
> #7 0x000007589fc1ef04 in _libc_snprintf (
> str=0x7589fbc7c3b <thrkill+27> "s\017d\211\004% ",
> n=<optimized out>, fmt=0x755b36d0123 "%s\377%s")
> at /usr/src/lib/libc/stdio/snprintf.c:59
> #8 0x00000755b4529f4f in dict_table_rename_in_cache (
> table=0x757f4026378, new_name=...,
> replace_new_file=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/storage/innobase/dict/dict0dict.cc:1631
> #9 0x00000755b46835e5 in row_rename_table_for_mysql (
> old_name=0x75853d391c0 "dbix_class_schema_loader_test/#sql-alter-77f7-9-1",
> new_name=0x75853d38dc0 "dbix_class_schema_loader_test/load--Type <RET> for more, q to quit, c to continue without paging--c
> er_test6", trx=0x75868c6d5c0, fk=RENAME_ALTER_COPY)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/storage/innobase/row/row0mysql.cc:2720
> #10 0x00000755b44fb536 in innobase_rename_table (
> trx=0x75868c6d5c0,
> from=0x75853d39fd0 "./dbix_class_schema_loader_test/#sql-alter-77f7-9-1", to=<optimized out>, fk=RENAME_ALTER_COPY)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/storage/innobase/handler/ha_innodb.cc:13780
> #11 0x00000755b44fba20 in ha_innobase::rename_table (
> this=<optimized out>,
> from=0x75853d39fd0 "./dbix_class_schema_loader_test/#sql-alter-77f7-9-1",
> to=0x75853d3a1d0 "./dbix_class_schema_loader_test/loader_test6")
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/storage/innobase/handler/ha_innodb.cc:14219
> #12 0x00000755b41ec6d7 in mysql_rename_table (
> base=<optimized out>, old_db=0x75853d3be38,
> old_name=0x75853d3be68, new_db=0x75853d3be38,
> new_name=0x75853d3be58, id=0x75853d3be88, flags=21)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_table.cc:5661
> #13 0x00000755b41f3b64 in mysql_alter_table (
> thd=0x7580c501020, new_db=<optimized out>,
> new_name=<optimized out>, create_info=0x75853d3cd60,
> table_list=0x75886cd9250, recreate_info=0x75853d3d140,
> alter_info=0x75853d3cfc8, order_num=0, order=0x0,
> ignore=<optimized out>, if_exists=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_table.cc:12290
> #14 0x00000755b4286bb7 in Sql_cmd_alter_table::execute (
> this=<optimized out>, thd=0x7580c501020)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_alter.cc:705
> #15 0x00000755b4119f90 in mysql_execute_command (
> thd=0x7580c501020,
> is_called_from_prepared_stmt=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_parse.cc:5895
> #16 0x00000755b4113ea1 in mysql_parse (thd=0x7580c501020,
> rawbuf=<optimized out>, length=<optimized out>,
> parser_state=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_parse.cc:7932
> #17 0x00000755b41125dd in dispatch_command (
> command=COM_QUERY, thd=0x7580c501020,
> packet=<optimized out>, packet_length=123,
> blocking=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_parse.cc:1903
> #18 0x00000755b4114386 in do_command (thd=0x7580c501020,
> blocking=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_parse.cc:1437
> #19 0x00000755b427ec2d in do_handle_one_connection (
> connect=<optimized out>, put_in_cache=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_connect.cc:1514
> #20 0x00000755b427ea55 in handle_one_connection (
> arg=0x7588ad216b0)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/sql/sql_connect.cc:1426
> #21 0x00000755b4440b82 in pfs_spawn_thread (
> arg=0x7586bb39320)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/storage/perfschema/pfs.cc:2198
> #22 0x000007589e168c52 in _rthread_start (v=0x0)
> at /usr/src/lib/librthread/rthread.c:99
> #23 0x000007589fbfd82a in __tfork_thread ()
> at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87
> (gdb) frame 8
> #8 0x00000755b4529f4f in dict_table_rename_in_cache (
> table=0x757f4026378, new_name=...,
> replace_new_file=<optimized out>)
> at /usr/obj/ports/mariadb-12.3.3/mariadb-12.3.3/storage/innobase/dict/dict0dict.cc:1631
> 1631 snprintf(id, fklen, "%s\377%s", table->name.m_name, sql_id);
> (gdb) list
> 1626 id = static_cast<char*>(
> 1627 mem_heap_alloc(foreign->heap, fklen));
> 1628 }
> 1629 table->foreign_set.erase(it);
> 1630 foreign->id = id;
> 1631 snprintf(id, fklen, "%s\377%s", table->name.m_name, sql_id);
> 1632 fk_set.insert(foreign);
> 1633
> 1634 if (foreign->referenced_table) {
> 1635 foreign->referenced_table->referenced_set.insert(foreign);
> (gdb) p id
> $1 = 0x7589c9580f8 "dbix_class_schema_loader_test/loader_test6\377f7-9-1\377loader_test6_to_7_fk"
> (gdb) p table->name.m_name
> $2 = 0x758396764c8 "dbix_class_schema_loader_test/loader_test6"
> (gdb) p fklen
> $3 = 64
> (gdb) p sql_id
> $4 = 0x7589c95812a "loader_test6_to_7_fk"
>
> $ moo
> 0x7589c9580f8 + 64
> 0x7589c958138
> 8077165560120
Thanks. I opened a bug report upstream. Lets see what they say.
mariadbd: backwards memcpy