grpc fails to build with Python 3.11.0b3. Traceback (most recent call last): File "/usr/lib64/python3.11/unittest/case.py", line 57, in testPartExecutor yield ^^^^^ File "/usr/lib64/python3.11/unittest/case.py", line 623, in run self._callTestMethod(testMethod) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/unittest/case.py", line 579, in _callTestMethod if method() is not None: ^^^^^^^^ File "/builddir/build/BUILD/grpc-1.46.3/src/python/grpcio_tests/tests/unit/beta/_implementations_test.py", line 46, in test_google_call_credentials call_creds = implementations.google_call_credentials(creds) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILDROOT/grpc-1.46.3-4.fc37~bootstrap.x86_64/usr/lib64/python3.11/site-packages/grpc/beta/implementations.py", line 59, in google_call_credentials return metadata_call_credentials(_auth.GoogleCallCredentials(credentials)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILDROOT/grpc-1.46.3-4.fc37~bootstrap.x86_64/usr/lib64/python3.11/site-packages/grpc/_auth.py", line 33, in __init__ self._is_jwt = 'additional_claims' in inspect.getargspec( # pylint: disable=deprecated-method ^^^^^^^^^^^^^^^^^^ AttributeError: module 'inspect' has no attribute 'getargspec' See from https://docs.python.org/3.11/whatsnew/3.11.html#removed Removed from the inspect module: the getargspec function, deprecated since Python 3.0; use inspect.signature() or inspect.getfullargspec() instead. In the copr, grpc is currently the package that directly blocks most other packages from resolving their buildroot, that is 56 other packages need it and 4 of them are only blocked by grpc and nothing else, hence setting severity to high. For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.11/fedora-rawhide-x86_64/04506073-grpc/ For all our attempts to build grpc with Python 3.11, see: https://copr.fedorainfracloud.org/coprs/@python/python3.11/package/grpc/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.11: https://copr.fedorainfracloud.org/coprs/@python/python3.11/ Let us know here if you have any questions. Python 3.11 is planned to be included in Fedora 37. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.11. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
At a glance, I can easily fix this by using inspect.getfullargspec instead. I’ll get it properly reported and a PR sent upstream soon, probably today or tomorrow, and I’ll fix the Fedora package then.
Note that there are a couple more different assertion errors in the log, this might or might not fix them as well.
(In reply to Miro Hrončok from comment #2) > Note that there are a couple more different assertion errors in the log, > this might or might not fix them as well. Indeed, the PR[1] looks good, but there are still five failures in ChannelzServicerTest: > FAILURE channelz._channelz_servicer_test.ChannelzServicerTest.test_get_one_server > FAILURE channelz._channelz_servicer_test.ChannelzServicerTest.test_server_basic > FAILURE channelz._channelz_servicer_test.ChannelzServicerTest.test_server_call > FAILURE channelz._channelz_servicer_test.ChannelzServicerTest.test_server_listen_sockets > FAILURE channelz._channelz_servicer_test.ChannelzServicerTest.test_server_sockets Most likely, reporting and skipping them (without expecting a fix in the short term) will be the best I can do, but I will take a little time to see if I can get anywhere with them first. I also make sure to make sure there aren’t any additional failures after skipping them. [1] https://src.fedoraproject.org/rpms/grpc/pull-request/13
New bug for ChannelzServicerTest regressions, which I am simply skipping for now: https://bugzilla.redhat.com/show_bug.cgi?id=2095832
FEDORA-2022-928edb022f has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-928edb022f
FEDORA-2022-928edb022f has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.