-
Notifications
You must be signed in to change notification settings - Fork 123
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
Log message in west command __init__ func may cause infinite call stack #708
Comments
Thanks for the report! Can you please share:
|
Hi, @marc-hb , sorry my description is not quite clear. The issue happens on a west extension command and my installed west version is v1.2.0 Hook following extension command to a west project can reproduce the issue. # example.py
from west.commands import WestCommand
class Example(WestCommand):
def __init__(self):
super().__init__(
'example',
# Keep this in sync with the string in west-commands.yml.
'example',
"example")
# This may raise an exception
self.err("show a log")
def do_add_parser(self, parser_adder):
parser = self._parser(parser_adder, epilog='')
return parser
def do_run(self, args):
pass |
Initialization is often tricky: ordering dependencies can be hard. So it's not a major surprise that some things don't work (yet) in an This being said, error-handling should be better: better message and nothing should ever trigger an infinite loop/recursion. |
@yvesll can you please explain what prompted you to close this? |
I think we should not put too complex logic in |
If use any log api like
self.err
orself.die
in WestCommand's__init__
function, it may throw following exception:In
__init__
phase, the variableconfig
is None, but the propertycolor_ui
try infinitely get it fromconfig
The text was updated successfully, but these errors were encountered: