Uploaded image for project: 'Red Hat Enterprise Linux AI'
  1. Red Hat Enterprise Linux AI
  2. RHELAI-2563

[python-wheel-build/fromager] maximum recursion depth error when writing installation dependencies after bootstrapping

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • Fromager
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      [2721206023] Upstream Reporter: Doug Hellmann
      Upstream description:

      ```
      DEBUG:fromager._main_:254: maximum recursion depth exceeded
      Traceback (most recent call last):
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/_main_.py", line 252, in invoke_main
      main(auto_envvar_prefix="FROMAGER")
      File "/opt/app-root/lib64/python3.11/site-packages/click/core.py", line 1157, in _call_
      return self.main(*args, **kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/click/core.py", line 1078, in main
      rv = self.invoke(ctx)
      ^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/click/core.py", line 1688, in invoke
      return _process_result(sub_ctx.command.invoke(sub_ctx))
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/click/core.py", line 1434, in invoke
      return ctx.invoke(self.callback, **ctx.params)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/click/core.py", line 783, in invoke
      return __callback(*args, **kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/click/decorators.py", line 45, in new_func
      return f(get_current_context().obj, *args, **kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/commands/bootstrap.py", line 156, in bootstrap
      if not write_constraints_file(graph=wkctx.dependency_graph, output=f):
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/commands/bootstrap.py", line 168, in write_constraints_file
      conflicts = graph.get_install_dependency_versions()
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/dependency_graph.py", line 274, in get_install_dependency_versions
      for node in self.get_install_dependencies():
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/dependency_graph.py", line 250, in get_install_dependencies
      for edge in self.get_dependency_edges(
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/dependency_graph.py", line 241, in get_dependency_edges
      for edge in self._depth_first_traversal(
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/dependency_graph.py", line 287, in _depth_first_traversal
      yield from self._depth_first_traversal(
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/dependency_graph.py", line 287, in _depth_first_traversal
      yield from self._depth_first_traversal(
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/dependency_graph.py", line 287, in _depth_first_traversal
      yield from self._depth_first_traversal(
      [Previous line repeated 979 more times]
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/dependency_graph.py", line 284, in _depth_first_traversal
      if match_dep_types and edge.req_type not in match_dep_types:
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/app-root/lib64/python3.11/site-packages/fromager/requirements_file.py", line 22, in _eq_
      if self.value == "build" or other.value == "build":
      ^^^^^^^^^^
      File "/usr/lib64/python3.11/enum.py", line 211, in _get_
      return self.fget(instance)
      ^^^^^^^^^^^^^^^^^^^
      RecursionError: maximum recursion depth exceeded
      ERROR:fromager._main_:258: ERROR: maximum recursion depth exceeded
      ```

      The inputs were

      ```
      INFO:fromager.commands.bootstrap:89: bootstrapping 'cuda-ubi9' variant of [<Requirement('haystack-ai==2.7.0')>, <Requirement('click<9.0.0,>=8.1.7')>, <Requirement('click-didyoumean>=0.3.0')>, <Requirement('datasets>=2.18.0')>, <Requirement('gguf>=0.6.0')>, <Requirement('GitPython>=3.1.42')>, <Requirement('httpx>=0.25.0')>, <Requirement('instructlab-eval>=0.4.0')>, <Requirement('instructlab-quantize>=0.1.0')>, <Requirement('instructlab-schema>=0.4.0')>, <Requirement('instructlab-sdg>=0.6.0')>, <Requirement('instructlab-training>=0.6.0')>, <Requirement('llama_cpp_python[server]==0.2.79')>, <Requirement('numpy<2.0.0,>=1.26.4')>, <Requirement('openai>=1.13.3')>, <Requirement('peft>=0.9.0')>, <Requirement('prompt-toolkit>=3.0.38')>, <Requirement('pydantic>=2.7.4')>, <Requirement('pydantic_yaml>=1.2.0')>, <Requirement('PyYAML>=6.0.0')>, <Requirement('rich>=13.3.1')>, <Requirement('rouge-score>=0.1.2')>, <Requirement('ruamel.yaml>=0.17.0')>, <Requirement('sentencepiece>=0.2.0')>, <Requirement('tokenizers>=0.11.1')>, <Requirement('toml>=0.10.2')>, <Requirement('torch<2.5.0,>=2.3.0')>, <Requirement('tqdm>=4.66.2')>, <Requirement('transformers>=4.41.2')>, <Requirement('trl>=0.9.4')>, <Requirement('wandb>=0.16.4')>, <Requirement('xdg-base-dirs>=6.0.1')>, <Requirement('psutil>=6.0.0')>, <Requirement('huggingface_hub[hf_transfer]>=0.1.8')>, <Requirement('instructlab-training[cuda]>=0.6.0')>, <Requirement('packaging>=20.9')>, <Requirement('wheel>=0.43')>, <Requirement('pyyaml')>, <Requirement('py-cpuinfo')>, <Requirement('torch>=2.3.0a0')>, <Requirement('transformers>=4.45.2')>, <Requirement('datasets>=2.15.0')>, <Requirement('numba')>, <Requirement('numpy<2.0.0,>=1.26.4; python_version != "3.10"')>, <Requirement('rich')>, <Requirement('instructlab-dolomite>=0.2.0')>, <Requirement('trl>=0.9.4')>, <Requirement('peft')>, <Requirement('pydantic>=2.7.0')>, <Requirement('aiofiles>=23.2.1')>, <Requirement('flash-attn>=2.4.0')>, <Requirement('bitsandbytes>=0.43.1')>, <Requirement('deepspeed>=0.14.3')>, <Requirement('accelerate<1.1.0,>=0.34.2')>, <Requirement('GitPython<4.0.0,>=3.1.42')>, <Requirement('shortuuid')>, <Requirement('openai<2.0.0,>=1.13.3')>, <Requirement('psutil')>, <Requirement('torch')>, <Requirement('transformers')>, <Requirement('accelerate')>, <Requirement('pandas')>, <Requirement('pandas-stubs')>, <Requirement('lm-eval>=0.4.4')>, <Requirement('httpx')>, <Requirement('click<9.0.0,>=8.1.7')>, <Requirement('datasets<3.0.0,>=2.18.0')>, <Requirement('docling[tesserocr]<3.0.0,>=2.4.2')>, <Requirement('GitPython<4.0.0,>=3.1.42')>, <Requirement('gguf>=0.6.0')>, <Requirement('httpx<1.0.0,>=0.25.0')>, <Requirement('instructlab-schema>=0.4.0')>, <Requirement('langchain-text-splitters')>, <Requirement('openai<2.0.0,>=1.13.3')>, <Requirement('sentencepiece>=0.2.0')>, <Requirement('tabulate>=0.9.0')>, <Requirement('tenacity!=8.4.0,>=8.3.0')>, <Requirement('torch<2.5.0,>=2.3.0')>, <Requirement('transformers>=4.41.2')>, <Requirement('xdg-base-dirs>=6.0.1')>]

      ```

              rh-ee-sbapna Shubh Bapna
              upstream-sync Upstream Sync
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: