Message399763
I'm pretty sure the frame locals is involved.
This leaks (not a is being re-raised, not b):
---------------------
def test_no_hang_on_context_chain_cycle2():
class A(Exception): pass
class B(Exception): pass
try:
try:
raise A()
except A as _a:
a = _a
try:
raise B()
except B as _b:
b = _b
raise a
except A:
pass
---------------------
But this doesn't leak:
---------------------
def test_no_hang_on_context_chain_cycle2():
class A(Exception): pass
class B(Exception): pass
try:
try:
raise A()
except A as _a:
a = _a
try:
raise B()
except B as _b:
pass # b = _b <== not saving b in a local
raise a
except A:
pass
--------------------- |
|
Date |
User |
Action |
Args |
2021-08-17 16:08:12 | iritkatriel | unlink | issue44895 messages |
2021-08-17 16:05:33 | iritkatriel | set | recipients:
+ iritkatriel, vstinner, chris.jerdonek, lukasz.langa, Mark.Shannon, corona10, pablogsal, miss-islington |
2021-08-17 16:05:33 | iritkatriel | set | messageid: <1629216333.18.0.208445058465.issue44895@roundup.psfhosted.org> |
2021-08-17 16:05:33 | iritkatriel | link | issue44895 messages |
2021-08-17 16:05:33 | iritkatriel | create | |
|