# catch Exception, not only ImportError and RecursionError.
except Exception:
# don't suggest to enable tracemalloc if it's not available
- tracing = True
+ suggest_tracemalloc = False
tb = None
else:
- tracing = tracemalloc.is_tracing()
try:
+ suggest_tracemalloc = not tracemalloc.is_tracing()
tb = tracemalloc.get_object_traceback(msg.source)
except Exception:
# When a warning is logged during Python shutdown, tracemalloc
# and the import machinery don't work anymore
+ suggest_tracemalloc = False
tb = None
if tb is not None:
if line:
line = line.strip()
s += ' %s\n' % line
- elif not tracing:
+ elif suggest_tracemalloc:
s += (f'{category}: Enable tracemalloc to get the object '
f'allocation traceback\n')
return s