From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Wingo Subject: bug#31925: 'guix substitutes' sometimes hangs on glibc 2.27 Date: Thu, 05 Jul 2018 16:08:45 +0200 Message-ID: <87zhz5ixle.fsf@igalia.com> References: <87bmc4748n.fsf@gnu.org> <874lhffpnq.fsf@gnu.org> <87tvpfaqfd.fsf@gnu.org> <87efgil5jz.fsf@netris.org> <87lgaqjemj.fsf@igalia.com> <87po01eul3.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57270) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fb4wU-0006WG-HS for bug-guix@gnu.org; Thu, 05 Jul 2018 10:09:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fb4wQ-0000Y2-Cn for bug-guix@gnu.org; Thu, 05 Jul 2018 10:09:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:39997) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fb4wQ-0000XJ-8p for bug-guix@gnu.org; Thu, 05 Jul 2018 10:09:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87po01eul3.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Thu, 05 Jul 2018 14:27:20 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 31925@debbugs.gnu.org On Thu 05 Jul 2018 14:27, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Hello, > > Andy Wingo skribis: > >> The signal thread is a possibility though in that case you'd get a >> warning; the signal-handling thread appears in scm_all_threads. Do you >> see a warning? If you do, that is a problem :) > > I don=E2=80=99t see a warning. > > But as a Guile user, I shouldn=E2=80=99t see a warning just because there= =E2=80=99s a > signal thread anyway; it=E2=80=99s not a thread I spawned myself. I understand but it's how it works. If we want to change this, probably we need a similar interface as we have with finalization. > The weird thing is that the signal thread always exists, and it=E2=80=99s > surprising IMO that it shows up in =E2=80=98scm_all_threads=E2=80=99 beca= use it=E2=80=99s not a > =E2=80=9Cuser thread=E2=80=9D. The other surprise is that the warning is= n=E2=80=99t triggered: > > $ guile > GNU Guile 2.2.4 > Copyright (C) 1995-2017 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> (all-threads) > $1 =3D (# #) > scheme@(guile-user)> (when (zero? (primitive-fork)) (primitive-_exit 0)) > ;; no warning Are you certain that this is the signal-handling thread and not the finalizer thread? I suspect it is the finalizer thread, and that it gets properly shut down before the fork. Regarding seeing the warning: do you do make some other binding for the default warning port in Guix? Andy