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
> 

Reply via email to