From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Maxime Devos Newsgroups: gmane.lisp.guile.devel,gmane.comp.gnu.lilypond.devel Subject: Re: Java finalization & smobs? Date: Fri, 10 Dec 2021 18:10:29 +0000 Message-ID: <108163487740b9b0a35bc41895df1524b1058e70.camel@telenet.be> References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5330"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.38.3-1 Cc: lilypond-devel To: Han-Wen Nienhuys , Guile Devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Fri Dec 10 19:10:54 2021 Return-path: Envelope-to: guile-devel@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 1mvkM9-0001DP-Uq for guile-devel@m.gmane-mx.org; Fri, 10 Dec 2021 19:10:53 +0100 Original-Received: from localhost ([::1]:42342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mvkM7-0006yQ-Uy for guile-devel@m.gmane-mx.org; Fri, 10 Dec 2021 13:10:51 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:57714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvkLt-0006x8-Ft for guile-devel@gnu.org; Fri, 10 Dec 2021 13:10:37 -0500 Original-Received: from [2a02:1800:110:4::f00:1a] (port=38646 helo=albert.telenet-ops.be) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mvkLp-00029r-Uy for guile-devel@gnu.org; Fri, 10 Dec 2021 13:10:37 -0500 Original-Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by albert.telenet-ops.be with bizsmtp id UiAW260014UW6Th06iAWq7; Fri, 10 Dec 2021 19:10:30 +0100 In-Reply-To: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1639159830; bh=agG+lG0HXm0Y5KZgYgYdihZ+rm+Eg7hIv1TQs/fvZew=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=sh8arXPkGjsLOvIdUxEhlqnyhwXKTFCRKRZRJ6vKWEtezoY4R0201gEWM72I+l1i9 W+y0Cqu9DZpsvE8a8G+IR86GYsyLGU94iQtGZtcbSc3sWRok+GYbSZsshSYKyD54kQ mT2IcHD0piPg7kphpEGuk5OF2NWI5iAd9Kwpn6DD3jE2bDFpOjW12w3cJf9lVOtwdN bfYMp5EyA51ZqpA80YsouWqGDKnl6O47M2l8R0UOVAYWUZt+OzeZn0tRPUO89fPtws JMYes4vgNOPHElEtbBIiLcU45UI3LDzNcQKqHit8RnDZ/kzcPDWoze7/hYz4zU7chG GeFFdmLl7mRKQ== X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a02:1800:110:4::f00:1a (failed) Received-SPF: pass client-ip=2a02:1800:110:4::f00:1a; envelope-from=maximedevos@telenet.be; helo=albert.telenet-ops.be X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:20996 gmane.comp.gnu.lilypond.devel:78859 Archived-At: Han-Wen Nienhuys schreef op vr 10-12-2021 om 15:59 [+0100]: > On the one hand, the docs for smobs state "must assume .. all SCM > values that it references have already been freed and are thus > invalid", which suggests that smob freeing happens in random order, > which is consistent with what we see. On the other hand, Guile sets > up > BDWGC with GC_java_finalization=1, which should keep GC dependencies > of an object alive until the object itself is finalized, and I think > we have observed the mark calls that make this happen. > > which of the two is it? I assume that the fact that Java-style finalization is used, is considered an internal implementation detail. That doesn't explain why things are going wrong, of course. Greetings, Maxime