From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id E59757FE44 for ; Mon, 4 Jul 2016 19:44:50 +0200 (CEST) IronPort-PHdr: 9a23:Ffa+MhLd3JPcOXJGGdmcpTZWNBhigK39O0sv0rFitYgUL/XxwZ3uMQTl6Ol3ixeRBMOAuqoC0bCd6vixEUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6anHS+4HYoFwnlMkItf6KuS9aU1Z78jrjjs7ToICxwzAKnZr1zKBjk5S7wjeIxxbVYF6Aq1xHSqWFJcekFjUlhJFaUggqurpzopM0roGxsvKcK99RBSrn9Z6QPbSJXAS5uZ2s1/szwqR7bTU2P4XYTX38+jgcNCQXf6BD8GJv85HjUrO14jQuXJ8DzXPgFUDCm6L8jHA7hjCMALxY29WjWjop7i6cN80HpnAB234OBONLdD/F5ZK6IJd4= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=yallop@gmail.com; spf=Pass smtp.mailfrom=yallop@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f169.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of yallop@gmail.com) identity=pra; client-ip=209.85.220.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of yallop@gmail.com designates 209.85.220.169 as permitted sender) identity=mailfrom; client-ip=209.85.220.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qk0-f169.google.com) identity=helo; client-ip=209.85.220.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="postmaster@mail-qk0-f169.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0ByAAB+n3pXf6ncVdFbhRAGrX6LMoF5hhgCgTIHOhIBAQEBAQEBAREBAQkLCwkfMYIyghoBAQQBEhEdARsdAQMBCwYFCw0CAiYCAiIBEQEFARwGEwgah3MBAw8InAeBMT4xizuBaoJaBYYUChknDVKDPAEBAQEGAQEBAQEaAgYQcYlzhECDAYJaBZkTjkePKo5LEh6BDyUDhB07MokMAQEB X-IPAS-Result: A0ByAAB+n3pXf6ncVdFbhRAGrX6LMoF5hhgCgTIHOhIBAQEBAQEBAREBAQkLCwkfMYIyghoBAQQBEhEdARsdAQMBCwYFCw0CAiYCAiIBEQEFARwGEwgah3MBAw8InAeBMT4xizuBaoJaBYYUChknDVKDPAEBAQEGAQEBAQEaAgYQcYlzhECDAYJaBZkTjkePKo5LEh6BDyUDhB07MokMAQEB X-IronPort-AV: E=Sophos;i="5.26,575,1459807200"; d="scan'208";a="225446098" Received: from mail-qk0-f169.google.com ([209.85.220.169]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 04 Jul 2016 19:44:50 +0200 Received: by mail-qk0-f169.google.com with SMTP id e3so68925200qkd.0 for ; Mon, 04 Jul 2016 10:44:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=kCAsGqTfFmWgD7DHho+ogV8lmcPWsVsoM4z/t0F+15Q=; b=f5s5SlLyPYuoAZYg5PZCn9kLO7gjnfxHBEuUc2vH73FXDCQEy9wa3NWt6SST12JI5j kE4zsOoFVPhL6iQCBJ0GaRfJ04Y1rD+9js8lbDnB6nD0vDepnxnzv9WTjTyxgkFd+Ocw Lxyg/B6YdWautnVYywAqAP41BrIaytlTkGn1fDMYfBiRzAceUs+s+c1RSX/ryqOIhMPF xEb0muiMVo6Mlx0AKclDowdzmP66qaaVo0h2oGhSj4nmi6dc6jWtHSUVAq6M/uOSbf30 yFYY0bAVq2sIZFA4VoeGrhvItQm71zLYmZJmlqBED6XjMcNZzxqaIZepNqRcfwKIiodD 0a7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=kCAsGqTfFmWgD7DHho+ogV8lmcPWsVsoM4z/t0F+15Q=; b=V2bJiVHNoHHS0rk9RYqUp54ArbNPOcriO1mhMkaiGGVhj2NO4Vkl5GZhBjYG64/YZz muDNymESo1eTIIfYBBb1S4btWybwNo5BwWNzV4brcy4xAmuoW8hxWPHDGETnslG3mjRN +4zoJ/Um+Lu86jtWFff2tXJR06dot3sNthMuCDo4qbeKdoVX1SZLxPzY887e7Ynd162s j8VLU/lm5yeGlptg5xj4uCc4CVxp3rrcIsPCaewZzGF+Q1asrhyNEUHImm+mUYFlZ0lA yjP/7BlHpTaW6z7YbwL7PhEgtWds+UgS8xwhztVP5EEaBNqmNWCaMAuNtde1B/MuFVbT FZnQ== X-Gm-Message-State: ALyK8tLJH9MJAHR22wDdzLQfmHEukTzEkYQVYro39CSMMJSdi8eubMyy54C5SfcKFlxZ0CzuQh26tbLBb2cnZA== X-Received: by 10.55.40.200 with SMTP id o69mr17811576qko.101.1467654289022; Mon, 04 Jul 2016 10:44:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.182.6 with HTTP; Mon, 4 Jul 2016 10:44:48 -0700 (PDT) In-Reply-To: <8ff1d18d-581a-0269-fb0d-5bc70a1a9acd@tu-berlin.de> References: <03f0318e-3268-da14-d6e9-6efdcfcab567@tu-berlin.de> <8ff1d18d-581a-0269-fb0d-5bc70a1a9acd@tu-berlin.de> From: Jeremy Yallop Date: Mon, 4 Jul 2016 18:44:48 +0100 Message-ID: To: =?UTF-8?Q?Christoph_H=C3=B6ger?= Cc: caml users Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] Garbage collector woes On 4 July 2016 at 18:06, Christoph H=C3=B6ger wrote: > Am 04.07.2016 um 18:21 schrieb Jeremy Yallop: >> I'm guessing that 'desc' points to a block and N, MFIT and ICONV are >> field accessors. > > That is correct. N, MFIT and ICONV are macros defined as Field(.., ..). > >> If so, you need to register 'desc' as a root here, since >> caml_copy_double or caml_ba_alloc_dims could trigger a gc, moving desc >> before it's next used. > > By registering as a root you mean to also declare it via CAMLlocal? Yes, that's a reasonable way to do it. > Is this necessary/appropriate, since &desc is already a registered global= root. In fact, &desc is not a registered global root, since desc is a local variable, with its own fresh address. It's user_data that's a global root, and desc is simply a copy of the contents of user_data. So when the GC updates *user_data, desc is left unchanged. > Do you have any clue how that moving of desc could trigger the > overwriting of x and cond? If the GC replaces the value that desc points to with some other value that's then invoked as a callback, pretty much anything can happen. (Of course, it's also possible that the problem lies somewhere else entirely.)