Skip to content
Snippets Groups Projects
Commit 63ede7a43a37 authored by Julien Cristau's avatar Julien Cristau
Browse files

demandimport: don't delay threading import

A recent cpython change breaks demandimport by importing threading
locally in importlib.util.LazyLoader.exec_module; add it (plus warnings
and _weakrefset, which are imported by threading) to demandimport's
ignore list.

```
Traceback (most recent call last):
  File "/usr/bin/hg", line 57, in <module>
    from mercurial import dispatch
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module
    super().exec_module(module)
  File "<frozen importlib.util>", line 257, in exec_module
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module
    super().exec_module(module)
  File "<frozen importlib.util>", line 267, in exec_module
AttributeError: partially initialized module 'threading' has no attribute 'RLock' (most likely due to a circular import)
```

Ref: https://github.com/python/cpython/issues/117983
     https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076449
     https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076747
parent e6508d1e0b47
2 merge requests!909branching: merge stable into default post 6.8.1,!898demandimport: don't delay threading import
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment