From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 7ECD81FF0AA for ; Tue, 20 Oct 2026 16:59:38 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 7B724216F3; Tue, 20 Oct 2026 16:59:35 +0200 (CEST) From: Maximiliano Sandoval To: Kefu Chai Subject: Re: [PATCH librados2-perl] do not shut down the handle twice if a signal arrives at exit In-Reply-To: <20261020141223.2814127-1-k.chai@proxmox.com> (Kefu Chai's message of "Tue, 20 Oct 2026 22:12:23 +0800") References: <20261020141223.2814127-1-k.chai@proxmox.com> User-Agent: mu4e 1.12.9; emacs 30.1 Date: Tue, 20 Oct 2026 16:59:31 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792508371259 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.777 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: FMZVJHQM4GSDLM6B5EYTIEQPYIU6O62Q X-Message-ID-Hash: FMZVJHQM4GSDLM6B5EYTIEQPYIU6O62Q X-MailFrom: m.sandoval@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: pve-devel@lists.proxmox.com X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Kefu Chai 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 > --- > 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