BIND 9.18 (and up) uses jemalloc as an allocator and samba DLZ module backtrace shows free() from libc - perhaps a chunk of memory was allocated by jemalloc and it is being freed by libc? -- Ondřej Surý (He/Him)
> On 30. 6. 2024, at 14:15, Michael Saxl <m...@mwsys.mine.bz> wrote: > > Dear Maintainer, > > here a stacktrace with debug symbols > #0 __pthread_kill_implementation (threadid=<optimized out>, > signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 > #1 0x00007f67b8cf4b6f in __pthread_kill_internal (signo=6, > threadid=<optimized out>) at ./nptl/pthread_kill.c:78 > #2 0x00007f67b8ca64e2 in __GI_raise (sig=sig@entry=6) at > ../sysdeps/posix/raise.c:26 > #3 0x00007f67b8c8f4ed in __GI_abort () at ./stdlib/abort.c:79 > #4 0x00007f67b8c90395 in __libc_message (fmt=fmt@entry=0x7f67b8e0455e > "%s\n") at ../sysdeps/posix/libc_fatal.c:150 > #5 0x00007f67b8cfe455 in malloc_printerr (str=str@entry=0x7f67b8e0202b > "free(): invalid pointer") at ./malloc/malloc.c:5765 > #6 0x00007f67b8d005b4 in _int_free (av=0x7f67b8e3fac0 <main_arena>, > p=<optimized out>, have_lock=have_lock@entry=0) at ./malloc/malloc.c:4500 > #7 0x00007f67b8d02e2f in __GI___libc_free (mem=<optimized out>) at > ./malloc/malloc.c:3391 > #8 0x00007f67b3197155 in schema_metadata_get_uint64 (key=0x7f67b3198dcb > "SCHEMA_SEQ_NUM", default_value=0, value=<synthetic pointer>, > data=0x7f67b5973740) > at source4/dsdb/samdb/ldb_modules/schema_load.c:187 > #9 dsdb_schema_refresh (module=module@entry=0x7f67b5974fa0, ev=<optimized > out>, schema=schema@entry=0x0, is_global_schema=is_global_schema@entry=true) > at source4/dsdb/samdb/ldb_modules/schema_load.c:246 > #10 0x00007f67b41e082b in dsdb_get_schema (ldb=0x7f67b6089120, > reference_ctx=0x7f67b6035f00) at source4/dsdb/schema/schema_set.c:896 > #11 0x00007f67b3196d5c in schema_load (need_write=0x7f67b597376c, > module=<optimized out>, ldb=0x7f67b6089120) at > source4/dsdb/samdb/ldb_modules/schema_load.c:443 > #12 schema_load_init (module=<optimized out>) at > source4/dsdb/samdb/ldb_modules/schema_load.c:489 > #13 0x00007f67b5aa42c2 in ldb_module_init_chain () from > /lib/x86_64-linux-gnu/libldb.so.2 > #14 0x00007f67b5aa42c2 in ldb_module_init_chain () from > /lib/x86_64-linux-gnu/libldb.so.2 > #15 0x00007f67b31f2dd4 in rootdse_init (module=0x7f67b59750e0) at > source4/dsdb/samdb/ldb_modules/rootdse.c:1013 > #16 0x00007f67b5aa42c2 in ldb_module_init_chain () from > /lib/x86_64-linux-gnu/libldb.so.2 > #17 0x00007f67b31c6f13 in samba_dsdb_init (module=0x7f67b5972520) at > source4/dsdb/samdb/ldb_modules/samba_dsdb.c:491 > #18 0x00007f67b5aa42c2 in ldb_module_init_chain () from > /lib/x86_64-linux-gnu/libldb.so.2 > #19 0x00007f67b5aa43ac in ldb_load_modules () from > /lib/x86_64-linux-gnu/libldb.so.2 > #20 0x00007f67b5aa32be in ldb_connect () from > /lib/x86_64-linux-gnu/libldb.so.2 > #21 0x00007f67b41db435 in samba_ldb_connect (ldb=ldb@entry=0x7f67b6089120, > lp_ctx=lp_ctx@entry=0x7f67b601fee0, url=url@entry=0x7f67b5971ee0 > "/var/lib/samba/bind-dns/dns/sam.ldb", flags=flags@entry=64) > at lib/ldb-samba/ldb_wrap.c:230 > #22 0x00007f67b57b6678 in samdb_connect_url > (mem_ctx=mem_ctx@entry=0x7f67b6077440, ev_ctx=0x7f67b60b18e0, > lp_ctx=0x7f67b601fee0, session_info=0x7f67b61fa2a0, flags=64, flags@entry=0, > url=url@entry=0x7f67b5971ee0 "/var/lib/samba/bind-dns/dns/sam.ldb", > remote_address=0x0, ldb_ret=0x7f67b6077450, errstring=0x7fff80e93910) at > source4/dsdb/samdb/samdb.c:96 > #23 0x00007f67b8318a6e in dlz_create (dlzname=<optimized out>, argc=1, > argv=0x7f67b60de368, dbdata=0x7f67b6076d08) at > source4/dns_server/dlz_bind9.c:741 > #24 0x0000556c07199126 in ?? () > #25 0x00007f67b974d49a in ?? () from > /lib/x86_64-linux-gnu/libdns-9.19.25-185-g392e7199df2-1-Debian.so > #26 0x00007f67b9659105 in dns_dlzcreate () from > /lib/x86_64-linux-gnu/libdns-9.19.25-185-g392e7199df2-1-Debian.so > #27 0x0000556c071acf07 in ?? () > #28 0x0000556c071bd88f in ?? () > #29 0x0000556c071beb81 in ?? () > #30 0x00007f67b9dad537 in isc.async_cb () from > /lib/x86_64-linux-gnu/libisc-9.19.25-185-g392e7199df2-1-Debian.so > #31 0x00007f67b9977d33 in ?? () from /lib/x86_64-linux-gnu/libuv.so.1 > #32 0x00007f67b998ba72 in ?? () from /lib/x86_64-linux-gnu/libuv.so.1 > #33 0x00007f67b99789f8 in uv_run () from /lib/x86_64-linux-gnu/libuv.so.1 > #34 0x00007f67b9dc0850 in ?? () from > /lib/x86_64-linux-gnu/libisc-9.19.25-185-g392e7199df2-1-Debian.so > #35 0x0000556c0718e97a in main () > > > source4/dsdb/samdb/ldb_modules/schema_load.c:187 is > SAFE_FREE(tdb_data.dptr); > > setting breakpoints does not show any signs why that free should not work, > even more why this does not happen with older bind9 >