From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.bugs Subject: bug#69709: `sort` interface improvement and universal ordering predicate Date: Sun, 14 Apr 2024 18:33:32 +0200 Message-ID: <2E51964E-D186-4996-ACD7-B6D2051E6DB1@gmail.com> References: <86cyqrnc6a.fsf@gnu.org> Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19657"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 69709@debbugs.gnu.org, Aris Spathis To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Apr 14 18:34:18 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rw2o6-0004uq-DP for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 14 Apr 2024 18:34:18 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rw2nk-0006Y9-Nq; Sun, 14 Apr 2024 12:33:56 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rw2nh-0006XV-El for bug-gnu-emacs@gnu.org; Sun, 14 Apr 2024 12:33:53 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rw2ng-00084X-W4 for bug-gnu-emacs@gnu.org; Sun, 14 Apr 2024 12:33:53 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rw2ns-0004Ko-1O for bug-gnu-emacs@gnu.org; Sun, 14 Apr 2024 12:34:04 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 14 Apr 2024 16:34:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69709 X-GNU-PR-Package: emacs Original-Received: via spool by 69709-submit@debbugs.gnu.org id=B69709.171311243816575 (code B ref 69709); Sun, 14 Apr 2024 16:34:03 +0000 Original-Received: (at 69709) by debbugs.gnu.org; 14 Apr 2024 16:33:58 +0000 Original-Received: from localhost ([127.0.0.1]:36062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rw2ni-0004IY-8W for submit@debbugs.gnu.org; Sun, 14 Apr 2024 12:33:58 -0400 Original-Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]:44319) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rw2nf-0004HA-FX for 69709@debbugs.gnu.org; Sun, 14 Apr 2024 12:33:52 -0400 Original-Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-516d3776334so3088501e87.1 for <69709@debbugs.gnu.org>; Sun, 14 Apr 2024 09:33:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713112414; x=1713717214; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=QPkJIrc9NeSAkPLr8ONCIN5UlQ0deiWKSzSWkWv3f2M=; b=ZQ1dBrzMetb92Tnp4w8qQVMq/4tY3ES+BIb4YUTd10/5p1XXlcEmZYxMqEygyu2+pb BPJADyD7e/59w0PEFfWXFzxtPDPStX0pYQwSqayiXV274CQiYYOVEixDIl6nDaiIk46z UVULq60IiIPtGb2OpCTvit3sitKz6PXlXBSNLdzfr86ZfnqXMucS15L6XiGOBfGLnz7i /ZBpeQlLoeDxPYuU9GY/EZXNANk5mOjKp3rg1qN1BEGkjb/S4jDTrnGf2CWZhb1CAJan FhknZUWmeiWhyuWB8QW7Gt2GLXi14FcptQG5o6FUNbnwnymuxf1ib0CuJxdooHPl/Wiq Qn1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713112414; x=1713717214; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=QPkJIrc9NeSAkPLr8ONCIN5UlQ0deiWKSzSWkWv3f2M=; b=TfORBoPueVUu30TIfp5eWj0kkOezj2btB9oRFXVLm05kzzZuKdbhdHWrMD6+N+4eND XidyFNFsnJ08X+G3+cxKQ9ic8E7M9Y2ce3BOa2d7mx3dQdC2hTfjxxAwL9flPx7oAkjx ERFAaiYDFW6JfsC7mye8wvRyF7B3Q7vP1cCHeXUbChfAFfqpZKK9xihpW9QP/jpdkVF3 8je9+gD8t2XTgcftrTn46Q4nGnSOPzp4VelpZket2uHwj1cHb3pajkhMo4v9kUim+SaZ 6WCYQwsXF3YN4lz+HYe4tLuhO8w7V+nqKhCPwf5W+3wBCB9doCPGJM+x72eCRh9D8Taj XA3g== X-Forwarded-Encrypted: i=1; AJvYcCVJqq3NB2DZF4Ln7GoJJggeBIJF2geKV+UNB2OGknckSl6RBxuNXU1Q//QJnJNB7mhLhVwBXLFuLY/9LlMf0U6QOWsxWTU= X-Gm-Message-State: AOJu0Yz0jZ/5jdJqlXv7GbtU1J1o8sphFQkqNRGYDHyE5zQOd2+zArNO +JTTw85WoMolMzpusAf02n7hD/4T46mGanPjgzd//pOLqKljNXLJ X-Google-Smtp-Source: AGHT+IFqGsAAuL7Lf6x0Q2Oizr3JjKsMJn9gt72trbTA/iZ6bL73aUDPwwjdJkLxjI6cN/NHEYD2Aw== X-Received: by 2002:ac2:4c06:0:b0:518:dec6:9b78 with SMTP id t6-20020ac24c06000000b00518dec69b78mr866021lfq.34.1713112414089; Sun, 14 Apr 2024 09:33:34 -0700 (PDT) Original-Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se. [80.217.1.132]) by smtp.gmail.com with ESMTPSA id o15-20020a198c0f000000b00513c0b0b512sm1055537lfd.272.2024.04.14.09.33.33 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 14 Apr 2024 09:33:33 -0700 (PDT) In-Reply-To: <86cyqrnc6a.fsf@gnu.org> X-Mailer: Apple Mail (2.3654.120.0.1.15) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:283299 Archived-At: 14 apr. 2024 kl. 18.26 skrev Eli Zaretskii : >> Thank you for your excellent work on `sort` and related = functionality! Apparently not excellent enough! >> Unfortunately, the new `sort` implementation occasionally crashes = with a >> segfault. The following code reproduces that in current master: >>=20 >> (dotimes (i 500) >> (sort (make-list 128 42) >> :key (lambda (n) (make-list i n)))) >>=20 >> It happens for inputs of length >=3D `MERGESTATE_TEMP_SIZE / 2` (=3D = 128 >> currently) along with a non-NIL `:key` function. In such cases, a >> `Lisp_Object` array is explicitly heap-allocated to store the keys, = which is >> never marked against GC. This would not be a problem if not for the = fact that >> the `:key` function call may trigger GC. Oh dear, what a silly mistake. Many thanks for spotting this and = providing the patch, which I applied with a few minor adjustments (and a = regression test).