Re: segfault in ld-elf.so.1

2024-02-13 Thread Alexander Leidinger

Am 2024-02-13 01:58, schrieb Konstantin Belousov:

On Mon, Feb 12, 2024 at 11:54:02AM +0200, Konstantin Belousov wrote:

On Mon, Feb 12, 2024 at 10:35:56AM +0100, Alexander Leidinger wrote:
> Hi,
>
> dovecot (and no other program I use on this machine... at least not that I
> notice it) segfaults in ld-elf.so.1 after an update from 2024-01-18-092730
> to 2024-02-10-144617 (and now 2024-02-11-212006 in the hope the issue would
> have been fixed by changes to libc/libsys since 2024-02-10-144617). The
> issue shows up when I try to do an IMAP login. A successful authentication
> starts the imap process which immediately segfaults.
>
> I didn't recompile dovecot for the initial update, but I did now to rule
> out a regression in this area (and to get access via imap do my normal mail
> account).
>
>
> Backtrace:
The backtrace looks incomplete.  It might be the case of infinite 
recursion,

but I cannot claim it from the trace.

Does the program segfault if you run it manually?  If yes, please 
provide


No.

me with the tarball of the binary and all required shared libs, 
including

base system libraries, from your machine.


Regardless of my request, you might try the following.  Note that I did
not tested the patch, ensure that you have a way to recover ld-elf.so.1
if something goes wrong.


[inline patch]

This did the trick and I have IMAP access to my emails again. As this 
runs in a jail, it was easy to test without fear to kill something.


I will try the patch in the review next.

Bye,
Alexander.

--
http://www.Leidinger.net alexan...@leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.orgnetch...@freebsd.org  : PGP 0x8F31830F9F2772BF


signature.asc
Description: OpenPGP digital signature


segfault in ld-elf.so.1

2024-02-12 Thread Alexander Leidinger
Hi,

dovecot (and no other program I use on this machine... at least not that I
notice it) segfaults in ld-elf.so.1 after an update from 2024-01-18-092730
to 2024-02-10-144617 (and now 2024-02-11-212006 in the hope the issue would
have been fixed by changes to libc/libsys since 2024-02-10-144617). The
issue shows up when I try to do an IMAP login. A successful authentication
starts the imap process which immediately segfaults.

I didn't recompile dovecot for the initial update, but I did now to rule
out a regression in this area (and to get access via imap do my normal mail
account).


Backtrace:
---snip---
(lldb) target create "/usr/local/libexec/dovecot/imap" --core
"/var/run/dovecot/imap.core"
Core file '/var/run/dovecot/imap.core' (x86_64) was loaded.
* thread #1, name = 'imap', stop reason = signal SIGSEGV
  * frame #0: 0x4d3dfa2a4761 ld-elf.so.1`load_object [inlined]
object_match_name(obj=0x49a47c203408, name="") at rtld.c:5606:6
frame #1: 0x4d3dfa2a4742 ld-elf.so.1`load_object(name="", fd_u=-1,
refobj=0x49a47c228008, flags=0) at rtld.c:2704:10
frame #2: 0x4d3dfa2a3eaa ld-elf.so.1`dlopen_object(name="", fd=-1,
refobj=0x49a47c228008, lo_flags=0, mode=1,
lockstate=0x1ded0f98cb80) at rtld.c:3747:8
frame #3: 0x4d3dfa2a2274 ld-elf.so.1`symlook_obj [inlined]
load_filtee1(obj=, needed=0x49a47c2007c8,
flags=, lockstate=) at rtld.c:2576:16
frame #4: 0x4d3dfa2a2245 ld-elf.so.1`symlook_obj [inlined]
load_filtees(obj=0x49a47c228008, flags=0, lockstate=0x1ded0f98cb80)
at rtld.c:2589:2
frame #5: 0x4d3dfa2a223e
ld-elf.so.1`symlook_obj(req=0x1ded011502e0, obj=0x49a47c228008) at
rtld.c:4735:6
frame #6: 0x4d3dfa2a6992
ld-elf.so.1`symlook_list(req=0x1ded01150368, objlist=,
dlp=0x1ded011504b0) at rtld.c:4637:13
frame #7: 0x4d3dfa2a680b
ld-elf.so.1`symlook_global(req=0x1ded01150470,
donelist=0x1ded011504b0) at rtld.c:4541:8
frame #8: 0x4d3dfa2a6673
ld-elf.so.1`get_program_var_addr(name=,
lockstate=0x1ded0f98cb80) at rtld.c:4483:9
frame #9: 0x4d3dfa2a4374 ld-elf.so.1`dlopen_object [inlined]
distribute_static_tls(list=0x1ded01150988,
lockstate=0x1ded0f98cb80) at rtld.c:5908:6
frame #10: 0x4d3dfa2a4364 ld-elf.so.1`dlopen_object(name="", fd=-1,
refobj=0x49a47c228008, lo_flags=0, mode=1,
lockstate=0x1ded0f98cb80) at rtld.c:3831:6
frame #11: 0x4d3dfa2a2274 ld-elf.so.1`symlook_obj [inlined]
load_filtee1(obj=, needed=0x49a47c2007c8,
flags=, lockstate=) at rtld.c:2576:16
frame #12: 0x4d3dfa2a2245 ld-elf.so.1`symlook_obj [inlined]
load_filtees(obj=0x49a47c228008, flags=0, lockstate=0x1ded0f98cb80)
at rtld.c:2589:2
frame #13: 0x4d3dfa2a223e
ld-elf.so.1`symlook_obj(req=0x1ded01150a80, obj=0x49a47c228008) at
rtld.c:4735:6
frame #14: 0x4d3dfa2a6992
ld-elf.so.1`symlook_list(req=0x1ded01150b08, objlist=,
dlp=0x1ded01150c50) at rtld.c:4637:13
frame #15: 0x4d3dfa2a680b
ld-elf.so.1`symlook_global(req=0x1ded01150c10,
donelist=0x1ded01150c50) at rtld.c:4541:8
frame #16: 0x4d3dfa2a6673
ld-elf.so.1`get_program_var_addr(name=,
lockstate=0x1ded0f98cb80) at rtld.c:4483:9
frame #17: 0x4d3dfa2a4374 ld-elf.so.1`dlopen_object [inlined]
distribute_static_tls(list=0x1ded01151128,
lockstate=0x1ded0f98cb80) at rtld.c:5908:6
frame #18: 0x4d3dfa2a4364 ld-elf.so.1`dlopen_object(name="", fd=-1,
refobj=0x49a47c228008, lo_flags=0, mode=1,
lockstate=0x1ded0f98cb80) at rtld.c:3831:6
frame #19: 0x4d3dfa2a2274 ld-elf.so.1`symlook_obj [inlined]
load_filtee1(obj=, needed=0x49a47c2007c8,
flags=, lockstate=) at rtld.c:2576:16
frame #20: 0x4d3dfa2a2245 ld-elf.so.1`symlook_obj [inlined]
load_filtees(obj=0x49a47c228008, flags=0, lockstate=0x1ded0f98cb80)
at rtld.c:2589:2
frame #21: 0x4d3dfa2a223e
ld-elf.so.1`symlook_obj(req=0x1ded01151220, obj=0x49a47c228008) at
rtldc:4735:6
frame #22: 0x4d3dfa2a6992
ld-elf.so.1`symlook_list(req=0x1ded011512a8, objlist=,
dlp=0x1ded011513f0) at rtld.c:4637:13
frame #23: 0x4d3dfa2a680b
ld-elf.so.1`symlook_global(req=0x1ded011513b0,
donelist=0x1ded011513f0) at rtld.c:4541:8
frame #24: 0x4d3dfa2a6673
ld-elf.so.1`get_program_var_addr(name=,
lockstate=0x1ded0f98cb80) at rtld.c:4483:9
frame #25: 0x4d3dfa2a4374 ld-elf.so.1`dlopen_object [inlined]
distribute_static_tls(list=0x1ded011518c8,
lockstate=0x1ded0f98cb80) at rtld.c:5908:6
frame #26: 0x4d3dfa2a4364 ld-elf.so.1`dlopen_object(name="", fd=-1,
refobj=0x49a47c228008, lo_flags=0, mode=1,
lockstate=0x1ded0f98cb80) at rtld.c:3831:6
frame #27: 0x4d3dfa2a2274 ld-elf.so.1`symlook_obj [inlined]
load_filtee1(obj=, needed=0x49a47c2007c8,
flags=, lockstate=) at rtld.c:2576:16
frame #28: 0x4d3dfa2a2245 ld-elf.so.1`symlook_obj [inlined]
load_filtees(obj=0x49a47c228008, flags=0,