mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Frank Wunderlich <frank-w@public-files.de>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: RecursionError when try to check bindings (ubuntu 22.04 / Python3.10)
Date: Mon, 4 Sep 2023 20:18:10 +0200	[thread overview]
Message-ID: <fe976c19-0f40-5e35-6704-6d014eccd376@linaro.org> (raw)
In-Reply-To: <trinity-cb228db4-32f9-4606-b733-2d148073de5d-1693739337284@3c-app-gmx-bap43>

On 03/09/2023 13:08, Frank Wunderlich wrote:
> Hi,
> 
> i tried to check a binding-file with 6.5 kernelsource and get this error
> 
>   GNU nano 6.2                                                            dt.log
>   LINT    Documentation/devicetree/bindings
>   CHKDT   Documentation/devicetree/bindings/processed-schema.json
>   SCHEMA  Documentation/devicetree/bindings/processed-schema.json
> Traceback (most recent call last):
>   File "/home/frank/.local/bin/dt-mk-schema", line 38, in <module>
>     schemas = dtschema.DTValidator(args.schemas).schemas
>   File "/home/frank/.local/lib/python3.10/site-packages/dtschema/validator.py", line 354, in __init__
>     self.schemas = process_schemas(schema_files)
>   File "/home/frank/.local/lib/python3.10/site-packages/dtschema/validator.py", line 271, in process_schemas
>     sch = process_schema(os.path.abspath(filename))
>   File "/home/frank/.local/lib/python3.10/site-packages/dtschema/validator.py", line 248, in process_schema
>     dtsch.is_valid()
>   File "/home/frank/.local/lib/python3.10/site-packages/dtschema/schema.py", line 145, in is_valid
>     for error in self.DtValidator(self.DtValidator.META_SCHEMA).iter_errors(self):
>   File "/home/frank/.local/lib/python3.10/site-packages/jsonschema/validators.py", line 242, in iter_errors
>     for error in errors:
>   File "/home/frank/.local/lib/python3.10/site-packages/jsonschema/_validators.py", line 362, in allOf
>     yield from validator.descend(instance, subschema, schema_path=index)
>   File "/home/frank/.local/lib/python3.10/site-packages/jsonschema/validators.py", line 258, in descend
>     for error in self.evolve(schema=schema).iter_errors(instance):
> 
> block from line 242-258 repeats many times (~2000 lines in log)
> 
>   File "/home/frank/.local/lib/python3.10/site-packages/jsonschema/validators.py", line 242, in iter_errors
>     for error in errors:
>   File "/home/frank/.local/lib/python3.10/site-packages/jsonschema/_legacy_validators.py", line 216, in recursiveRef
>     lookup_url, next_target = validator.resolver.resolve(each)
>   File "/home/frank/.local/lib/python3.10/site-packages/jsonschema/validators.py", line 835, in resolve
>     url = self._urljoin_cache(self.resolution_scope, ref).rstrip("/")
> RecursionError: maximum recursion depth exceeded in comparison
> 
> make[2]: *** [Documentation/devicetree/bindings/Makefile:68: Documentation/devicetree/bindings/processed-schema.json] Error 1
> make[2]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema.json'
> make[1]: *** [/media/data_nvme/git/kernel/BPI-R2-4.14/Makefile:1516: dt_binding_check] Error 2
> make: *** [Makefile:234: __sub-make] Error 2
> 
> my command is (after importing defconfig, also tried a clean before):
> 
> ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make dt_binding_check
> 
> already did an update of dtschema with "pip3 install dtschema --upgrade" and also an uninstall/install of this python-package
> 
> $ pip3 show dtschema
> Name: dtschema
> Version: 2023.7
> Summary: DeviceTree validation schema and tools
> Home-page: https://github.com/devicetree-org/dt-schema
> Author: Rob Herring
> Author-email: robh@kernel.org
> License: BSD
> Location: /home/frank/.local/lib/python3.10/site-packages
> Requires: jsonschema, pylibfdt, rfc3987, ruamel.yaml
> Required-by:
> 
> any idea what can be the cause?

Can you share the reproduction steps? This probably is some error in
schema which is then not nicely handled by dtschema.

Best regards,
Krzysztof


  reply	other threads:[~2023-09-04 18:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-03 11:08 Frank Wunderlich
2023-09-04 18:18 ` Krzysztof Kozlowski [this message]
2023-09-04 18:33   ` Aw: " Frank Wunderlich
2023-09-04 19:21     ` Krzysztof Kozlowski
2023-09-04 19:27       ` Aw: " Frank Wunderlich
2023-09-04 19:17   ` Aw: " Frank Wunderlich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fe976c19-0f40-5e35-6704-6d014eccd376@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frank-w@public-files.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®