From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Chris Vine Newsgroups: gmane.lisp.guile.user Subject: Re: Guile bugs Date: Fri, 21 Jul 2017 09:16:08 +0100 Message-ID: <20170721091608.6585de97@bother.homenet> References: <87lgtajpkc.fsf@web.de> <87h8y7ruuz.fsf_-_@gnu.org> <877ez384eu.fsf@elektro.pacujo.net> <87k2333qx9.fsf@gmail.com> <87pocvc5ya.fsf@elektro.pacujo.net> <87poculu2v.fsf@gnu.org> <87inimd9yy.fsf@elektro.pacujo.net> <87k232cu3p.fsf@netris.org> <877ez2co3j.fsf@elektro.pacujo.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1500625008 25614 195.159.176.226 (21 Jul 2017 08:16:48 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 21 Jul 2017 08:16:48 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Jul 21 10:16:43 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dYT70-00064R-DK for guile-user@m.gmane.org; Fri, 21 Jul 2017 10:16:38 +0200 Original-Received: from localhost ([::1]:41640 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYT74-0000Ws-Cf for guile-user@m.gmane.org; Fri, 21 Jul 2017 04:16:42 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53961) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYT6f-0000Wa-Nq for guile-user@gnu.org; Fri, 21 Jul 2017 04:16:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dYT6b-0003k1-Ja for guile-user@gnu.org; Fri, 21 Jul 2017 04:16:17 -0400 Original-Received: from mail-wr0-x22a.google.com ([2a00:1450:400c:c0c::22a]:35808) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dYT6b-0003j5-AF for guile-user@gnu.org; Fri, 21 Jul 2017 04:16:13 -0400 Original-Received: by mail-wr0-x22a.google.com with SMTP id k71so25873122wrc.2 for ; Fri, 21 Jul 2017 01:16:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=g0oQ+ommhdD5BqPiWv5U9+SgiZ5/4Nb9zH3axGSwNho=; b=EWNula4wtamnlEDsPE/ZKX62Gb3aCLlGXQCkX4LG2s1kWQSgwtYCzMsdvnSyWX1Joc XzutSTmShaDV8DVWsqZ+LPFohivONqrVRnLwZc7o/l/5IZeizgWl0Few2YZSo4rDebXF 1gljrwfz/FKgyclBCZLqK3a3Z6bbXKouag0qfvEDAEBoEvVENrD3VMdpfQ34Bec723mC dzbVUx72ae/MS9Ep2oo92nRcWUPTJlnGsnAxymKyg17C0wq+0Oo4yGSty5aog4fNQJJS YHqq7ZuNcapnrtmLhgPFrMW+FXgq0vyuWZSv6vtR45+uloYG3M1QZy69SzuEjfNoQGzO 2WbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=g0oQ+ommhdD5BqPiWv5U9+SgiZ5/4Nb9zH3axGSwNho=; b=sRrjPQKlhfZ4zXkbVv0MRbKRwWZmKSJlH3AeJtQRJdFzFPPJDmn2zD6PZAL4rq6qfZ ufu7t+Xjs2B++Xtz1bqGTv9pmNb5ja1f42c+b6stLHH2Y8bwh4QtUnKPSqlJgqZNJQeb AyaYhUyqI9GkHyJN8yfmgCPqA/JTYuB5VtV6VEPxyyshoy59qqYPcwY6aTaF0KrqK8b1 Mqx+anXcg53n6LRwZ0pn1mSIImKili3zQ5J65tjz3rWAF+rT0VpIgGUtOBXelmY0oyLj 9J3K8VuRZlAqYD1HLRYrM8AYrM/u74fkek/qiO4ETcKmj5YcWkVHoRJKj4AHBL4zcm76 XUlw== X-Gm-Message-State: AIVw110vQf6oLdUCC39Dw7qieay31oxvGuoi8vnd2mUxo8QXEJ24zTdm vk4uQcj52doV42i6 X-Received: by 10.223.133.161 with SMTP id 30mr8909089wrt.102.1500624970481; Fri, 21 Jul 2017 01:16:10 -0700 (PDT) Original-Received: from bother.homenet ([95.146.112.5]) by smtp.gmail.com with ESMTPSA id j190sm723665wmd.22.2017.07.21.01.16.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Jul 2017 01:16:09 -0700 (PDT) Original-Received: from bother.homenet (localhost [IPv6:::1]) by bother.homenet (Postfix) with ESMTP id A628826297B for ; Fri, 21 Jul 2017 09:16:08 +0100 (BST) In-Reply-To: <877ez2co3j.fsf@elektro.pacujo.net> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c0c::22a X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13963 Archived-At: On Fri, 21 Jul 2017 09:15:28 +0300 Marko Rauhamaa wrote: > Mark H Weaver : >=20 > > Marko Rauhamaa writes: > > =20 > >> ludo@gnu.org (Ludovic Court=C3=A8s): > >> =20 > >>> libgc knows which regions it must scan and mmap=E2=80=99d regions like > >>> this are not among them. =20 > >> > >> Wow, where is that documented? I would have imagined it scanned all > >> writable RAM and CPU registers. =20 > > > > It's documented here: http://www.hboehm.info/gc/gcdescr.html =20 >=20 > Please point out the sentence. >=20 > The closest I could find is: >=20 > * Static data region(s). In the simplest case, this is the region > between DATASTART and DATAEND, as defined in gcconfig.h. However, > in most cases, this will also involve static data regions > associated with dynamic libraries. These are identified by the > mostly platform-specific code in dyn_load.c. >=20 > But that doesn't clearly state if mmapped regions are in or out. I > would have assumed they were in. Since the C runtime does not store static variables in mmapped memory, I would have assumed the opposite. There is also some information at https://www.gnu.org/software/guile/manual/html_node/Garbage-Collection.html= #Garbage-Collection That states that the areas that the garbage collector scans for live objects are the areas where global and other static variables are placed, local variables (including function arguments and registers), and heap memory allocated by scm_gc_malloc() (but not memory allocated by scm_gc_malloc_pointerless() or by malloc() and cognates). If a SCM object keeps references to sub-objects residing in unscanned memory, this applies: https://www.gnu.org/software/guile/manual/html_node/Foreign-Object-Memory-M= anagement.html#Foreign-Object-Memory-Management (and the equivalent for smobs in guile-2.0). Chris