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 ESMTPS id 9C7F65D5 for ; Mon, 21 Dec 2020 20:40:39 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.78,437,1599516000"; d="asc'?scan'208";a="484112072" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 21 Dec 2020 21:40:37 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 0C729E020B; Mon, 21 Dec 2020 21:40:38 +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 CFC4CE020B for ; Mon, 21 Dec 2020 21:40:32 +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=3Aq6/1uBK2mjWQQ0M4StmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgfLPnxwZ3uMQTl6Ol3ixeRBMOHsq0C0bKM+Pm4AyQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9HiTagY75+Ngu6oRnPusUZnIduNrg9wQbVr3VVfO?= =?us-ascii?q?hb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPHw768PttRnY?= =?us-ascii?q?UAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD+v4btnRAPuhS?= =?us-ascii?q?waLDMy7n3ZhdJsg6JauBKhpgJww4jIYIGOKfFyerrRcc4GSWZdW8pcUTFKDIGh?= =?us-ascii?q?YIsVF+cPM+ZWoZfgqVUNoxuxChWjC/7txTJTiX/6wbc33v49HQ3a3gEtGc8Fvn?= =?us-ascii?q?TOrNXyMacfSf64zKnSzTXCdPNWxTD96JDIch8/vPqCQah/ccTfyUY1EwPFilSQ?= =?us-ascii?q?opHiMjyJ1uQNqWmb7/F8VeKok24nqx9+ryO1xsg2hInJiJgaylTA9SV42oo6O8?= =?us-ascii?q?C4RVd9bNW5H5ReqzuUOJFqQsM+XW5ooiA6x6UCtJKmYCQH1Ykryh/dZvCZc4aF?= =?us-ascii?q?4w7vWeWSLDpkmX5pZbyxiguu/US+1ODxWdS43EpOoydLltTCuXAA2hjT58WbTP?= =?us-ascii?q?Z240Sv2S6X2gzO5exJLlo4mK7GJ5I7xrM8ioAfvVrNEyL4gEn6kbGae0s+9uWo?= =?us-ascii?q?9+jreLbrq5uGO4NpjgzzPKIjkdGlD+siKAgBRW2b9Py81LL9+U35R61Hjvgsna?= =?us-ascii?q?nYtJDWP94bqbS3Aw9byIkj7xK/Dza83NsGgHkLNFNFeBSZgIj1I1zCPf/1APil?= =?us-ascii?q?j1mojTtn3fTLMqH7DpnTIHXOnq/tfbNn5E5dzAozw8pf55VRCrwZPP3zWlXxtN?= =?us-ascii?q?3DDh8lNAy02+bnB8tm24MEQ22PDKGZP7nWsV+M5+IjOfeDZJINtDbnN/cl/+Lu?= =?us-ascii?q?jWM+mVIFcqip2YUYaGq/HvVmOEiYYHvsgtIaHmcQpAUyVu3qiFuYUT5SfXm+Ra?= =?us-ascii?q?w85isjAoK8EYjDXpytgKCG3CqjApJZfGVGClSVHXfsdoWEQOsMZTmJIs5hlzwE?= =?us-ascii?q?TaKuR5Ug1RGorg/6yqBoIvDa+i0C5trf041F7vPSmAt60TFuCNXVh1GEUWB5hC?= =?us-ascii?q?UsSiUxzYh+p1Z8wxGNy/4rreZfEIl45+lISRs9LZ7Rh9ZzBd77XgbANoOCSEyn?= =?us-ascii?q?WcmhGTE8Zsg4zdEHZ0J8Xdi/2EOQlxG2CqMYwuTYTKc/9bjRij2of54kmiT2kZ?= =?us-ascii?q?I5hlxjefNhcGivh6px7Q/WXtWbiUyXma+ucaVa0TOfrT7en1rLh1lRVUtLaYuA?= =?us-ascii?q?XX0bYRKG/9Hw50eEVbagB70jNgoHxNPQcvIWOO2stk1PQbLYAPqbe3i4wjziHx?= =?us-ascii?q?+GyLqIaIusdnhPhCg=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DDAgBIB+Ff/+laW5BiHAEBAQEBAQcBA?= =?us-ascii?q?RIBAQQEAQGCD4N4IBIuhEGJBIgeA4UailEWjDULAQMBCAUtAgQBAYRKAoF2Hgc?= =?us-ascii?q?BBDQTAhABAQUBAQECAQMDBAFwhWEMgjgpAYMRAQEBAwEjBBkBATcBDwsYKgICE?= =?us-ascii?q?EcGE4MngmYfAa1ndn8zgwQBAQaGF4E5CYE4gVOEDhI8hgF5QT6BQoERgxk+hBw?= =?us-ascii?q?BAYM3gmCCfHonOGoMTlSPQCeWUpE6gn6BG4cCk2CBEKEnsGOEfYFtI4FXTSZNg?= =?us-ascii?q?mlQGQ2OIYRyiVhAMzcCBgEJAQEDCVYmE4lyAQE?= X-IPAS-Result: =?us-ascii?q?A0DDAgBIB+Ff/+laW5BiHAEBAQEBAQcBARIBAQQEAQGCD4N?= =?us-ascii?q?4IBIuhEGJBIgeA4UailEWjDULAQMBCAUtAgQBAYRKAoF2HgcBBDQTAhABAQUBA?= =?us-ascii?q?QECAQMDBAFwhWEMgjgpAYMRAQEBAwEjBBkBATcBDwsYKgICEEcGE4MngmYfAa1?= =?us-ascii?q?ndn8zgwQBAQaGF4E5CYE4gVOEDhI8hgF5QT6BQoERgxk+hBwBAYM3gmCCfHonO?= =?us-ascii?q?GoMTlSPQCeWUpE6gn6BG4cCk2CBEKEnsGOEfYFtI4FXTSZNgmlQGQ2OIYRyiVh?= =?us-ascii?q?AMzcCBgEJAQEDCVYmE4lyAQE?= X-IronPort-AV: E=Sophos;i="5.78,437,1599516000"; d="asc'?scan'208";a="484112048" X-MGA-submission: =?us-ascii?q?MDF6drEmMlMLixHyJXSM7X+qSYy+mX4KxdKvel?= =?us-ascii?q?AEF1wUPWOnpaz5gMIHkFq9nTw0vY4Gpv6r8EL/W9EOEL/cVD5qkf/luA?= =?us-ascii?q?+TGbayLZC0HGNGclH3runlx0J4EnRy2dn7gzUaYkXxzZl5R2j3DJrm/c?= =?us-ascii?q?5WJQ53mrEqAKc+RonwhywJgQ=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; 21 Dec 2020 21:40:32 +0100 Received: from localhost (193.89.50.123.dsl.dyn.mana.pf [123.50.89.193]) by mail.raffalli.eu (Postfix) with ESMTPSA id 7F03D64063B; Mon, 21 Dec 2020 21:40:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=raffalli.eu; s=mail; t=1608583231; bh=QP4u78FsSug89HLbgnaTCSh4ur85O56C+OC0+jmGH/I=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=hQZJybgDek9nsMjr5jPpou+BNj5R2IXW3I/osLQDLHZhZrcp9zqJpdlFCtiuFhkR0 Cmvc7ejbBfzyRLw4MXuYKyB8Wva/KNaTJMd8CV83aypcRypFCMBd8FXUqKKEOawxNV s3c6HJw/1fTpDTwi8fYQTD/sFGfIhl2mnRdBzPvejcqFEIL0jjD61rS3IPJIzx/l1r CQjH7hwR9aKQjvP+zZ/mY082iZ+GKL5Lnxu7A0jwtj6bk50C3q4O2Q5y084GitIZU2 LSLd1SBWWzfT7fg4KpeM9+slzJKuWpWJeeWWChC/6T0quR8awuU3M1mqJQaR1PEfRc +cywQ0JIODNNQ== Date: Mon, 21 Dec 2020 21:40:24 +0100 From: Christophe Raffalli To: Xavier Leroy Cc: caml users Message-ID: References: <9AB7B536-D8D5-4473-8692-110F0053F2EE@raffalli.eu> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="WmqE1E4uYvDRibzD" Content-Disposition: inline In-Reply-To: Subject: Re: [Caml-list] Global roots Reply-To: Christophe Raffalli X-Loop: caml-list@inria.fr X-Sequence: 18318 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: --WmqE1E4uYvDRibzD Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Le 20-12-21 19:37:54, Xavier Leroy a =C3=A9crit : > On Sun, Dec 20, 2020 at 8:57 PM wrote: > > Hello, > > May global roots be initialized to (value)NULL ? > > > Yes, in the default OCaml configuration as of today. > > No, in the "no naked pointers" mode that was introduced in OCaml 4.02.0, = made > much stricter in OCaml 4.12.0, and will be the default in OCaml 5.0. > > To be future-proof and on the safe side, I would suggest to initialize to= e.g. > Val_unit. > Hello, Thanks for the help. I took a stronger path and initialized to (fun _ -> assert false). I added an issue in github for improving the documentation for typing const= raints in the foreign C interface for OCaml. It seems I have no more segfault (not sure yet as the segfault was no repro= ductible). This is strange because I am using 4.11.1+flambda and the documentation say= s that using out of heap pointer (i.e. NULL ?) is depreacated for 4.11, but should= work? Christophe > > I have a multithreaded program, which segfault in callback_asm, while= I > think I respect all rules of c interfaces... Except maybe the above... > > > There is an OPAM compiler switch "4.10.0+nnpcheck" that adds run-time che= cks > for ill-formed values according to the no-naked-pointers rules.=C2=A0 May= be you > could use it to rule out this potential problem. > > Hope this helps, > > - Xavier Leroy > > > > Chevets, > Christophe > -- > Envoy=C3=A9 de mon appareil Android avec Courriel K-9 Mail. Veuillez = excuser ma > bri=C3=A8vet=C3=A9. > --WmqE1E4uYvDRibzD Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEJ369adg37nCCF0BCVXIaPfvmsfAFAl/hCDQACgkQVXIaPfvm sfC1Ogf+PVJ6Ku+BhWnhpikBzJZDBCCU2uQo8x7EIYZXJUaXZ51myrDxvU5UQgpr O+ahMVVWuNHE9vQKVHqOkejnbfpE0YraTCBVNtb0iGeQXO4MOAQTXVEGmOhAtDo0 GMtUw0SBs/mZvkubjBuUmXDMJoazK6S617KUSEKz1q0CQVqORwt1Whb8b1S4KdJx t8HKjFG+JZdcZaR5vCxU3wbgvbg8wQeT3hISn9CEvHyWIrz6wAnGvPSyEuub9GVJ 84GaSu8CzMDaARvjJ9bTSwE7GpTNT1BxAsreJrbvJLU1Fnkrdet1Dz7c3ZV41cMc UOd8+N3N7uRonpg67EFexctGIAX3hw== =PRJF -----END PGP SIGNATURE----- --WmqE1E4uYvDRibzD--