Bug#1009097: meson: (autopkgtest) needs update for python3.10: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version'
Hi Jussi (2022.04.09_07:18:01_-0400) > This is due to we having to poke distutils internals because Debian > patched distutils to produce different results for install directories > than sysconfig (the latter was incorrect). Is there now a guarantee > that starting with 3.10 sysconfig points to the correct place (I don't > remember the details, but it had something to do with dist-packages vs > site-packages). distutils is scheduled for removal in 3.12, so more tools are relying on sysconfig being correct, which lead us to fixing that. See: https://lists.debian.org/debian-python/2022/03/msg00039.html sysconfig is now correct, and you can rely on it staying that way. However, that doesn't mean everything is straight-forward. You'll need to figure out what the right way to approach these changes in meson is. I was pointed to bug 1009452 today that is probably fallout from this change. Not knowing meson at all, I don't know what the correct approach to tackle it in Meson is. But I'll do my best to advice you. SR -- Stefano Rivera http://tumbleweed.org.za/ +1 415 683 3272
Bug#1009097: meson: (autopkgtest) needs update for python3.10: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version'
Hi On 09-04-2022 13:18, Jussi Pakkanen wrote: Is there now a guarantee that starting with 3.10 sysconfig points to the correct place (I don't remember the details, but it had something to do with dist-packages vs site-packages). I'm not involved in Python packaging. You'll have to ask the maintainers. Paul OpenPGP_signature Description: OpenPGP digital signature
Bug#1009097: meson: (autopkgtest) needs update for python3.10: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version'
On Fri, 8 Apr 2022 at 22:21, Paul Gevers wrote: > >> I copied some of the output at the bottom of this report. I noticed that > >> there is a new version of meson in unstable, it fails too, but in a > >> different way. > > > > Can you provide the logs for that? > > Traceback (most recent call last): >File "/usr/bin/meson", line 29, in > sys.exit(mesonmain.main()) > > mesonbuild.interpreterbase.exceptions.InterpreterException: Problem > encountered: Python3 purelib path seems invalid? This should be fixed by https://github.com/mesonbuild/meson/pull/10254 This is due to we having to poke distutils internals because Debian patched distutils to produce different results for install directories than sysconfig (the latter was incorrect). Is there now a guarantee that starting with 3.10 sysconfig points to the correct place (I don't remember the details, but it had something to do with dist-packages vs site-packages).
Bug#1009097: meson: (autopkgtest) needs update for python3.10: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version'
Hi On 08-04-2022 19:53, Jussi Pakkanen wrote: On Thu, 7 Apr 2022 at 11:36, Paul Gevers wrote: I copied some of the output at the bottom of this report. I noticed that there is a new version of meson in unstable, it fails too, but in a different way. Can you provide the logs for that? e.g. https://ci.debian.net/data/autopkgtest/unstable/amd64/m/meson/20672106/log.gz Traceback (most recent call last): File "/usr/bin/meson", line 29, in sys.exit(mesonmain.main()) File "/usr/lib/python3/dist-packages/mesonbuild/mesonmain.py", line 269, in main return run(sys.argv[1:], launcher) File "/usr/lib/python3/dist-packages/mesonbuild/mesonmain.py", line 260, in run return CommandLineParser().run(args) File "/usr/lib/python3/dist-packages/mesonbuild/mesonmain.py", line 151, in run return options.run_func(options) File "/usr/lib/python3/dist-packages/mesonbuild/msetup.py", line 301, in run app.generate() File "/usr/lib/python3/dist-packages/mesonbuild/msetup.py", line 185, in generate self._generate(env) File "/usr/lib/python3/dist-packages/mesonbuild/msetup.py", line 229, in _generate intr.run() File "/usr/lib/python3/dist-packages/mesonbuild/interpreter/interpreter.py", line 2698, in run super().run() File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 149, in run self.evaluate_codeblock(self.ast, start=1) File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 174, in evaluate_codeblock raise e File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 167, in evaluate_codeblock self.evaluate_statement(cur) File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 190, in evaluate_statement return self.evaluate_if(cur) File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 273, in evaluate_if self.evaluate_codeblock(i.block) File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 174, in evaluate_codeblock raise e File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 167, in evaluate_codeblock self.evaluate_statement(cur) File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 180, in evaluate_statement return self.function_call(cur) File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", line 455, in function_call res = func(node, func_args, kwargs) File "/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 73, in wrapped return f(*wrapped_args, **wrapped_kwargs) File "/usr/lib/python3/dist-packages/mesonbuild/interpreter/interpreter.py", line 1322, in func_error raise InterpreterException('Problem encountered: ' + ' '.join(args_str)) mesonbuild.interpreterbase.exceptions.InterpreterException: Problem encountered: Python3 purelib path seems invalid? Paul OpenPGP_signature Description: OpenPGP digital signature
Bug#1009097: meson: (autopkgtest) needs update for python3.10: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version'
On Thu, 7 Apr 2022 at 11:36, Paul Gevers wrote: > I copied some of the output at the bottom of this report. I noticed that > there is a new version of meson in unstable, it fails too, but in a > different way. Can you provide the logs for that? I have looked at the error message and it makes zero sense. It's complaining about a missing argument to a constructor but grepping says that every place we create said classes we pass two arguments. In fact it seems like something goes wrong in Python's serialisation/deserialisation code. In fact I have a vague suspicion that the underlying issue might be the same as for #1004107. Sadly nobody has managed to reproduce either of those. If one could run a full distro built with tsan, this issue would probably reveal itself fairly quickly.
Bug#1009097: meson: (autopkgtest) needs update for python3.10: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version'
Source: meson Version: 0.61.2-1 Severity: serious Tags: sid bookworm User: debian...@lists.debian.org Usertags: needs-update User: debian-pyt...@lists.debian.org Usertags: python3.10 Control: affects -1 src:python3-defaults Dear maintainer(s), We are in the transition of making python3.10 the default Python versions [0]. With a recent upload of python3-defaults the autopkgtest of meson fails in testing when that autopkgtest is run with the binary packages of python3-defaults from unstable. It passes when run with only packages from testing. In tabular form: passfail python3-defaults from testing3.10.4-1 meson from testing0.61.2-1 all others from testingfrom testing I copied some of the output at the bottom of this report. I noticed that there is a new version of meson in unstable, it fails too, but in a different way. Currently this regression is blocking the migration of python3-defaults to testing [1]. https://docs.python.org/3/whatsnew/3.10.html lists what's new in Python3.10, it may help to identify what needs to be updated. More information about this bug and the reason for filing it can be found on https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation Paul [0] https://bugs.debian.org/1006836 [1] https://qa.debian.org/excuses.php?package=python3-defaults https://ci.debian.net/data/autopkgtest/testing/amd64/m/meson/20638412/log.gz concurrent.futures.process._RemoteTraceback: ''' Traceback (most recent call last): File "/usr/lib/python3.10/concurrent/futures/process.py", line 384, in wait_result_broken_or_wakeup result_item = result_reader.recv() File "/usr/lib/python3.10/multiprocessing/connection.py", line 256, in recv return _ForkingPickler.loads(buf.getbuffer()) TypeError: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version' ''' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/tmp/autopkgtest-lxc.avpk8i5g/downtmp/build.1dt/src/run_project_tests.py", line 1566, in res = run_tests(all_tests, 'meson-test-run', options.failfast, options.extra_args, options.use_tmpdir, options.num_workers) File "/tmp/autopkgtest-lxc.avpk8i5g/downtmp/build.1dt/src/run_project_tests.py", line 1113, in run_tests return _run_tests(all_tests, log_name_base, failfast, extra_args, use_tmp, num_workers, lf) File "/tmp/autopkgtest-lxc.avpk8i5g/downtmp/build.1dt/src/run_project_tests.py", line 1250, in _run_tests result = f.result File "/tmp/autopkgtest-lxc.avpk8i5g/downtmp/build.1dt/src/run_project_tests.py", line 1140, in result return self.future.result() if self.future else None File "/usr/lib/python3.10/concurrent/futures/_base.py", line 446, in result return self.__get_result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 391, in __get_result raise self._exception concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending. OpenPGP_signature Description: OpenPGP digital signature