Repository navigation
Closed
Labels
exceptionMajor bug that raises a python-level exceptionMajor bug that raises a python-level exceptionregressionrewriter
Milestone
Description
Describe the bug
meson rewrite kwargs info project / asserts:
Traceback (most recent call last):
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/mesonmain.py", line 193, in run
return options.run_func(options)
~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/rewriter.py", line 1180, in run
raise e
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/rewriter.py", line 1150, in run
rewriter.analyze_meson()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/rewriter.py", line 389, in analyze_meson
self.interpreter.analyze()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/introspection.py", line 346, in analyze
self.run()
~~~~~~~~^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 178, in run
self.evaluate_codeblock(self.ast, start=1)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 203, in evaluate_codeblock
raise e
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 195, in evaluate_codeblock
self.evaluate_statement(cur)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 767, in evaluate_statement
return super().evaluate_statement(cur)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 209, in evaluate_statement
return self.function_call(cur)
~~~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 770, in function_call
ret = super().function_call(node)
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 536, in function_call
res = func(node, func_args, kwargs)
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 690, in func_set_variable
self.evaluate_statement(equiv)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 767, in evaluate_statement
return super().evaluate_statement(cur)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 213, in evaluate_statement
self.assignment(cur)
~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 656, in assignment
self.evaluate_statement(node.value)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 767, in evaluate_statement
return super().evaluate_statement(cur)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 215, in evaluate_statement
return self.method_call(cur)
~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 305, in method_call
(args, kwargs) = self.reduce_arguments(node.args)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 348, in reduce_arguments
self.evaluate_statement(arg)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 767, in evaluate_statement
return super().evaluate_statement(cur)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 215, in evaluate_statement
return self.method_call(cur)
~~~~~~~~~~~~~~~~^^^^^
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 303, in method_call
obj = self.node_to_runtime_value(invocable)
File "/home/bgilbert/tmp/t/env/lib64/python3.14/site-packages/mesonbuild/ast/interpreter.py", line 556, in node_to_runtime_value
assert len(self.dataflow_dag.tgt_to_srcs[node]) == 1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
meson.build:4:54: ERROR: Unhandled python exception
This is a Meson bug and should be reported!
This is a 1.9.0 regression and bisects to aef7c97. cc @Volker-Weissmann
To Reproduce
project('a', 'c', license: 'MIT')
set_variable(
'z',
'-Wl,--version-script,@0@/src/lib.sym'.format(meson.current_source_dir())
)Expected behavior
{
"kwargs": {
"project#/": {
"license": "MIT"
}
}
}system parameters
- Is this a cross build or just a plain native build (for the same computer)?
native - what operating system (e.g. MacOS Catalina, Windows 10, CentOS 8.0, Ubuntu 18.04, etc.)
Fedora 43 - what Python version are you using e.g. 3.8.0
3.14.0 - what
meson --version
1.9.0 - what
ninja --versionif it's a Ninja build
1.13.1
Metadata
Metadata
Assignees
Labels
exceptionMajor bug that raises a python-level exceptionMajor bug that raises a python-level exceptionregressionrewriter
Activity
pcre2: move string formatting out of set_variable() call
Volker-Weissmann commentedon Nov 17, 2025
Mine
pcre2: move string formatting out of set_variable() call
rewrite: fix duplicate objects for globals
rewrite: fix duplicate objects for predefined globals
rewrite: fix duplicate objects for predefined globals
rewrite: fix duplicate objects for predefined globals
rewrite: fix duplicate objects for predefined globals