This project is archived. Its data is read-only. This project is read-only.
Unhandled NoneType exception
## Summary [//]: # (Summarize the bug encountered concisely) If you have an element with "depends:" but nothing in the depends, it gives a nonetype error ## Steps to reproduce make a normal element and add a "depends:" line to it, but no dependency beneath it > kind: stack > > description: | > > > > Main stack target for the bst build test > > > > depends: > > Attempt to build this project and you will get an exception [//]: # (How one can reproduce the issue - this is very important) ## What is the current bug behavior? [//]: # (What actually happens) A NoneType exception is thrown ## What is the expected correct behavior? [//]: # (What you should see instead) I would expect an invalid YAML error ## Relevant logs and/or screenshots Traceback (most recent call last): File "/home/phillipsmyth/.local/bin/bst", line 8, in <module> sys.exit(cli()) File "/home/phillipsmyth/.local/lib/python3.5/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/home/phillipsmyth/projects/buildstream/buildstream/_frontend/cli.py", line 166, in override_main standalone_mode=standalone_mode, **extra) File "/home/phillipsmyth/.local/lib/python3.5/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/home/phillipsmyth/.local/lib/python3.5/site-packages/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/phillipsmyth/.local/lib/python3.5/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/phillipsmyth/.local/lib/python3.5/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/home/phillipsmyth/.local/lib/python3.5/site-packages/click/decorators.py", line 27, in new_func return f(get_current_context().obj, *args, **kwargs) File "/home/phillipsmyth/projects/buildstream/buildstream/_frontend/cli.py", line 336, in build build_all=all_) File "/home/phillipsmyth/projects/buildstream/buildstream/_stream.py", line 182, in build dynamic_plan=True) File "/home/phillipsmyth/projects/buildstream/buildstream/_stream.py", line 952, in _load fetch_subprojects=fetch_subprojects) File "/home/phillipsmyth/projects/buildstream/buildstream/_pipeline.py", line 111, in load fetch_subprojects=fetch_subprojects) File "/home/phillipsmyth/projects/buildstream/buildstream/_project.py", line 334, in load_elements fetch_subprojects=fetch_subprojects) File "/home/phillipsmyth/projects/buildstream/buildstream/_loader/loader.py", line 134, in load loader._load_file(name, rewritable, ticker, fetch_subprojects, yaml_cache) File "/home/phillipsmyth/projects/buildstream/buildstream/_loader/loader.py", line 278, in _load_file element = LoadElement(node, filename, self) File "/home/phillipsmyth/projects/buildstream/buildstream/_loader/loadelement.py", line 78, in __init__ self.deps = _extract_depends_from_node(self.node) File "/home/phillipsmyth/projects/buildstream/buildstream/_loader/loadelement.py", line 135, in _extract_depends_from_node depends = _extract_depends_from_node(node, key=Symbol.DEPENDS) File "/home/phillipsmyth/projects/buildstream/buildstream/_loader/loadelement.py", line 149, in _extract_depends_from_node for index, dep in enumerate(depends): TypeError: 'NoneType' object is not iterable [//]: # (Paste any relevant logs - please use code blocks ``` to format console output, logs, and code as it's hard to read otherwise. You can also add a Snippet and link it here. Check the markdown giude on Gitlab for further tips) ## Possible fixes [//]: # (If you can, link to the line of code that might be responsible for the problem) ## Other relevant information [//]: # (Add the BuildStream version. Substitute below the "x" by "1", "2" or the right version. Add more than one version if necessary) * BuildStream version affected: /milestone %BuildStream_v1.x ----
issue