[{"id":28251,"web_url":"https://patchwork.libcamera.org/comment/28251/","msgid":"<170182379144.2829918.1935853022327155769@ping.linuxembedded.co.uk>","date":"2023-12-06T00:49:51","subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart via libcamera-devel (2023-12-06 00:44:25)\n> A couple of comments are mis-indented in the gstreamer unit test. Fix\n> them, and reflow the text while at it.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nI think that's straightforward enough to just merge already.\n\n--\nKieran\n\n\n> ---\n>  test/gstreamer/gstreamer_test.cpp | 23 +++++++++++------------\n>  1 file changed, 11 insertions(+), 12 deletions(-)\n> \n> diff --git a/test/gstreamer/gstreamer_test.cpp b/test/gstreamer/gstreamer_test.cpp\n> index 6ad0c15cd0e2..091f7bf70288 100644\n> --- a/test/gstreamer/gstreamer_test.cpp\n> +++ b/test/gstreamer/gstreamer_test.cpp\n> @@ -31,15 +31,14 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n>         : pipeline_(nullptr), libcameraSrc_(nullptr)\n>  {\n>         /*\n> -       * GStreamer by default spawns a process to run the\n> -       * gst-plugin-scanner helper. If libcamera is compiled with ASan\n> -       * enabled, and as GStreamer is most likely not, this causes the\n> -       * ASan link order check to fail when gst-plugin-scanner\n> -       * dlopen()s the plugin as many libraries will have already been\n> -       * loaded by then. Fix this issue by disabling spawning of a\n> -       * child helper process when scanning the build directory for\n> -       * plugins.\n> -       */\n> +        * GStreamer by default spawns a process to run the gst-plugin-scanner\n> +        * helper. If libcamera is compiled with ASan enabled, and as GStreamer\n> +        * is most likely not, this causes the ASan link order check to fail\n> +        * when gst-plugin-scanner dlopen()s the plugin as many libraries will\n> +        * have already been loaded by then. Fix this issue by disabling\n> +        * spawning of a child helper process when scanning the build directory\n> +        * for plugins.\n> +        */\n>         gst_registry_fork_set_enabled(false);\n>  \n>         /* Initialize GStreamer */\n> @@ -53,9 +52,9 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n>         }\n>  \n>         /*\n> -       * Remove the system libcamera plugin, if any, and add the\n> -       * plugin from the build directory.\n> -       */\n> +        * Remove the system libcamera plugin, if any, and add the plugin from\n> +        * the build directory.\n> +        */\n>         GstRegistry *registry = gst_registry_get();\n>         g_autoptr(GstPlugin) plugin = gst_registry_lookup(registry, \"libgstlibcamera.so\");\n>         if (plugin)\n> \n> base-commit: 4eba2dc73c096d037a8a6390ff4a91ebbf1cedd4\n> -- \n> Regards,\n> \n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 0C08BC322E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  6 Dec 2023 00:49:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3F12C629E1;\n\tWed,  6 Dec 2023 01:49:55 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D93B161D9F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  6 Dec 2023 01:49:53 +0100 (CET)","from pendragon.ideasonboard.com\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7655E14DC;\n\tWed,  6 Dec 2023 01:49:13 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1701823795;\n\tbh=tGWwnP+UMVNEu596p1H9kwx322vTEzQOJTlMaGNlWxs=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=yc9fJSgBZWn7VIo2ceGWPwFJDqsPq4uerQB+ypPPLAW0Yd+ciTXHF0n+zksMJOkbu\n\tRDs9VEuB6puvgLx8Pv0Kd1/Cst5IGGHNEqxY61M2Se6TrDrlthdeALj2BpDgu3yp77\n\tXyWHMTwrCdqKm0M78Jcnw8hnVXa/xVGlOZ7nqsJ5z2aGxcGWjfzrLkUk9/xcNgNwln\n\tfbrWh401TNA57xj2w6usZG4lDgPgshL1of/JjosyLjmHrVNMwgsgOI1tnuOW5wamaP\n\t4ZE8vSyQZcUZILHFXbr8mGVPbaVc+t+mkOVVCldBL+GRpLWQD0LG9NOF/9e+rca3rb\n\tgdWt7sNa3EfyA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1701823753;\n\tbh=tGWwnP+UMVNEu596p1H9kwx322vTEzQOJTlMaGNlWxs=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=hWDlNlx3idiyDGaTo+uzwxJ00HjQ7olVcefCQpTO2mI+Az0ANUB0Z4Hsfe5Agsr4x\n\tB2RjLftOyaBO6+8ll69zVUXCnL40NNDqXhP4X5fhdHpX//4gXACHGmbmsQxtll+c3V\n\tpDxX+ZzatOJ7TvrjhcXHFV04Yq6vJOrgOUBHPXuM="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"hWDlNlx3\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20231206004425.18189-1-laurent.pinchart@ideasonboard.com>","References":"<20231206004425.18189-1-laurent.pinchart@ideasonboard.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 06 Dec 2023 00:49:51 +0000","Message-ID":"<170182379144.2829918.1935853022327155769@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28275,"web_url":"https://patchwork.libcamera.org/comment/28275/","msgid":"<ff3bc538431d850a4f29acdf56b79d40e6abf80c.camel@ndufresne.ca>","date":"2023-12-07T15:43:02","subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","submitter":{"id":30,"url":"https://patchwork.libcamera.org/api/people/30/","name":"Nicolas Dufresne","email":"nicolas@ndufresne.ca"},"content":"Le mercredi 06 décembre 2023 à 00:49 +0000, Kieran Bingham via libcamera-devel a\nécrit :\n> Quoting Laurent Pinchart via libcamera-devel (2023-12-06 00:44:25)\n> > A couple of comments are mis-indented in the gstreamer unit test. Fix\n> > them, and reflow the text while at it.\n> > \n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> I think that's straightforward enough to just merge already.\n\nAck. It highlights the code though, which I wasn't aware of. Seems generally a\nbad idea to always disable the protection again a possibly broken/crashing\nplugin init in the system. I might suggest to find a way to only enable it for\nspecific \"ASAN\" issue workaround.\n\n\nNicolas\n\n> \n> --\n> Kieran\n> \n> \n> > ---\n> >  test/gstreamer/gstreamer_test.cpp | 23 +++++++++++------------\n> >  1 file changed, 11 insertions(+), 12 deletions(-)\n> > \n> > diff --git a/test/gstreamer/gstreamer_test.cpp b/test/gstreamer/gstreamer_test.cpp\n> > index 6ad0c15cd0e2..091f7bf70288 100644\n> > --- a/test/gstreamer/gstreamer_test.cpp\n> > +++ b/test/gstreamer/gstreamer_test.cpp\n> > @@ -31,15 +31,14 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> >         : pipeline_(nullptr), libcameraSrc_(nullptr)\n> >  {\n> >         /*\n> > -       * GStreamer by default spawns a process to run the\n> > -       * gst-plugin-scanner helper. If libcamera is compiled with ASan\n> > -       * enabled, and as GStreamer is most likely not, this causes the\n> > -       * ASan link order check to fail when gst-plugin-scanner\n> > -       * dlopen()s the plugin as many libraries will have already been\n> > -       * loaded by then. Fix this issue by disabling spawning of a\n> > -       * child helper process when scanning the build directory for\n> > -       * plugins.\n> > -       */\n> > +        * GStreamer by default spawns a process to run the gst-plugin-scanner\n> > +        * helper. If libcamera is compiled with ASan enabled, and as GStreamer\n> > +        * is most likely not, this causes the ASan link order check to fail\n> > +        * when gst-plugin-scanner dlopen()s the plugin as many libraries will\n> > +        * have already been loaded by then. Fix this issue by disabling\n> > +        * spawning of a child helper process when scanning the build directory\n> > +        * for plugins.\n> > +        */\n> >         gst_registry_fork_set_enabled(false);\n> >  \n> >         /* Initialize GStreamer */\n> > @@ -53,9 +52,9 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> >         }\n> >  \n> >         /*\n> > -       * Remove the system libcamera plugin, if any, and add the\n> > -       * plugin from the build directory.\n> > -       */\n> > +        * Remove the system libcamera plugin, if any, and add the plugin from\n> > +        * the build directory.\n> > +        */\n> >         GstRegistry *registry = gst_registry_get();\n> >         g_autoptr(GstPlugin) plugin = gst_registry_lookup(registry, \"libgstlibcamera.so\");\n> >         if (plugin)\n> > \n> > base-commit: 4eba2dc73c096d037a8a6390ff4a91ebbf1cedd4\n> > -- \n> > Regards,\n> > \n> > Laurent Pinchart\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6F104C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  7 Dec 2023 15:43:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9BD77629E7;\n\tThu,  7 Dec 2023 16:43:06 +0100 (CET)","from mail-qv1-xf2e.google.com (mail-qv1-xf2e.google.com\n\t[IPv6:2607:f8b0:4864:20::f2e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1F37461D99\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 Dec 2023 16:43:05 +0100 (CET)","by mail-qv1-xf2e.google.com with SMTP id\n\t6a1803df08f44-67ab41956f8so5416046d6.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 07 Dec 2023 07:43:05 -0800 (PST)","from nicolas-tpx395.localdomain ([2606:6d00:17:b5c::7a9])\n\tby smtp.gmail.com with ESMTPSA id\n\tcn8-20020ad44a68000000b0067a95ef3a8dsm579700qvb.50.2023.12.07.07.43.03\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 07 Dec 2023 07:43:03 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1701963786;\n\tbh=jOHi0/fAagkrvmPCsU20My5FJleHdom5KMRquDBLDrU=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=s2bYQomfBlPxLEw49fhADddSBDasIB2K4xk3pJmTw5PqhnhCAx3V0GdZ/YK9XAKgN\n\t0VOUGgjJ7qrMDWd7t1pGENmALiziXlZBBO57rU/PU7lON9bDb8aDWNqwh0hm7Ncp17\n\tn2b6TQG3gnpcus3IRZwHZ6wKP1Lm6V1n16U2S37uAthJqjkIXtRBu7rpVHaecxEIhb\n\t9Bjm12SRJj4PaSZi4ztQbGX/ayqqpzd23cRX+EmJiUbEc+dm2kwqN+vcs6T81aXKP3\n\ttxJ7MEJpqnlxgo/qCB4lrQV5BICAtk6VVbxh6OjrC9s1Yaianf8xojbwxHsb4G2nTO\n\tx63iZnp00AyRQ==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ndufresne-ca.20230601.gappssmtp.com; s=20230601; t=1701963784;\n\tx=1702568584; darn=lists.libcamera.org; \n\th=mime-version:user-agent:content-transfer-encoding:references\n\t:in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=gZVJaWNELll5rrHmzj0Nu9yMCSdORuQgK4Ux+akXpUw=;\n\tb=GW9+hS52VnC8KOJE0cjLNoE4xqd18mySH2zCe9TUFRkK+vQeO3Yfka/XuiAOqHxQgd\n\tZq1orvSksZvLgcNWuBDfBWfGLCt2inj8WkuWVE43qJHfpd1uBO5z0Ru7MxQY4eGrMh13\n\tXi5WKHVGghea/sSWxSqK9/GXLzkHqcr+xTq+MqU7cynbFRB4oRJMqalf1hY997wztwR6\n\tvnXxFPrNvRf5fQaCDPLtCS8GLIL6ZNCRdoyNkHVrblGeYxpsEJPVaJ1LEyYN/HwWYlDe\n\tNFvgvqPlf6szkp8R8EcqMX2YVMejbsNiGzPeMYX7Ky9hDSbfkKKj8iqrBKlRQs25XSxh\n\thmVA=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=ndufresne-ca.20230601.gappssmtp.com\n\theader.i=@ndufresne-ca.20230601.gappssmtp.com header.b=\"GW9+hS52\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1701963784; x=1702568584;\n\th=mime-version:user-agent:content-transfer-encoding:references\n\t:in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=gZVJaWNELll5rrHmzj0Nu9yMCSdORuQgK4Ux+akXpUw=;\n\tb=SOABYOXaqv7BIjzEKksdGjOKoGoUdgGuAfYklNZHbVN/LEkAizOpAJrvZ/dQ1j7B/J\n\tvTPgZtFD7ssnGBm1vcqQaLa435qvQkHR/kCpG1FmM+6vppI3dIoBekBQdz7VhrVpX8Er\n\tHZoCTiTbVkN6j6ZGrsNjnP29W2ihie5xPGOWLNNDfL5kdggIeVx2AmjEKSbL3n1aRiCy\n\tbz0EvCt/aHPHBDshS/yAEG2tF8vbQldIbFQHbKvhb21zDSReIUt3lP8c4sH+8bU9V7XY\n\tMwTmS7BHAJAGCjG+TDZI/eRihPzD7uj0d+O4RxuXPki/YQnwmRbGzMjbiU22Q8VzHnlF\n\tSw7Q==","X-Gm-Message-State":"AOJu0Yxv4T4G1PZmVWTH22iXAoQ5Oxj1O2MvU/C3+kWkH1Lmuf1lfnBx\n\t/gaCQe4RKssaRMzeSoBfaLwhzAqTETu1gPG6oNE=","X-Google-Smtp-Source":"AGHT+IFQqU7p7oBm1i0NLoThKL+Oxpb2U5qULVs7OV8GYx/efojOnKniZA/Ut/NzdNPZ0Oyon/4kLQ==","X-Received":"by 2002:ad4:450f:0:b0:67a:92ea:4f4a with SMTP id\n\tk15-20020ad4450f000000b0067a92ea4f4amr2954878qvu.27.1701963783801; \n\tThu, 07 Dec 2023 07:43:03 -0800 (PST)","Message-ID":"<ff3bc538431d850a4f29acdf56b79d40e6abf80c.camel@ndufresne.ca>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>, Laurent Pinchart\n\t<laurent.pinchart@ideasonboard.com>, libcamera-devel@lists.libcamera.org","Date":"Thu, 07 Dec 2023 10:43:02 -0500","In-Reply-To":"<170182379144.2829918.1935853022327155769@ping.linuxembedded.co.uk>","References":"<20231206004425.18189-1-laurent.pinchart@ideasonboard.com>\n\t<170182379144.2829918.1935853022327155769@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","User-Agent":"Evolution 3.48.4 (3.48.4-1.fc38) ","MIME-Version":"1.0","Subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Nicolas Dufresne via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Nicolas Dufresne <nicolas@ndufresne.ca>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28277,"web_url":"https://patchwork.libcamera.org/comment/28277/","msgid":"<20231207161410.GB23290@pendragon.ideasonboard.com>","date":"2023-12-07T16:14:10","subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Nicolas,\n\nOn Thu, Dec 07, 2023 at 10:43:02AM -0500, Nicolas Dufresne wrote:\n> Le mercredi 06 décembre 2023 à 00:49 +0000, Kieran Bingham via libcamera-devel a écrit :\n> > Quoting Laurent Pinchart via libcamera-devel (2023-12-06 00:44:25)\n> > > A couple of comments are mis-indented in the gstreamer unit test. Fix\n> > > them, and reflow the text while at it.\n> > > \n> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > \n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > \n> > I think that's straightforward enough to just merge already.\n> \n> Ack. It highlights the code though, which I wasn't aware of. Seems generally a\n> bad idea to always disable the protection again a possibly broken/crashing\n> plugin init in the system. I might suggest to find a way to only enable it for\n> specific \"ASAN\" issue workaround.\n\nDisabling the fork doesn't disable any protection, so I don't see any\nissue there. I may be missing something though.\n\nAre you talking about the code that removes libgstlibcamera.so from the\nregistry ? The point of that is to make sure we test the plugin from the\nbuild directory, and don't pick a plugin from the system by mistake.\n\nOr are you talking about the __asan_default_options() function in the\nsame file ? I would like to drop that indeed.\n\n> > > ---\n> > >  test/gstreamer/gstreamer_test.cpp | 23 +++++++++++------------\n> > >  1 file changed, 11 insertions(+), 12 deletions(-)\n> > > \n> > > diff --git a/test/gstreamer/gstreamer_test.cpp b/test/gstreamer/gstreamer_test.cpp\n> > > index 6ad0c15cd0e2..091f7bf70288 100644\n> > > --- a/test/gstreamer/gstreamer_test.cpp\n> > > +++ b/test/gstreamer/gstreamer_test.cpp\n> > > @@ -31,15 +31,14 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> > >         : pipeline_(nullptr), libcameraSrc_(nullptr)\n> > >  {\n> > >         /*\n> > > -       * GStreamer by default spawns a process to run the\n> > > -       * gst-plugin-scanner helper. If libcamera is compiled with ASan\n> > > -       * enabled, and as GStreamer is most likely not, this causes the\n> > > -       * ASan link order check to fail when gst-plugin-scanner\n> > > -       * dlopen()s the plugin as many libraries will have already been\n> > > -       * loaded by then. Fix this issue by disabling spawning of a\n> > > -       * child helper process when scanning the build directory for\n> > > -       * plugins.\n> > > -       */\n> > > +        * GStreamer by default spawns a process to run the gst-plugin-scanner\n> > > +        * helper. If libcamera is compiled with ASan enabled, and as GStreamer\n> > > +        * is most likely not, this causes the ASan link order check to fail\n> > > +        * when gst-plugin-scanner dlopen()s the plugin as many libraries will\n> > > +        * have already been loaded by then. Fix this issue by disabling\n> > > +        * spawning of a child helper process when scanning the build directory\n> > > +        * for plugins.\n> > > +        */\n> > >         gst_registry_fork_set_enabled(false);\n> > >  \n> > >         /* Initialize GStreamer */\n> > > @@ -53,9 +52,9 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> > >         }\n> > >  \n> > >         /*\n> > > -       * Remove the system libcamera plugin, if any, and add the\n> > > -       * plugin from the build directory.\n> > > -       */\n> > > +        * Remove the system libcamera plugin, if any, and add the plugin from\n> > > +        * the build directory.\n> > > +        */\n> > >         GstRegistry *registry = gst_registry_get();\n> > >         g_autoptr(GstPlugin) plugin = gst_registry_lookup(registry, \"libgstlibcamera.so\");\n> > >         if (plugin)\n> > > \n> > > base-commit: 4eba2dc73c096d037a8a6390ff4a91ebbf1cedd4","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id B5071C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  7 Dec 2023 16:14:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BFBEF61D99;\n\tThu,  7 Dec 2023 17:14:06 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CB13861D99\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 Dec 2023 17:14:04 +0100 (CET)","from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi\n\t[213.243.189.158])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 16425674;\n\tThu,  7 Dec 2023 17:13:23 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1701965646;\n\tbh=/pbDtEfJc6reRadYOgM9icSnGd57bnPgYNbkPWVM2eQ=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=Y3ra+AmJicqK4lg9fpElXtwzYtXtT/O7uFGfBpBGGjCb4V7+wwUQYg6bOqbaTZL7m\n\tpA3K1h9DEYgTiBSciAYoo8ENw3wOI1V0Wr9Eeyyr3C9d6DbBP0lmJLQbxSFB1LCnjw\n\tn70/Ghq8VQnAU/7dZOiVuSvCCLNVI7pDMliqQ6+/tYi1GHVuZpAyMzOlITJLZukP6N\n\tMPZGF2zBOjVSXtk4Y5hHNMWQoGu7eeKThdW576aEWlHkxREVI80T+DORwIplzu+otH\n\tSNLe9Qxm2VGN8OaacbD0H2z7Q2oHMIJi77iM2+3kAsHlzMAgH/0I3kHwm9NZ78vvPn\n\tzjCIxqib/DC1w==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1701965603;\n\tbh=/pbDtEfJc6reRadYOgM9icSnGd57bnPgYNbkPWVM2eQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=bEM/LNgLRUl5lMgUuupvvVCznikLSEdc4O4Mqw1a0b1Faoxc1Kg7nSkfE4T1xz+0B\n\tRllgS/WnTBfl6GEK0MFp569Zz3kBPOR3u4DRwPvWztcaxP1WW+mFKAZ+UNHw1I6jQk\n\to0SZFmwfl6MHh3UEbQhbRoPdkLSI/3d0DTAk7S2o="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"bEM/LNgL\"; dkim-atps=neutral","Date":"Thu, 7 Dec 2023 18:14:10 +0200","To":"Nicolas Dufresne <nicolas@ndufresne.ca>","Message-ID":"<20231207161410.GB23290@pendragon.ideasonboard.com>","References":"<20231206004425.18189-1-laurent.pinchart@ideasonboard.com>\n\t<170182379144.2829918.1935853022327155769@ping.linuxembedded.co.uk>\n\t<ff3bc538431d850a4f29acdf56b79d40e6abf80c.camel@ndufresne.ca>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<ff3bc538431d850a4f29acdf56b79d40e6abf80c.camel@ndufresne.ca>","Subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28286,"web_url":"https://patchwork.libcamera.org/comment/28286/","msgid":"<1c43b3c0301c3b2096c059341801d5afffe8d681.camel@ndufresne.ca>","date":"2023-12-07T18:13:10","subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","submitter":{"id":30,"url":"https://patchwork.libcamera.org/api/people/30/","name":"Nicolas Dufresne","email":"nicolas@ndufresne.ca"},"content":"Le jeudi 07 décembre 2023 à 18:14 +0200, Laurent Pinchart a écrit :\n> Hi Nicolas,\n> \n> On Thu, Dec 07, 2023 at 10:43:02AM -0500, Nicolas Dufresne wrote:\n> > Le mercredi 06 décembre 2023 à 00:49 +0000, Kieran Bingham via libcamera-devel a écrit :\n> > > Quoting Laurent Pinchart via libcamera-devel (2023-12-06 00:44:25)\n> > > > A couple of comments are mis-indented in the gstreamer unit test. Fix\n> > > > them, and reflow the text while at it.\n> > > > \n> > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > > \n> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > > \n> > > I think that's straightforward enough to just merge already.\n> > \n> > Ack. It highlights the code though, which I wasn't aware of. Seems generally a\n> > bad idea to always disable the protection again a possibly broken/crashing\n> > plugin init in the system. I might suggest to find a way to only enable it for\n> > specific \"ASAN\" issue workaround.\n> \n> Disabling the fork doesn't disable any protection, so I don't see any\n> issue there. I may be missing something though.\n\nIf you disable the fork, and one of the plugin crash or abort, your program is\ntaken away with it. While if you keep the fork, the problematic plugin is (sorry\nfor the term, was implemented a long time ago) black listed, and a new fork is\nstarted.\n\nAs we encourage running this test on whatever GStreamer installation you have,\nI'd also encourage to keep that fork by default in case there is a a slightly\nbroken (but unrelated) installation issue. As we state, we don't care about\nanything else then coreelements and libcamera plugins.\n\np.s. Note that this fork is today a separate program, typically\n\"/usr/libexec/gstreamer-1.0/gst-plugin-scanner\".\n\n> \n> Are you talking about the code that removes libgstlibcamera.so from the\n> registry ? The point of that is to make sure we test the plugin from the\n> build directory, and don't pick a plugin from the system by mistake.\n\nNo, not talking about this one, I have a patch to remove that code. see below..\n\n> \n> Or are you talking about the __asan_default_options() function in the\n> same file ? I would like to drop that indeed.\n> \n> > > > ---\n> > > >  test/gstreamer/gstreamer_test.cpp | 23 +++++++++++------------\n> > > >  1 file changed, 11 insertions(+), 12 deletions(-)\n> > > > \n> > > > diff --git a/test/gstreamer/gstreamer_test.cpp b/test/gstreamer/gstreamer_test.cpp\n> > > > index 6ad0c15cd0e2..091f7bf70288 100644\n> > > > --- a/test/gstreamer/gstreamer_test.cpp\n> > > > +++ b/test/gstreamer/gstreamer_test.cpp\n> > > > @@ -31,15 +31,14 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> > > >         : pipeline_(nullptr), libcameraSrc_(nullptr)\n> > > >  {\n> > > >         /*\n> > > > -       * GStreamer by default spawns a process to run the\n> > > > -       * gst-plugin-scanner helper. If libcamera is compiled with ASan\n> > > > -       * enabled, and as GStreamer is most likely not, this causes the\n> > > > -       * ASan link order check to fail when gst-plugin-scanner\n> > > > -       * dlopen()s the plugin as many libraries will have already been\n> > > > -       * loaded by then. Fix this issue by disabling spawning of a\n> > > > -       * child helper process when scanning the build directory for\n> > > > -       * plugins.\n> > > > -       */\n> > > > +        * GStreamer by default spawns a process to run the gst-plugin-scanner\n> > > > +        * helper. If libcamera is compiled with ASan enabled, and as GStreamer\n> > > > +        * is most likely not, this causes the ASan link order check to fail\n> > > > +        * when gst-plugin-scanner dlopen()s the plugin as many libraries will\n> > > > +        * have already been loaded by then. Fix this issue by disabling\n> > > > +        * spawning of a child helper process when scanning the build directory\n> > > > +        * for plugins.\n> > > > +        */\n> > > >         gst_registry_fork_set_enabled(false);\n\nThis is the call I'd like to see go away, or be limited to whenever ASan is\ngoing to be used. I'm not familiar with how ASan work and what it provides for\nrun-time detection (I only really know valgrind, which does offer method to\ndetect it).\n\n> > > >  \n> > > >         /* Initialize GStreamer */\n> > > > @@ -53,9 +52,9 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> > > >         }\n> > > >  \n> > > >         /*\n> > > > -       * Remove the system libcamera plugin, if any, and add the\n> > > > -       * plugin from the build directory.\n> > > > -       */\n> > > > +        * Remove the system libcamera plugin, if any, and add the plugin from\n> > > > +        * the build directory.\n> > > > +        */\n> > > >         GstRegistry *registry = gst_registry_get();\n> > > >         g_autoptr(GstPlugin) plugin = gst_registry_lookup(registry, \"libgstlibcamera.so\");\n> > > >         if (plugin)\n> > > > \n> > > > base-commit: 4eba2dc73c096d037a8a6390ff4a91ebbf1cedd4\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 10D37C3226\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  7 Dec 2023 18:13:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 507EE629E7;\n\tThu,  7 Dec 2023 19:13:15 +0100 (CET)","from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com\n\t[IPv6:2607:f8b0:4864:20::f2a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1A39261D99\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 Dec 2023 19:13:14 +0100 (CET)","by mail-qv1-xf2a.google.com with SMTP id\n\t6a1803df08f44-67abd020f40so18426036d6.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 07 Dec 2023 10:13:14 -0800 (PST)","from nicolas-tpx395.localdomain ([2606:6d00:17:b5c::7a9])\n\tby smtp.gmail.com with ESMTPSA id\n\th17-20020a0cf211000000b0067ab79c539asm95034qvk.111.2023.12.07.10.13.11\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 07 Dec 2023 10:13:12 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1701972795;\n\tbh=isi47h2WWtwI8BF7g1xsDDrhsNDHusy66N0X0B6Cvo0=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=temKxvNimvhrgKCXF8YDmHlN+uAKxnbgMd/ktPbZAvVdskS24KeJ6xeAGXNvClH5h\n\tclIHhXktBDQYE9XXpJ06Td+2LcrOG9WMZtAbt0x2ZhxpJiufqIBWyncssd2OyTHObe\n\tGFemGPxiL7wrMdzeNLrDP/PvrmvujivdqlEsqq0w3488Us9oSuhQzH1Oa60vE6ksGV\n\tjB14z5P0k7mw0zTumSMCojXdeL8dz9FBHnMbeq2FnmdiDYK5zxOWyOIWH3sTSCITIn\n\tcWj6lpS4eMx0ha5wRYTpZqu39NJ3QEHWh69JlziAF6nWrEpPAiZSmqrluJH9hZsMg/\n\ttiuaeGZIm8+PQ==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ndufresne-ca.20230601.gappssmtp.com; s=20230601; t=1701972793;\n\tx=1702577593; darn=lists.libcamera.org; \n\th=mime-version:user-agent:content-transfer-encoding:references\n\t:in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject\n\t:date:message-id:reply-to;\n\tbh=a/Q+r34k7ucfxJQwEW+hjH1VvOl0LBokv4pMekUDbrY=;\n\tb=YJm4+VsJxAr2lyJTAnpA/rCRPEr+bf2nj2d+l874kdeke/y9YKKRp/Bb8o3fo0ph4i\n\tbSQ36sQUPxNLhFOQutJnZsyYNu+IDE2eDOOtKYK9e25xCgEa6vta+oGCjo3lqu4/VN/S\n\t109vWYX8m3Baxw8ycstc9u58Ka36OpyRM7PASrYKhQbNqrpsJKkXRxxfzvmK6PmF/8ec\n\t28pP5lWQaajiWL5jyIwLBkGAku6MeF92Hm7sGK9oqKleAFLavLJfuuQpWdfHqRpQkRLP\n\ttZi1/gKbgdJ9AO5puJ5MsuziCGWuxYUc7dww/Xbh70MVaAzhha4NyTxyubjwqHdgOPIe\n\t4Gew=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=ndufresne-ca.20230601.gappssmtp.com\n\theader.i=@ndufresne-ca.20230601.gappssmtp.com header.b=\"YJm4+VsJ\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1701972793; x=1702577593;\n\th=mime-version:user-agent:content-transfer-encoding:references\n\t:in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state\n\t:from:to:cc:subject:date:message-id:reply-to;\n\tbh=a/Q+r34k7ucfxJQwEW+hjH1VvOl0LBokv4pMekUDbrY=;\n\tb=iMfD//BZUnFq3buiWRsLGGRoZ/dq25hE2Zgi4tpuBLHVKFg6sZAl2xRvSCBfGyAZKq\n\trSHSpWNoeShrKYmdPTwrrIb/MnYU8tokf04Cty0LBSJ5f64d9btJIOsZyw7AF0QGJ1tu\n\tZU0+Tv7ZDIUAqvz2ajKny+dq4aRA5T2ka/rOOpBqBsG0P3w2W8d6slAzElllAvc8ysPQ\n\tQ+Q/y+uI/RCA0411kMhPsUTqTcd952PuwOo1oehTxFHg5lyGRPIvFKjjevva9+s0F5Sk\n\tM4YCA63HvuJhpHcbdY4cVRIKKLI4xErJEqDv2as07MtLnKYdU9SxrMlaAWZInMjRg5+o\n\tC/sA==","X-Gm-Message-State":"AOJu0YybFPq54X9zH5cY3a2zOwigya4bg90kOxmBfBFb2qAv97IAGISA\n\tXNsK88Dj+rccGs56uFomGFxqCw==","X-Google-Smtp-Source":"AGHT+IGm6/Z9iu7J/WAHljZUjZS1LI0CC3XJcRqEN1xMtucPlHSyBMoBwj7B6gEvG3aFJrAHnT2B5w==","X-Received":"by 2002:ad4:596c:0:b0:67a:a72d:fbb5 with SMTP id\n\teq12-20020ad4596c000000b0067aa72dfbb5mr6302869qvb.51.1701972792891; \n\tThu, 07 Dec 2023 10:13:12 -0800 (PST)","Message-ID":"<1c43b3c0301c3b2096c059341801d5afffe8d681.camel@ndufresne.ca>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Thu, 07 Dec 2023 13:13:10 -0500","In-Reply-To":"<20231207161410.GB23290@pendragon.ideasonboard.com>","References":"<20231206004425.18189-1-laurent.pinchart@ideasonboard.com>\n\t<170182379144.2829918.1935853022327155769@ping.linuxembedded.co.uk>\n\t<ff3bc538431d850a4f29acdf56b79d40e6abf80c.camel@ndufresne.ca>\n\t<20231207161410.GB23290@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","User-Agent":"Evolution 3.48.4 (3.48.4-1.fc38) ","MIME-Version":"1.0","Subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Nicolas Dufresne via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Nicolas Dufresne <nicolas@ndufresne.ca>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28287,"web_url":"https://patchwork.libcamera.org/comment/28287/","msgid":"<20231207181703.GA25616@pendragon.ideasonboard.com>","date":"2023-12-07T18:17:03","subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Nicolas,\n\nOn Thu, Dec 07, 2023 at 01:13:10PM -0500, Nicolas Dufresne wrote:\n> Le jeudi 07 décembre 2023 à 18:14 +0200, Laurent Pinchart a écrit :\n> > On Thu, Dec 07, 2023 at 10:43:02AM -0500, Nicolas Dufresne wrote:\n> > > Le mercredi 06 décembre 2023 à 00:49 +0000, Kieran Bingham via libcamera-devel a écrit :\n> > > > Quoting Laurent Pinchart via libcamera-devel (2023-12-06 00:44:25)\n> > > > > A couple of comments are mis-indented in the gstreamer unit test. Fix\n> > > > > them, and reflow the text while at it.\n> > > > > \n> > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > > > \n> > > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > > > \n> > > > I think that's straightforward enough to just merge already.\n> > > \n> > > Ack. It highlights the code though, which I wasn't aware of. Seems generally a\n> > > bad idea to always disable the protection again a possibly broken/crashing\n> > > plugin init in the system. I might suggest to find a way to only enable it for\n> > > specific \"ASAN\" issue workaround.\n> > \n> > Disabling the fork doesn't disable any protection, so I don't see any\n> > issue there. I may be missing something though.\n> \n> If you disable the fork, and one of the plugin crash or abort, your program is\n> taken away with it. While if you keep the fork, the problematic plugin is (sorry\n> for the term, was implemented a long time ago) black listed, and a new fork is\n\nNo offense taken.\n\n> started.\n> \n> As we encourage running this test on whatever GStreamer installation you have,\n> I'd also encourage to keep that fork by default in case there is a a slightly\n> broken (but unrelated) installation issue. As we state, we don't care about\n> anything else then coreelements and libcamera plugins.\n\nAh OK I understand your point now. Yes, it's a good point, and we could\nindeed disable the fork only when running with ASan enabled.\n\n> p.s. Note that this fork is today a separate program, typically\n> \"/usr/libexec/gstreamer-1.0/gst-plugin-scanner\".\n> \n> > Are you talking about the code that removes libgstlibcamera.so from the\n> > registry ? The point of that is to make sure we test the plugin from the\n> > build directory, and don't pick a plugin from the system by mistake.\n> \n> No, not talking about this one, I have a patch to remove that code. see below..\n> \n> > Or are you talking about the __asan_default_options() function in the\n> > same file ? I would like to drop that indeed.\n> > \n> > > > > ---\n> > > > >  test/gstreamer/gstreamer_test.cpp | 23 +++++++++++------------\n> > > > >  1 file changed, 11 insertions(+), 12 deletions(-)\n> > > > > \n> > > > > diff --git a/test/gstreamer/gstreamer_test.cpp b/test/gstreamer/gstreamer_test.cpp\n> > > > > index 6ad0c15cd0e2..091f7bf70288 100644\n> > > > > --- a/test/gstreamer/gstreamer_test.cpp\n> > > > > +++ b/test/gstreamer/gstreamer_test.cpp\n> > > > > @@ -31,15 +31,14 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> > > > >         : pipeline_(nullptr), libcameraSrc_(nullptr)\n> > > > >  {\n> > > > >         /*\n> > > > > -       * GStreamer by default spawns a process to run the\n> > > > > -       * gst-plugin-scanner helper. If libcamera is compiled with ASan\n> > > > > -       * enabled, and as GStreamer is most likely not, this causes the\n> > > > > -       * ASan link order check to fail when gst-plugin-scanner\n> > > > > -       * dlopen()s the plugin as many libraries will have already been\n> > > > > -       * loaded by then. Fix this issue by disabling spawning of a\n> > > > > -       * child helper process when scanning the build directory for\n> > > > > -       * plugins.\n> > > > > -       */\n> > > > > +        * GStreamer by default spawns a process to run the gst-plugin-scanner\n> > > > > +        * helper. If libcamera is compiled with ASan enabled, and as GStreamer\n> > > > > +        * is most likely not, this causes the ASan link order check to fail\n> > > > > +        * when gst-plugin-scanner dlopen()s the plugin as many libraries will\n> > > > > +        * have already been loaded by then. Fix this issue by disabling\n> > > > > +        * spawning of a child helper process when scanning the build directory\n> > > > > +        * for plugins.\n> > > > > +        */\n> > > > >         gst_registry_fork_set_enabled(false);\n> \n> This is the call I'd like to see go away, or be limited to whenever ASan is\n> going to be used. I'm not familiar with how ASan work and what it provides for\n> run-time detection (I only really know valgrind, which does offer method to\n> detect it).\n\nI haven't looked at runtime detection, but worst case we can have\ncompile-time detection.\n\n> > > > >  \n> > > > >         /* Initialize GStreamer */\n> > > > > @@ -53,9 +52,9 @@ GstreamerTest::GstreamerTest(unsigned int numStreams)\n> > > > >         }\n> > > > >  \n> > > > >         /*\n> > > > > -       * Remove the system libcamera plugin, if any, and add the\n> > > > > -       * plugin from the build directory.\n> > > > > -       */\n> > > > > +        * Remove the system libcamera plugin, if any, and add the plugin from\n> > > > > +        * the build directory.\n> > > > > +        */\n> > > > >         GstRegistry *registry = gst_registry_get();\n> > > > >         g_autoptr(GstPlugin) plugin = gst_registry_lookup(registry, \"libgstlibcamera.so\");\n> > > > >         if (plugin)\n> > > > > \n> > > > > base-commit: 4eba2dc73c096d037a8a6390ff4a91ebbf1cedd4","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 88F9DC31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  7 Dec 2023 18:17:00 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F155A61D99;\n\tThu,  7 Dec 2023 19:16:59 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E139F61D99\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 Dec 2023 19:16:57 +0100 (CET)","from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi\n\t[213.243.189.158])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 3EEFF674;\n\tThu,  7 Dec 2023 19:16:16 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1701973020;\n\tbh=sCQujbKikinbNumkp/tODa2yORqOZoZaOVotDfWg6hI=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=BiSWGZRvZQ3LwZX5si5gO1ZOiVWON5XLdkoooHmNzNpfqhogQfCiyhvmGAQRXFbXc\n\tFRYNOfzLRgD++c2nfOksHzX6RcvAwbXxxeVLYk44Mo9mPgDbSHo764MOh8NIZjw8H7\n\tymt35QEWy3b/d3XbsgcQMp41Uywf2y4x23P/qx0nuuOxeL/PPbWZoUb7BrtQ9sLi5X\n\ttSZ/jAVE94yp3KPGyxEnzCX+j4m3qylOUVkAcNnS2snNKjoSKYmQXiPEzThMrximEM\n\t+f30xqPnbjZzN+Km7hDla/iWzcscpnY1MfBSzGrMOpc3BlEnKoRCwLFCIowKMvOGr7\n\t5xKs9Z0q+B5Vw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1701972976;\n\tbh=sCQujbKikinbNumkp/tODa2yORqOZoZaOVotDfWg6hI=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=RT89eyZSz06IKPD+JNgx+/iBAwTyfVTaGkr+Q99+Y2vfOQJIUNcM7UwxqcxcMCIBD\n\tP+OtXn8HQvMI76UZLhp11Dt8Z4fFUCBAOjDTwposZ9gxD7WGFPOvnX7H4m5oHYkII7\n\tiSW1WZ/U2kD95B5jy9YV56/SMtrdVs+RYgosZJ2M="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"RT89eyZS\"; dkim-atps=neutral","Date":"Thu, 7 Dec 2023 20:17:03 +0200","To":"Nicolas Dufresne <nicolas@ndufresne.ca>","Message-ID":"<20231207181703.GA25616@pendragon.ideasonboard.com>","References":"<20231206004425.18189-1-laurent.pinchart@ideasonboard.com>\n\t<170182379144.2829918.1935853022327155769@ping.linuxembedded.co.uk>\n\t<ff3bc538431d850a4f29acdf56b79d40e6abf80c.camel@ndufresne.ca>\n\t<20231207161410.GB23290@pendragon.ideasonboard.com>\n\t<1c43b3c0301c3b2096c059341801d5afffe8d681.camel@ndufresne.ca>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<1c43b3c0301c3b2096c059341801d5afffe8d681.camel@ndufresne.ca>","Subject":"Re: [libcamera-devel] [PATCH] test: gstreamer: Fix indentation in\n\tcomments","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]