Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
Re: mariadbd: backwards memcpy
To:
Andrew Hewus Fresh <andrew@afresh1.com>, ports@openbsd.org
Date:
Sun, 20 Sep 2026 17:32:20 -0400

Download raw body.

Thread
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.