Bug#1009097: meson: (autopkgtest) needs update for python3.10: MesonVersionMismatchException.__init__() missing 1 required positional argument: 'current_version'

2022-04-12 Thread Stefano Rivera
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'

2022-04-09 Thread Paul Gevers

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'

2022-04-09 Thread Jussi Pakkanen
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'

2022-04-08 Thread Paul Gevers

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'

2022-04-08 Thread Jussi Pakkanen
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'

2022-04-07 Thread Paul Gevers

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