Repository navigation
Commit 76b4d22
committed
Free the deep lazy import chain on the main thread in test_lazy_import
test_deeply_dotted_name() builds a 10,000-deep chain of lazy import
placeholders in a thread with a 256 KiB C stack. Freeing the chain
there defers most deallocations to the trashcan, which only drains them
once the stack margin recovers. With a stack that small the margin
never does, so the deferred objects were leaked when the thread exited,
which -R reports as a reference leak on platforms with larger frames
such as PPC64LE.
Clear the namespace in a cleanup, which runs on the main thread.1 parent 9cb7a5b commit 76b4d22
1 file changed
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
321 | 324 | | |
322 | 325 | | |
323 | 326 | | |
| |||
0 commit comments