Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

layers order - config plugin - crash #618

Closed
rhubert opened this issue Feb 26, 2025 · 3 comments
Closed

layers order - config plugin - crash #618

rhubert opened this issue Feb 26, 2025 · 3 comments
Labels

Comments

@rhubert
Copy link
Contributor

rhubert commented Feb 26, 2025

Describe the bug

Depending on the order of the layers I observed a crash.

Steps to reproduce

Unpack the attached reproducer + bob layers update + bob ls or any other command parsing the recipes.

The issue did not occur if the order of the layers in config.yaml is different:

No-crashes for:

 - foo
 - bar
 - basement
 - basement
 - foo
 - bar

Backtrace

An internal Exception has occured. This should not have happenend.
Please open an issue at https://github.com/BobBuildTool/bob with the following backtrace:
Bob version 0.25.0
Traceback (most recent call last):
  File "/home/hubert/bob_venv/lib/python3.12/site-packages/bob/scripts.py", line 152, in catchErrors
    ret = fun(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^
  File "/home/hubert/bob_venv/lib/python3.12/site-packages/bob/scripts.py", line 261, in cmd
    ret = cmd(args.args, bobRoot)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hubert/bob_venv/lib/python3.12/site-packages/bob/scripts.py", line 59, in __ls
    doLS(*args, **kwargs)
  File "/home/hubert/bob_venv/lib/python3.12/site-packages/bob/cmds/misc.py", line 107, in doLS
    recipes.parse(defines)
  File "/home/hubert/bob_venv/lib/python3.12/site-packages/bob/input.py", line 3506, in parse
    self.__parse(envOverrides, platform, recipesRoot)
  File "/home/hubert/bob_venv/lib/python3.12/site-packages/bob/input.py", line 3557, in __parse
    recipe.resolveClasses(recipeEnv)
  File "/home/hubert/bob_venv/lib/python3.12/site-packages/bob/input.py", line 2208, in resolveClasses
    p.inherit(cls.__properties[n])
              ~~~~~~~~~~~~~~~~^^^
KeyError: 'Config'

repocase.tar.gz

@rhubert rhubert added the bug label Feb 26, 2025
@icedieler
Copy link
Contributor

I can reproduce the same bug. Reordering the layers then has other side effects that e.g. m4 tools are found missing.

@jkloetzke
Copy link
Member

This was fixed already by #603 (d08ac37 to be precise).

The missing m4 tool is most probably related to the updates of BobBuildTool/basement#247. You will probably have to pull the basement layer. If the problem persists, we should track the issue separately over there.

@rhubert
Copy link
Contributor Author

rhubert commented Feb 27, 2025

Thanks - I can confirm that the error is not raised using master...

@rhubert rhubert closed this as completed Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants