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

RecursionError when running meson configure in source directory (on today's meson master; commit d31db565e1405b303390) #5376

Closed
1ace opened this issue May 9, 2019 · 2 comments

Comments

@1ace
Copy link
Contributor

1ace commented May 9, 2019

Running meson configure in Mesa's source directory (at Mesa commit 8b3baa274406e9bcde42 in case the issue disappears later) crashes:

Traceback (most recent call last):
  File "/home/eric/dev/scm/meson/mesonbuild/mesonmain.py", line 127, in run
    return options.run_func(options)
  File "/home/eric/dev/scm/meson/mesonbuild/mconf.py", line 200, in run
    c = Conf(builddir)
  File "/home/eric/dev/scm/meson/mesonbuild/mconf.py", line 56, in __init__
    intr.analyze()
  File "/home/eric/dev/scm/meson/mesonbuild/ast/introspection.py", line 276, in analyze
    self.run()
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 407, in run
    self.evaluate_codeblock(self.ast, start=1)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 431, in evaluate_codeblock
    raise e
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 425, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 436, in evaluate_statement
    return self.function_call(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 773, in function_call
    return func(node, posargs, kwargs)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 162, in func_subdir
    self.evaluate_codeblock(codeblock)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 431, in evaluate_codeblock
    raise e
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 425, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 436, in evaluate_statement
    return self.function_call(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 773, in function_call
    return func(node, posargs, kwargs)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 162, in func_subdir
    self.evaluate_codeblock(codeblock)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 431, in evaluate_codeblock
    raise e
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 425, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 446, in evaluate_statement
    return self.evaluate_if(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 232, in evaluate_if
    self.evaluate_codeblock(i.block)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 431, in evaluate_codeblock
    raise e
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 425, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 436, in evaluate_statement
    return self.function_call(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 773, in function_call
    return func(node, posargs, kwargs)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 162, in func_subdir
    self.evaluate_codeblock(codeblock)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 431, in evaluate_codeblock
    raise e
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 425, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 438, in evaluate_statement
    return self.assignment(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 244, in assignment
    self.assign_vals[node.var_name] = [self.evaluate_statement(node.value)] # Evaluate the value just in case
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 436, in evaluate_statement
    return self.function_call(cur)
  File "/home/eric/dev/scm/meson/mesonbuild/interpreterbase.py", line 764, in function_call
    (posargs, kwargs) = self.reduce_arguments(node.args)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 203, in reduce_arguments
    return self.flatten_args(args.arguments), args.kwargs
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 305, in flatten_args
    flattend_args += self.flatten_args(quick_resolve(i), include_unknown_args, id_loop_detect + [i.value])
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 277, in flatten_args
    args = self.flatten_args(l, include_unknown_args, id_loop_detect) + self.flatten_args(r, include_unknown_args, id_loop_detect)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 277, in flatten_args
    args = self.flatten_args(l, include_unknown_args, id_loop_detect) + self.flatten_args(r, include_unknown_args, id_loop_detect)
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 277, in flatten_args
    args = self.flatten_args(l, include_unknown_args, id_loop_detect) + self.flatten_args(r, include_unknown_args, id_loop_detect)
  [Previous line repeated 962 more times]
  File "/home/eric/dev/scm/meson/mesonbuild/ast/interpreter.py", line 247, in flatten_args
    def quick_resolve(n: BaseNode, loop_detect: Optional[List[str]] = None) -> Any:
  File "/usr/lib/python3.7/typing.py", line 248, in inner
    return cached(*args, **kwds)
  File "/usr/lib/python3.7/typing.py", line 664, in __hash__
    return hash((self.__origin__, self.__args__))
RecursionError: maximum recursion depth exceeded while calling a Python object
@mensinda
Copy link
Member

mensinda commented May 9, 2019

This is a bug in the ast interpreter. I will try to fix this. Also, #5375 might be related to #5286 but I will have to look into this.

@1ace 1ace changed the title IndexError when running meson configure in source directory (on today's meson master; commit d31db565e1405b303390) RecursionError when running meson configure in source directory (on today's meson master; commit d31db565e1405b303390) May 9, 2019
mensinda added a commit to mensinda/meson that referenced this issue May 12, 2019
@mensinda
Copy link
Member

This should be fixed with #5387.

tbeloqui pushed a commit to pexip/meson that referenced this issue Aug 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants