From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTP id 5694C5D5 for ; Mon, 21 Dec 2020 23:11:54 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.78,437,1599516000"; d="asc'?scan'208";a="484119479" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 22 Dec 2020 00:11:51 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id E1F11E027D; Tue, 22 Dec 2020 00:11:51 +0100 (CET) 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 1118BE020B for ; Tue, 22 Dec 2020 00:11:48 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=christophe@raffalli.eu; spf=Pass smtp.mailfrom=christophe@raffalli.eu; spf=None smtp.helo=postmaster@mail.raffalli.eu IronPort-PHdr: =?us-ascii?q?9a23=3AsAuF1B8+DbzOzv9uRHKM819IXTAuvvDOBiVQ1KB2?= =?us-ascii?q?1uwcTK2v8tzYMVDF4r011RmVBNqdsaoewLOO6ejJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fcbglVhjexe61+IAmooQneq8UanZVuIbstxxXUpXdFZ/?= =?us-ascii?q?5Yzn5yK1KJmBb86Maw/Jp9/ClVpvks6c1OX7jkcqohVbBXAygoPG4z5M3wqBnM?= =?us-ascii?q?VhCP6WcGUmUXiRVHHQ7I5wznU5jrsyv6su192DSGPcDzULs5Vyiu47ttRRT1ky?= =?us-ascii?q?oMKSI3/3/LhcxxlKJboQyupxpjw47PfYqZMONycr7Bcd8GQGZMWNtaWS5cDYOm?= =?us-ascii?q?d4YBAeoPM/hFoYf+qVsBogexChSuC+70xT9EmmX70Lcm3+g9EwzL2hErEdIUsH?= =?us-ascii?q?TTqdX4LLkfUeCvzKnJ1jXDc/RW2S/96IfWbxsvveuDXbx+ccXLzUkvEwLFhUiX?= =?us-ascii?q?pIP5PzOVzOUNs3OH7+pnTeKvi3Aophproje1yMcshJPGhoYRylDF7yl23ps1KM?= =?us-ascii?q?S+RUVmbtGqDIFeuDuGN4tqXMwiWWdotT4+x7EbpZK2YTUGxZUlyhLBa/KKcpSE?= =?us-ascii?q?7xHgWeuNPDt0mXxrda+jixqs70WtxfDwWtWw3VtEqidLndnBu3QN2hHP7MWMV/?= =?us-ascii?q?hz/l+51DqS2A3e5ftILEQpmabBL5Mt3qQ8moQdvEnNBiP6hVv6gaGMekgk5uSk?= =?us-ascii?q?8efqb7f8qpOBM4J5hAfzObk0lMOlG+Q3KA0OUnCb+eui0L3j+lX0QLBQgf03lq?= =?us-ascii?q?nVqoraKt4Vpq63GQBV1oIj6xelAzi4zdQUhXgHLFRbdxKbl4XlJl7DLf/iAfq7?= =?us-ascii?q?nligijNmy+zcMrH/DJjAIGDPkLL7crZ8705cxhAzzdda559MFr4BIOjzWk7qtN?= =?us-ascii?q?zECR85Kwy0zPj8BdVnzIweV2yPDbWdMKPWsF+E/PwgI/SUaI8PpDn9M+Ql5+Lp?= =?us-ascii?q?jXIhll4debem3YEQaHG4BflnIkSZYX/3jdcbC2gGpAs+TOrwiF2DSzFffXiyX7?= =?us-ascii?q?gk7DEhFI2mFZvDRpyqgLGZwCi0BJhWZmRfBlCIEHfobJmEVuwXaCOSJ89hiiYL?= =?us-ascii?q?WaKgS48nzxGutRX1x6BpLurOqWUkssfy28J45KWHhB4o+D9cBtmB0nqRTmp12G?= =?us-ascii?q?QSSGll8rp4pBlWyk2CyrR/m/xVXeZa6f1AVgM7fcrXz/Z7EMz1QgLMVs2ARliv?= =?us-ascii?q?RtGnRzwsGIFii+QSalpwTo3xxivI2DCnVvpMz+TSWc4Et5nE1n20HP5TjnbL0K?= =?us-ascii?q?543wsjS8pLc3eviKB28wzSQYPUwR3AxvSaMJ8E1SuIz1+tiG+HvUVWSgl1CP6X?= =?us-ascii?q?R3kRaELSqdW/616QFubyW4RiCRNIzIu5EoUPcsfg1A4UXv7tNt3aZ2P3lnriXR?= =?us-ascii?q?s=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A+AACLKuFf/+laW5BiGQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBARIBAQEBAQEBAQEBAQGCD4N4IBIuhEGJBIgihRqKURaMNQsBAwE?= =?us-ascii?q?IBS0CBAEBhEoCgXYeBwEENBMCEAEBBQEBAQIBAwMEAXCFYQyCOCkBgxIBBSMdA?= =?us-ascii?q?QE3AQ8LGCoCAhBHBhODJ4MFAa9LgTKDBAEBBoYZgTkJgTiBU4pdeUE+gUKEKj6?= =?us-ascii?q?HVYJghB1/I5tgnUGCfoEbmmKBEIIHnyCWC5sNhEiBbSOBV00mTYJpUBkNjiEMF?= =?us-ascii?q?4RPiVhAMzcCBgEJAQEDCVYmE4lyAQE?= X-IPAS-Result: =?us-ascii?q?A0A+AACLKuFf/+laW5BiGQEBAQEBAQEBAQEBAQEBAQEBARI?= =?us-ascii?q?BAQEBAQEBAQEBAQGCD4N4IBIuhEGJBIgihRqKURaMNQsBAwEIBS0CBAEBhEoCg?= =?us-ascii?q?XYeBwEENBMCEAEBBQEBAQIBAwMEAXCFYQyCOCkBgxIBBSMdAQE3AQ8LGCoCAhB?= =?us-ascii?q?HBhODJ4MFAa9LgTKDBAEBBoYZgTkJgTiBU4pdeUE+gUKEKj6HVYJghB1/I5tgn?= =?us-ascii?q?UGCfoEbmmKBEIIHnyCWC5sNhEiBbSOBV00mTYJpUBkNjiEMF4RPiVhAMzcCBgE?= =?us-ascii?q?JAQEDCVYmE4lyAQE?= X-IronPort-AV: E=Sophos;i="5.78,437,1599516000"; d="asc'?scan'208";a="484119446" X-MGA-submission: =?us-ascii?q?MDErMXWKiqwmqgSVMZ1dm/zhbMW2Wze3J96ADy?= =?us-ascii?q?DdedNgbQTuGMhKzrQ9aqYQCDZF8cVdouncxiYFXWoYMQp4B5gOTIK0Sh?= =?us-ascii?q?OTdORgwB02MMg8m+rEfF0GQENnt8HLc+Xa0IrS8wCG3UZaTlmNaOShoz?= =?us-ascii?q?hH+cZCv/GnitXN9QFYIZuBTw=3D=3D?= Received: from vmi311709.contaboserver.net (HELO mail.raffalli.eu) ([144.91.90.233]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Dec 2020 00:11:47 +0100 Received: from localhost (193.87.50.123.dsl.dyn.mana.pf [123.50.87.193]) by mail.raffalli.eu (Postfix) with ESMTPSA id AFD2C64063B; Tue, 22 Dec 2020 00:11:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=raffalli.eu; s=mail; t=1608592306; bh=QM8GVgHmy/mK1Arv7MZi3xlOB2Q/uOHKIWn9gvOU7L8=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=lbV5IWCpmKcu2QagQ1LLmNSe9sAm5zVOmPTPkZr9MUl+NArqV1FpOZzW0b1mOYBRv z1mI+pDdvTSIk88TNfAFXA2AvSPnzwTx7vala0NtA7zyqu2nT5iWL49IHAYF9oFSTF 0yJzL1rW4+nIK5N7/u5TdobQ1p/98623wVtj7Te1ZRf79JT+kYcpor9iZ5rjjTmmiV HDZArTKvBR5AAU8rOhBpwdAnhHnfrMbVKDxEI7Fg4YUjpXPXF64Wtz5/HVXodMmAjk gtJwu4GQ1D9+0XVw9xOFTHtJbKnRTpCX6Oas+ajw3nIdvnO7sq90Re2wAmTKoZSi+9 ma5pFgqThY4Jg== Date: Tue, 22 Dec 2020 00:11:39 +0100 From: Christophe Raffalli To: ygrek Cc: Xavier Leroy , caml users Message-ID: References: <9AB7B536-D8D5-4473-8692-110F0053F2EE@raffalli.eu> <20201221153213.1844759e@autistici.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="j6ksVzw1jUTxvQnQ" Content-Disposition: inline In-Reply-To: <20201221153213.1844759e@autistici.org> Subject: Re: [Caml-list] Global roots Reply-To: Christophe Raffalli X-Loop: caml-list@inria.fr X-Sequence: 18321 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: --j6ksVzw1jUTxvQnQ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Le 20-12-21 15:32:13, ygrek a =C3=A9crit : > On Mon, 21 Dec 2020 22:03:32 +0100 > Christophe Raffalli wrote: > > > static void protect_callback(char *name, value f, value v1) > > { > > caml_acquire_runtime_system(); > > { > > CAMLparam2(f,v1); > > CAMLlocal1(res); > > res =3D caml_callback_exn(f, v1); > > if(Is_exception_result(res)) > > fprintf(stderr, "Egl.main_loop: " > > "WARNING: %s raised an exception\n", name) ; > > CAMLdrop; > > } > > caml_release_runtime_system(); > > } > > Values pointed by f and v1 may be moved by gc prior to caml_acquire_runti= me_system call, but the values passed to the function (in registers or via = stack) > will be pointing to old locations still. IOW need to pass ocaml values he= re by-reference (where the reference itself is registered with gc somehow),= not by-value. > > -- Many thanks, this is clearly my problem and sounds completely logical! I sh= ould have see this myself! Many the documentation should say this and show an example of callback acqu= iring the runtime system ? I update my issue in github. Thanks again, Christophe --j6ksVzw1jUTxvQnQ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEJ369adg37nCCF0BCVXIaPfvmsfAFAl/hK6cACgkQVXIaPfvm sfAZtgf/aoIpbRzfJYyKVodSBTh4tVrTRpNVp4MjrTylA/TN06N8xYtyfbzmKvfa 9jKzwAMdpSViNm2CBrkEb/2nM0M+UcBA+LK1CsgTAa+VTX4bHjZYxUhJnB7yXB3T tCxcQJ8cdBmmVCre20Hyrf44GluLMi5PeRW9D3bmi00/PFP1L4T/ciG+7yWmdGMT WsGDdA1N8wZrXDI7gDr463n5xbizMYeG5GZqQpapxh798EGIcfDMoHFwXtxDuPQ8 ObfI24J7KvR7TNbDULAJaRXkXQCtKeS1yMPVB7nlzod3ezGnf6+tMPAsdl9a8xOY V/o8ktisQhZJW67ka1+6S24VlDdAdQ== =hgsW -----END PGP SIGNATURE----- --j6ksVzw1jUTxvQnQ--