From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 702CF7EE88 for ; Mon, 9 May 2016 06:52:25 +0200 (CEST) IronPort-PHdr: 9a23:HJNs6RbpDfcXOWZtei0dnmv/LSx+4OfEezUN459isYplN5qZpcS7bnLW6fgltlLVR4KTs6sC0LqH9fm5Ejxdqb+681k8M7V0HycfjssXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aJBzzOEJPK/jvHcaK1oLsh7H0osSYM1gArQH+SI0xBS3+lR/WuMgSjNkqAYcK4TyNnEF1ff9Lz3hjP1OZkkW0zM6x+Jl+73YY4Kp5pIZoGJ/3dKUgTLFeEC9ucyVsvJWq5lH/Sl6m4GccVWMH2iZBHQXD4QuyCp73riv9sPs7xCCEMMv7V5g7XD2j6+FgTxq+2wkdMDts0mzNh8lhxJNSpBamv1Qr0ofQZIaNHPV7d6LZO9gdQDwSDY5qSyVdD9bkPMM0BO0bMLMd9tGlqg== Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=yallop@gmail.com; spf=Pass smtp.mailfrom=yallop@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f179.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of yallop@gmail.com) identity=pra; client-ip=209.85.220.179; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of yallop@gmail.com designates 209.85.220.179 as permitted sender) identity=mailfrom; client-ip=209.85.220.179; receiver=mail3-smtp-sop.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 (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qk0-f179.google.com) identity=helo; client-ip=209.85.220.179; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="postmaster@mail-qk0-f179.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0ATAQCPFjBXj7PcVdFehHsPBqZBlECGEAKBHAc8EAEBAQEBAQEBEQEBAQEHCwsJIS+CLYIVAQEEEhEEGQEbHQEDDAYFCw0CAiYCAiEBAREBBQEcBhMih3IBAxOgFYExPjGLO4FqgliGWAoZJw1Sg2sBAQEBAQUBAQEBARUBBQoFbYlwgkOEfIJZBY1eihMxjCOBeY8Xh1iGJRIegQ43giMegVY7MokGAQEB X-IPAS-Result: A0ATAQCPFjBXj7PcVdFehHsPBqZBlECGEAKBHAc8EAEBAQEBAQEBEQEBAQEHCwsJIS+CLYIVAQEEEhEEGQEbHQEDDAYFCw0CAiYCAiEBAREBBQEcBhMih3IBAxOgFYExPjGLO4FqgliGWAoZJw1Sg2sBAQEBAQUBAQEBARUBBQoFbYlwgkOEfIJZBY1eihMxjCOBeY8Xh1iGJRIegQ43giMegVY7MokGAQEB X-IronPort-AV: E=Sophos;i="5.24,599,1454972400"; d="scan'208";a="177032130" Received: from mail-qk0-f179.google.com ([209.85.220.179]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 09 May 2016 06:52:24 +0200 Received: by mail-qk0-f179.google.com with SMTP id x7so88780179qkd.3 for ; Sun, 08 May 2016 21:52:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=ROvp6x6l9q0FDDdQu359OVSEpHgMuql+MWo9cyJ9wAg=; b=0kw+CbBncTwI73Xs78xzbvGI584lKlQNA3kz1icwW0TixElKqfFM5j0j3QebhEnAig GFQtXRKeo5ebawtBXmwg52pwa1TSuLthRBtFj8XHvF9IUYdLNUnBtFJicznOHa6gXsG/ +3NsDwqcnnsfpC2/mxZLoY9qLN6qdMPI73T1dehr2X7GYPH3x9zWpXdjBY417WdVLQ0A 8bTMRwxKrF4WaXb6qUVODJfB3M4It6oAyeBWVKPGKGGrkavcjIrwMJF/vV7/EPurcm9U ymtAUKl5W6g7XeqbhYL+HZcIq+5FF3/Tzdp9Ksv0zCmEQAcsqhiOWRRxaLR+DcGo+GpS ANkA== 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:date :message-id:subject:from:to:cc; bh=ROvp6x6l9q0FDDdQu359OVSEpHgMuql+MWo9cyJ9wAg=; b=K8oBp871y/iqL92lk+CLi/RsBenPzdJLEZseTHJ5RiyoMJgsKDXGIH3bFuOXSrRrmI 09LfocLgmZac2/G+UWBD64P9a6G+NHAbybejprZMPjB49H+y26AxF3hgqooeHjQVi9DN bgFk+v6Y4K7hUfOV8H7tZWHBshV/iCSDhe1jh0W5D8C5/RYMqvtU9/0mDj5mupJ/GlfZ jnnzBYmFp6ZqBNo0VQJCWdhn8IPv9tn1SG/ymZSN+viKVrlSVXBPSR7wmurSs1wIpWgk 2jpq4evftC/XB5EjBpFkQwzhyY02jerM1w5I1eMMrSeN7tDfNx46AG5xrpeojQnRyMIu +grA== X-Gm-Message-State: AOPr4FUjb5sOC5mrOaFsTEm0nEFeSH2O+lNKhbvGls+7z9gTJj0OWMkpQd2AA8UENKr7ZtvJZvTJpU3ciU93TA== MIME-Version: 1.0 X-Received: by 10.55.217.135 with SMTP id q7mr6399345qkl.101.1462769542813; Sun, 08 May 2016 21:52:22 -0700 (PDT) Received: by 10.55.169.133 with HTTP; Sun, 8 May 2016 21:52:22 -0700 (PDT) In-Reply-To: References: Date: Mon, 9 May 2016 05:52:22 +0100 Message-ID: From: Jeremy Yallop To: Anthony Tavener Cc: "caml-list@inria.fr" Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] Occasional malformed strings; OCaml -> OpenGL, via tgls/ctypes. On 8 May 2016 at 18:08, Anthony Tavener wrote: > TL;DR: Constant string like "fontColor" can (rarely) come out like > "\220\552\663\1" after foreign call to OpenGL. > > I was seeing glitches in render output, and have tracked it down to "uniform > variable names" which are given as constant strings, but on OpenGL side they > can appear malformed. > > OCaml call: > > let color = Gl.get_uniform_location sp "fontColor" in > > In a trace of the OpenGL calls from the running program the result is > usually like this: > > glGetUniformLocation(program = 3, name = "fontColor") = 3 > > But on occasion (once in several hundred calls) has garbage: > > glGetUniformLocation(program = 3, name = "\220\552\663\1") = -1 > > The really odd thing to me is the structure of these strings (some more, not > all from "fontColor"): > "\220 \774\1" > "\220\332\663\1" > "\440\\\665\1" > "\220\552\663\1" > "\220J\663\1" > "\660\117\553\2" > "\440\220w\2" > > For reference, Gl.get_uniform_location is implemented thusly (in tgls): > > let get_uniform_location = > foreign ~stub "glGetUniformLocation" > (int_as_uint @-> string @-> returning int) > > > I am using OCaml 4.03+flambda. The problem occurs with -O3 or no > optimizations. The problem might have happened with prior versions (I > haven't been able to work with OCaml much in the past year), and my own code > is of course suspect. :) > > I'm posting in case this rings a bell for someone, that they might know > what's going on. I'm continuing to debug. If you have a reproducible test-case I'd be interested to take a look at this.