Closed hswong3i closed 2 years ago
Thank you for the report. I don't have time for a detailed analysis just now, but just a few data points:
GenericMeta.__subclasscheck__()
logic [...] does not have problems with recursion", so such a recursion problem seems a bit expected.But the main question is: both version coming with such ‘class _ExtensionsGenericMeta(GenericMeta):’ with minor differences due to the remove support for Python 3.5, but the NEWER 4.1.1 failed unexpectedly :-S
From the backtrack log point of view, I couldn’t find any else related code block, too… Maybe due to my limited understanding about how typing-extensions works…
Is this reproducible on newer versions of Python and typing-extensions? We don't support 3.6 any more, and we won't be creating a patch release for the 4.1.x series.
A simple workaround should be to write self.log.debug('skipping empty subtree %s', str(cr_name))
.
Is this reproducible on newer versions of Python and typing-extensions? We don't support 3.6 any more, and we won't be creating a patch release for the 4.1.x series.
A simple workaround should be to write
self.log.debug('skipping empty subtree %s', str(cr_name))
.
My key concern is even I could manually patch my packaging release as below, and manually skip Python 3.6 for 4.1.1 as my own wish:
But when using pip list --out-dated
it will still showing 4.1.1 as available upgrade for me which is confusing...
I had checked all typing-extensions >3.7.4.3, <4.2.0
will break above Ceph 15.2.16, so from my point of view we shouldn't claim these affected version as Python 3.6 ready...
Anyway, ideally it would be much better for a minor patch release, e.g. 4.1.2, which fix this Python 3.6 conflict issue?
Python 3.6 is no longer supported and we won't provide patch releases for 4.1.x. You're welcome to patch the package yourself in your packaging system.
Also, the bad code has apparently been out for nearly five years, so I doubt it's a common problem for users of 3.6.
@hswong3i thanks for reporting the issue and for the workaround because we ran in the same BUG :pray:
My environment:
If running with
typing-extensions == 4.1.1
which should be the last compatible version with Python 3.6, it failed with following error message (trigger by https://github.com/ceph/ceph/blob/v15.2.16/src/pybind/mgr/pg_autoscaler/module.py#L325 and finally failed with https://github.com/python/typing/blob/4.1.1/typing_extensions/src/typing_extensions.py#L426):If rolling back to
typing-extensions == 3.7.4.3
the error message gone and all working well:Since downgrade
typing-extension
did the trick, it looks like something wrong with the 4.1.1 + Python 3.6 (which should be supported)? But I give a manually diff between 3.7.4.3..4.1.1 for bug related range seems nothing special for failling: