[PATCH] scripts: dump stdin on meson-buildoptions error

Patrick Venture posted 1 patch 1 month ago
scripts/meson-buildoptions.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
[PATCH] scripts: dump stdin on meson-buildoptions error
Posted by Patrick Venture 1 month ago
From: Nabih Estefan <nabihestefan@google.com>

Dump sys.stdin when it errors on meson-buildoptions.py, letting us debug
the build errors instead of just saying "Couldn't parse"

Signed-off-by: Nabih Estefan <nabihestefan@google.com>
Signed-off-by: Patrick Venture <venture@google.com>
---
 scripts/meson-buildoptions.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/scripts/meson-buildoptions.py b/scripts/meson-buildoptions.py
index 4814a8ff61..a3e22471b2 100644
--- a/scripts/meson-buildoptions.py
+++ b/scripts/meson-buildoptions.py
@@ -241,8 +241,14 @@ def print_parse(options):
     print("  esac")
     print("}")
 
-
-options = load_options(json.load(sys.stdin))
+json_data = sys.stdin.read()
+try:
+    options = load_options(json.loads(json_data))
+except:
+    print("Failure in scripts/meson-buildoptions.py parsing stdin as json",
+          file=sys.stderr)
+    print(json_data, file=sys.stderr)
+    sys.exit(1)
 print("# This file is generated by meson-buildoptions.py, do not edit!")
 print_help(options)
 print_parse(options)
-- 
2.48.1.658.g4767266eb4-goog
Re: [PATCH] scripts: dump stdin on meson-buildoptions error
Posted by Paolo Bonzini 1 month ago
> Dump sys.stdin when it errors on meson-buildoptions.py, letting us debug
> the build errors instead of just saying "Couldn't parse"

Sure, why not. :)  Queued the patch, it should go into 10.0.

Paolo
Re: [PATCH] scripts: dump stdin on meson-buildoptions error
Posted by Patrick Venture 1 month ago
On Fri, Feb 28, 2025 at 2:26 AM Paolo Bonzini <pbonzini@redhat.com> wrote:

> > Dump sys.stdin when it errors on meson-buildoptions.py, letting us debug
> > the build errors instead of just saying "Couldn't parse"
>
> Sure, why not. :)  Queued the patch, it should go into 10.0.
>

Thanks! we kept seeing this because we didn't have rustc installed and it
would just fail to parse the json. :)

>
> Paolo
>
>