From: Maximiliano Sandoval <m.sandoval@proxmox.com>
To: Kefu Chai <k.chai@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [PATCH librados2-perl] do not shut down the handle twice if a signal arrives at exit
Date: Tue, 20 Oct 2026 16:59:31 +0200 [thread overview]
Message-ID: <s8o33u0o1t8.fsf@toolbox> (raw)
In-Reply-To: <20261020141223.2814127-1-k.chai@proxmox.com> (Kefu Chai's message of "Tue, 20 Oct 2026 22:12:23 +0800")
Kefu Chai <k.chai@proxmox.com> writes:
> When a pveceph worker finishes, the CLI sends SIGTERM to its process
> group, which includes the pverados child. That child is often already
> shutting down the handle after seeing EOF, so the handler then calls
> rados_shutdown() on the freed handle and the child segfaults.
>
> The handlers outlived the eval anyway, as the 'local' only covered
> $SIG{HUP}. So ignore the signals before shutting down, and install the
> handlers first thing in the child.
>
> Signed-off-by: Kefu Chai <k.chai@proxmox.com>
> ---
> PVE/RADOS.pm | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
> [..]
I ran into this today when trying to create a EC pool and allocating an
image on a freshly installed PVE 9 3-node cluster with the latest
packages via:
pveceph pool create test-ec --erasure-coding k=4,m=2
pvesm alloc test-ec 999 vm-999-disk-0 1G
The pool creation succeeds and the alloc times out, one can see in the
journal:
Oct 20 14:45:33 c3-pve-201 kernel: pverados[2811]: segfault at 3b40 ip 00007d006bd44ba0 sp 00007ffd43e96c28 error 4 in libc.so.6[95ba0,7d006bcd7000+163000] likely on CPU 1 (core 1, socket 0)
Oct 20 14:45:33 c3-pve-201 kernel: Code: 00 e8 64 27 fa ff 48 8d 0d ed 9c 11 00 ba c2 01 00 00 48 8d 35 47 13 11 00 48 8d 3d 55 13 11 00 e8 45 27 fa ff 0f 1f 44 00 00 <8b> 47 10 89 c2 81 e2 7f 01 00 00 83 e0 7c 0f 85 ac 00 00 00 53 48
and the health status will be stuck "Reduced data availability" in.
One thing that would be good to have in the commit message is what
setups were affected and since when, if this is a regression.
--
Maximiliano
next prev parent reply other threads:[~2026-10-20 14:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-20 14:12 [PATCH librados2-perl] do not shut down the handle twice if a signal arrives at exit Kefu Chai
2026-10-20 14:59 ` Maximiliano Sandoval [this message]
2026-10-21 7:47 ` Maximiliano Sandoval
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s8o33u0o1t8.fsf@toolbox \
--to=m.sandoval@proxmox.com \
--cc=k.chai@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.