From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.devel Subject: Re: Changes in GC and in pure space (was: [Emacs-diffs] master 5d4dd55: Fix lifetime error in previous patch) Date: Fri, 16 Aug 2019 13:34:11 +0000 Message-ID: References: <20190721193221.1964.53182@vcs0.savannah.gnu.org> <20190721193222.8C19E20BE2@vcs0.savannah.gnu.org> <83blxmqfkq.fsf@gnu.org> <9568ca7d-854f-1971-bbe8-03ba8c64af42@cs.ucla.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="195195"; mail-complaints-to="usenet@blaine.gmane.org" Cc: Eli Zaretskii , Daniel Colascione , emacs-devel@gnu.org To: Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 16 15:45:00 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hycXL-000ocN-Uh for ged-emacs-devel@m.gmane.org; Fri, 16 Aug 2019 15:45:00 +0200 Original-Received: from localhost ([::1]:56366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hycXK-0001n5-Rp for ged-emacs-devel@m.gmane.org; Fri, 16 Aug 2019 09:44:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37813) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hycNX-0006Pt-SX for emacs-devel@gnu.org; Fri, 16 Aug 2019 09:34:53 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hycNW-0000Ua-H9 for emacs-devel@gnu.org; Fri, 16 Aug 2019 09:34:51 -0400 Original-Received: from mail-oi1-x242.google.com ([2607:f8b0:4864:20::242]:34993) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hycNU-0000T3-UF; Fri, 16 Aug 2019 09:34:49 -0400 Original-Received: by mail-oi1-x242.google.com with SMTP id a127so4820560oii.2; Fri, 16 Aug 2019 06:34:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NYXWkmOQIvJ9ETeGYK4Uezs6dYs3piG23i4G3Nyp5Us=; b=AokQLgmZm/CqMjoHmwu5NI22ijHY4kouUrWj4vzEr0VK8juS8gkt0i8obrK6VnXnli ToEtSrtX4tELNq6cvPU0IJzA4PkrZzM6KGR+8jG4xFEVPsNpAlKvlDaYnVvgz78iT1k0 sb/Tgzn58g/LCw079wN8sJXjLrvieB1B3OHjeeurBMeLyoGkg1V1fT+cOGnV4JxHEIU5 eq7JEzBi8uFoU+71H0yVKiyklUytTGsEMt5fcEnieHdRSvl5VPZj075EwTbe/Byw915P XaQRdoiCGjyow3gJ6AIDjdojD74yRVmEQBFbsCuFqVMNdrWHMCoMDMBcXaSAn/LoSUmm F2Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NYXWkmOQIvJ9ETeGYK4Uezs6dYs3piG23i4G3Nyp5Us=; b=nUF1BhljkTCgHI7v1bEO8txNdNYLLZtIC8NM6hokgtujaP7EEv6avmaCXqU5N56dJu JHeoV2YnjK5XqZpMeduDBM47HwGASZG7tQf+KNe5WLcpG8qECYZXyrmijCjbdupsn474 O30J+tVly1n/kt2Wodm3vGrmXYf6tlLPifa9gO9sQfYZ5P/59KaSArSZLHJBeF05qowW 5tlzDpQi24RqfWhWosoBixOeRUJseXgAKldCXhBNQyC0MAkl7p91EQ0i9dBOt52WdUV9 J5J90OHhvRfmszb+y6zjpYZpAc+FIixQ0XI3BV8HoMDwF4XGrEMsKxd5cCj8UANdFulb tQSg== X-Gm-Message-State: APjAAAWWJjMKu1RealFVmVpqFNQLfx+HCzJyvkfk89mEm7GvjYbuq30g vD841Y1Q7VAF2+HS/him0Fx/CTvOXbI0N7v0xhg= X-Google-Smtp-Source: APXvYqynNafUlTFlE6hDOvMKUZ60bm9+xl3NrnI0WTsD5BhuqUgJBFAZYZW7U00Cb2jftid8S7vF081lOM45P46ExNY= X-Received: by 2002:aca:4cd0:: with SMTP id z199mr4649377oia.112.1565962487835; Fri, 16 Aug 2019 06:34:47 -0700 (PDT) In-Reply-To: <9568ca7d-854f-1971-bbe8-03ba8c64af42@cs.ucla.edu> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::242 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:239395 Archived-At: On Thu, Aug 15, 2019 at 9:34 AM Paul Eggert wrote: > Pip Cet wrote: > > > Here are things I would consider urgent enough to warrant looking at > > for Emacs 27: > > - remove code like we have in `Ffset' to detect GC bugs that > > presumably have been fixed by now > > Are you talking about just the code introduced in commit > 2014-04-03T00:18:08Z!dancol@dancol.org > (01ae0fbf30b74e2490144fceabbf5bc5d96f1ba7), or is some other code involved? I'll > CC this to dancol to see if he has thoughts. There's also reference to a GC bug in describe_vector. > > - make_fixnum called for numbers outside the fixnum range > > I installed a patch to master just now to do that. Thanks! > > - various places that should detect circular lists but don't (lread.c > > reading hash tables, for example) > > Can you give an example of that problem? Try reading #s(hash-table data #0=(#0# . #0#)) > > - doubly-evaluated macro arguments (the one I can think of offhand is > > DUMP_SET_REFERRER, which is harmless, but others might not be) > > Do you mean evaluated as in macro expansion, or evaluated as in execution at > runtime? If the latter, I don't get the problem there. Many other macros assume > that arguments are side effect free, and some of these cannot be turned into > inline functions easily. I think it's likely we still have some places that assume their arguments are side-effect-free, but whose callers pass arguments with side effects. (At least, that's what I'd be looking for once I'm done looking over the recent major hash table/GC changes to find segfaults like the below)... > > - since we appear to be stuck with lazy rehashing for now, the various > > bugs this causes (I mentioned Fclrhash above) > > Sorry, what's the Fclrhash bug? Calling clrhash on a dumped hash table that hasn't been accessed used to leave it untouched; now it produces a segfault. I haven't quite been able to follow how Eli's request went uncontradicted, but then we ended up making major changes like the hash table thing, anyway. That leads to this segfault, but I'm not at all convinced it won't also lead to subtle bugs somewhere else. (To reproduce the promised segfault, add (defvar custom-dummy (make-hash-table :test 'eq)) (puthash custom-dummy custom-dummy custom-dummy) to custom.el, then rebuild and run (clrhash custom-dummy) in Emacs -Q. Trivial to fix, but apparently not obvious enough to have been caught in the original changes).