From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] Gracefully handle incompatible locale data Date: Sat, 26 Sep 2015 12:24:56 +0200 Message-ID: <87h9mh5vgn.fsf@gnu.org> References: <876132lbic.fsf@gnu.org> <20150922191804.GA13637@domone> <877fnijgin.fsf@gnu.org> <20150922215022.GA27201@domone> <8737y4hkrz.fsf@gnu.org> <20150924082755.GA4767@domone> <87h9mjeqyy.fsf@gnu.org> <5605BA8D.40907@redhat.com> 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]:60007) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfmfC-0004Gt-At for guix-devel@gnu.org; Sat, 26 Sep 2015 06:25:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZfmfB-0002wl-8o for guix-devel@gnu.org; Sat, 26 Sep 2015 06:25:06 -0400 In-Reply-To: <5605BA8D.40907@redhat.com> (Carlos O'Donell's message of "Fri, 25 Sep 2015 17:20:13 -0400") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Carlos O'Donell Cc: guix-devel@gnu.org, =?utf-8?B?T25kxZllaiBCw61sa2E=?= , libc-alpha@sourceware.org, Roland McGrath "Carlos O'Donell" skribis: > Despite Roland saying "LGTM", I think this is not a good change. > > Firstly, it's not the community consensus as Ondrej is pointing out. > > https://sourceware.org/glibc/wiki/Style_and_Conventions#Error_Handling =E2=80=9CAssertions are for internal consistency checking only.=E2=80=9D I= would argue that what this patch changes is not an internal consistency check. Furthermore, the function in question returns EINVAL in other similar cases=E2=80=93e.g., when libc 2.22 loads LC_COLLATE data from libc 2.21. So it is not clear to me that the patch would be a violation of these rules. WDYT? > It is a fundamental system misconfiguration issue not to have upgraded > the binary locale data from one release to another. I would not call it =E2=80=9Cmisconfiguration.=E2=80=9D With GNU Guix, unp= rivileged users can install packages in their =E2=80=9Cprofile=E2=80=9D and they are = free to choose whether and when to upgrade those packages. Consequently, they might be using a libc version different from the one the system administrator used to build the system-wide locale data. Currently, the assertion failure greatly penalizes this use case: https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00717.html Returning EINVAL instead of aborting would make things easier. But it=E2=80=99s not perfect. IMO, a discussion on improving the coexisten= ce of different libc/locale versions on the same system is in order. But it=E2= =80=99s beyond the scope of this two-line patch. Thanks, Ludo=E2=80=99.