cheshirekow / cmake_format

Source code formatter for cmake listfiles.
GNU General Public License v3.0
949 stars 104 forks source link

ERROR An internal error occured. Please consider filing a bug report at github.com/cheshirekow/cmakelang/issues #289

Open benthevining opened 2 years ago

benthevining commented 2 years ago

I keep getting this stack trace from cmake-lint:

ERROR An internal error occured. Please consider filing a bug report at github.com/cheshirekow/cmakelang/issues
Traceback (most recent call last):
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/lint/__main__.py", line 185, in main
    return inner_main()
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/lint/__main__.py", line 168, in inner_main
    process_file(cfg, local_ctx, intext)
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/lint/__main__.py", line 45, in process_file
    parse_tree = parse.parse(tokens, ctx)
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/parse/__init__.py", line 68, in parse
    return BodyNode.consume(ctx, tokens)
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/parse/body_nodes.py", line 64, in consume
    subtree = FlowControlNode.consume(ctx, tokens)
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/parse/body_nodes.py", line 121, in consume
    body = BodyNode.consume(ctx, tokens, (endflow,))
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/parse/body_nodes.py", line 67, in consume
    subtree = StatementNode.consume(ctx, tokens)
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/parse/statement_node.py", line 89, in consume
    node.argtree = subtree = parse_fun(ctx, tokens, breakstack)
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/parse/funs/add_xxx.py", line 252, in parse_add_custom_target
    ctx.lint_ctx.record_lint("E1122", location=tokens[0].get_location())
  File "/Users/benvining/.cache/pre-commit/repoacwprtdr/py_env-python3/lib/python3.9/site-packages/cmakelang/lint/lint_util.py", line 90, in record_lint
    msg = spec.msgfmt.format(*args, **kwargs)
IndexError: Replacement index 0 out of range for positional args tuple

It doesn't seem to have much of a pattern, I get this with modules containing functions and simple toolchain files.

Any ideas?