You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
inspect.signature throws RuntimeError on select.epoll.register #83685
From the documentation of inspect.signature it seems we should never have a RuntimeError:
Raises ValueError if no signature can be provided, and TypeError if that type of object is not supported.
The easiest thing to do is just turn the RuntimeError into a ValueError... but I'll take a deeper look and see if I can actually fix this.
Traceback below:
>>> import sys
>>> sys.version
'3.8.0 (default, Nov 14 2019, 22:29:45) \n[GCC 5.4.0 20160609]'
>>> import inspect
>>> import select
>>> inspect.signature(select.epoll.register)
Traceback (most recent call last):
File "/usr/lib/python3.8/inspect.py", line 2004, in wrap_value
value = eval(s, module_dict)
File "<string>", line 1, in <module>
NameError: name 'EPOLLIN' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.8/inspect.py", line 2007, in wrap_value
value = eval(s, sys_module_dict)
File "<string>", line 1, in <module>
NameError: name 'EPOLLIN' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/inspect.py", line 3093, in signature
return Signature.from_callable(obj, follow_wrapped=follow_wrapped)
File "/usr/lib/python3.8/inspect.py", line 2842, in from_callable
return _signature_from_callable(obj, sigcls=cls,
File "/usr/lib/python3.8/inspect.py", line 2296, in _signature_from_callable
return _signature_from_builtin(sigcls, obj,
File "/usr/lib/python3.8/inspect.py", line 2109, in _signature_from_builtin
return _signature_fromstr(cls, func, s, skip_bound_arg)
File "/usr/lib/python3.8/inspect.py", line 2057, in _signature_fromstr
p(name, default)
File "/usr/lib/python3.8/inspect.py", line 2039, in p
default_node = RewriteSymbolics().visit(default_node)
File "/usr/lib/python3.8/ast.py", line 360, in visit
return visitor(node)
File "/usr/lib/python3.8/ast.py", line 445, in generic_visit
new_node = self.visit(old_value)
File "/usr/lib/python3.8/ast.py", line 360, in visit
return visitor(node)
File "/usr/lib/python3.8/ast.py", line 445, in generic_visit
new_node = self.visit(old_value)
File "/usr/lib/python3.8/ast.py", line 360, in visit
return visitor(node)
File "/usr/lib/python3.8/inspect.py", line 2031, in visit_Name
return wrap_value(node.id)
File "/usr/lib/python3.8/inspect.py", line 2009, in wrap_value
raise RuntimeError()
RuntimeError
Activity
hauntsaninja commentedon Jan 31, 2020
From the documentation of
inspect.signatureit seems we should never have a RuntimeError:The easiest thing to do is just turn the RuntimeError into a ValueError... but I'll take a deeper look and see if I can actually fix this.
Traceback below:
pythongh-85267: Improvements to inspect.signature __text_signature__ …
gh-85267: Improvements to inspect.signature __text_signature__ handli…
[3.11] pythongh-85267: Improvements to inspect.signature __text_signa…
[3.10] pythongh-85267: Improvements to inspect.signature __text_signa…
[3.11] gh-85267: Improvements to inspect.signature __text_signature__…
[3.10] gh-85267: Improvements to inspect.signature __text_signature__…
Merged main into regmachine branch (#50)
arhadthedev commentedon Feb 9, 2023
Should this bugfix be backported? Asking since it was reported for 3.11 once again, in gh-101717.
hauntsaninja commentedon Feb 9, 2023
This was backported