From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: bug#22608: Module system thread unsafety and .go compilation Date: Wed, 04 Jul 2018 00:10:10 +0200 Message-ID: <87d0w4ezst.fsf@gnu.org> References: <8737t1k5yk.fsf@T420.taylan> 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 1530655694 25604 195.159.176.226 (3 Jul 2018 22:08:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 3 Jul 2018 22:08:14 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: 22608@debbugs.gnu.org, guile-devel@gnu.org To: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?=22Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer=22?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Jul 04 00:08:09 2018 Return-path: Envelope-to: guile-devel@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 1faTSy-0006XJ-99 for guile-devel@m.gmane.org; Wed, 04 Jul 2018 00:08:08 +0200 Original-Received: from localhost ([::1]:43095 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1faTV5-0007Hm-EN for guile-devel@m.gmane.org; Tue, 03 Jul 2018 18:10:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58072) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1faTV0-0007HG-GB for guile-devel@gnu.org; Tue, 03 Jul 2018 18:10:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1faTUz-0002tW-Fs for guile-devel@gnu.org; Tue, 03 Jul 2018 18:10:14 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:56524) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1faTUz-0002tM-BF; Tue, 03 Jul 2018 18:10:13 -0400 Original-Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=48332 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1faTUx-0001Ur-Lf; Tue, 03 Jul 2018 18:10:12 -0400 In-Reply-To: <8737t1k5yk.fsf@T420.taylan> ("Taylan Ulrich \=\?utf-8\?Q\?\=5C\=22Bay\=C4\=B1rl\=C4\=B1\=2FKammer\=5C\=22\=22's\?\= message of "Tue, 09 Feb 2016 21:02:27 +0100") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.org gmane.lisp.guile.devel:19582 Archived-At: Hello, taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") skribis: > To speed up the compilation of the many Scheme files in Guix, we use a > script that first loads all modules to be compiled into the Guile > process (by calling 'resolve-interface' on the module names), and then > the corresponding Scheme files are compiled in a par-for-each. > > While Guile's module system is known to be thread unsafe, the idea was > that all mutation should happen in the serial loading phase, and the > parallel compile-file calls should then be thread safe. > > Sadly that assumption isn't met when autoloads are involved. For the record, these issues should be fixed in Guile 2.2.4: 533e3ff17 * Serialize accesses to submodule hash tables. 46bcbfa56 * Module import obarrays are accessed in a critical section. 761cf0fb8 * Make module autoloading thread-safe. =E2=80=98guix pull=E2=80=99 now defaults to 2.2.4, so we=E2=80=99ll see if = indeed those crashes disappear. Ludo=E2=80=99.