Skip to content

Instantly share code, notes, and snippets.

@graingert
Last active March 21, 2022 19:21
Show Gist options
  • Select an option

  • Save graingert/f5e81264dd3c3ab8a705809096fcc283 to your computer and use it in GitHub Desktop.

Select an option

Save graingert/f5e81264dd3c3ab8a705809096fcc283 to your computer and use it in GitHub Desktop.
import sys
import logging
import threading
import collections
class Record:
def __init__(self):
self.levelno = 0
class DequeHandler:
def __init__(self):
self.level = 0
self.deque = collections.deque(maxlen=1000)
def emit(self, record):
self.deque.append(record)
handle = emit
class Logger:
def __init__(self):
self.handlers = []
self.parent = None
self.propagate = False
def addHandler(self, handler):
self.handlers.append(handler)
def callHandlers(self, record):
"""
Pass a record to all relevant handlers.
Loop through all handlers for this logger and its parents in the
logger hierarchy. If no handler was found, output a one-off error
message to sys.stderr. Stop searching up the hierarchy whenever a
logger with the "propagate" attribute set to zero is found - that
will be the last logger whose handlers are called.
"""
c = self
found = 0
while c:
for hdlr in c.handlers:
found = found + 1
if record.levelno >= hdlr.level:
hdlr.handle(record)
if not c.propagate:
c = None #break out
else:
c = c.parent
logger = Logger()
def send_logs():
while True:
logger.callHandlers(Record())
def frame_infoer(ident):
while True:
f = sys._current_frames()[ident]
print(f"{f.f_lineno=} {f.f_lasti=} {f.f_code.co_name=} {f.f_code.co_filename=}")
if f.f_lineno is None:
breakpoint()
def main():
logger.addHandler(DequeHandler())
t = threading.Thread(target=send_logs)
t.start()
frame_infoer(t.ident)
if __name__ == "__main__":
sys.exit(main())
coverage run --source=. demo.py
blinker==1.4
brotlipy==0.7.0
certifi==2021.10.8
cffi @ file:///tmp/build/80754af9/cffi_1625814692085/work
chardet @ file:///tmp/build/80754af9/chardet_1607706775000/work
click==8.0.4
conda==4.11.0
conda-package-handling @ file:///tmp/build/80754af9/conda-package-handling_1618262147379/work
cryptography @ file:///tmp/build/80754af9/cryptography_1616767007030/work
-e git+git@github.com:dask/dask.git@d88b3442f6114a7e529338226eec2e342f3b62ed#egg=dask
decorator==5.1.1
distlib==0.3.4
filelock==3.4.2
Flask==2.0.3
httpbin==0.7.0
idna @ file:///home/linux1/recipes/ci/idna_1610986105248/work
itsdangerous==2.1.0
Jinja2==3.0.3
libmambapy @ file:///home/conda/feedstock_root/build_artifacts/mamba-split_1638990061747/work/libmambapy
mamba @ file:///home/conda/feedstock_root/build_artifacts/mamba-split_1638990061747/work/mamba
MarkupSafe==2.1.0
pbr==5.8.0
platformdirs==2.4.1
pycosat==0.6.3
pycparser @ file:///tmp/build/80754af9/pycparser_1594388511720/work
pyOpenSSL @ file:///tmp/build/80754af9/pyopenssl_1608057966937/work
PySocks @ file:///tmp/build/80754af9/pysocks_1605305812635/work
pytest-httpbin==1.0.1
raven==6.10.0
requests @ file:///tmp/build/80754af9/requests_1608241421344/work
ruamel-yaml-conda @ file:///tmp/build/80754af9/ruamel_yaml_1616016711199/work
six @ file:///tmp/build/80754af9/six_1623709665295/work
stevedore==3.5.0
tqdm @ file:///tmp/build/80754af9/tqdm_1625563689033/work
urllib3 @ file:///tmp/build/80754af9/urllib3_1625084269274/work
virtualenv==20.13.0
virtualenv-clone==0.5.7
virtualenvwrapper==4.8.4
Werkzeug==2.0.3
import sys
import pprint
def demo():
for i in range(1):
if i >= 0:
pass
class StopTracing(Exception):
pass
class Tracer:
def __init__(self):
self.events = []
def trace(self, frame, event, arg):
self.events.append((frame.f_lineno, frame.f_lasti, event))
frame.f_trace_lines = True
frame.f_trace_opcodes = True
return self.trace
def main():
t = Tracer()
old_trace = sys.gettrace()
try:
sys.settrace(t.trace)
demo()
finally:
sys.settrace(old_trace)
pprint.pp(t.events)
if __name__ == "__main__":
sys.exit(main())
@graingert

Copy link
Copy Markdown
Author
frame.f_lineno=955 frame.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
frame.f_lineno=955 frame.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
frame.f_lineno=None frame.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'

@graingert

Copy link
Copy Markdown
Author
f.f_lineno=332 f.f_lasti=262 f.f_code.co_name='__init__' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=1505 f.f_lasti=6 f.f_code.co_name='error' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=964 f.f_lasti=6 f.f_code.co_name='handle' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=1505 f.f_lasti=6 f.f_code.co_name='error' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/posixpath.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/posixpath.py'
f.f_lineno=1622 f.f_lasti=148 f.f_code.co_name='_log' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=-1 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=1496 f.f_lasti=-1 f.f_code.co_name='error' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=1496 f.f_lasti=-1 f.f_code.co_name='error' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=1496 f.f_lasti=-1 f.f_code.co_name='error' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=None f.f_lasti=52 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
> /home/graingert/projects/distributed/demo.py(23)frame_infoer()
-> while True:
(Pdb) 

@graingert

graingert commented Mar 21, 2022

Copy link
Copy Markdown
Author

and I can reproduce it on a plain python3.10.3 environment with just coverage==6.3.2

f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=806 f.f_lasti=-1 f.f_code.co_name='filter' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=119 f.f_lasti=16 f.f_code.co_name='splitext' f.f_code.co_filename='/usr/lib/python3.10/posixpath.py'
f.f_lineno=1697 f.f_lasti=58 f.f_code.co_name='callHandlers' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=1617 f.f_lasti=74 f.f_code.co_name='_log' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=144 f.f_lasti=24 f.f_code.co_name='basename' f.f_code.co_filename='/usr/lib/python3.10/posixpath.py'
f.f_lineno=1591 f.f_lasti=20 f.f_code.co_name='makeRecord' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=1591 f.f_lasti=20 f.f_code.co_name='makeRecord' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=1566 f.f_lasti=80 f.f_code.co_name='findCaller' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=912 f.f_lasti=-1 f.f_code.co_name='acquire' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=350 f.f_lasti=368 f.f_code.co_name='__init__' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/usr/lib/python3.10/posixpath.py'
f.f_lineno=1612 f.f_lasti=18 f.f_code.co_name='_log' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=1612 f.f_lasti=18 f.f_code.co_name='_log' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=283 f.f_lasti=-1 f.f_code.co_name='__init__' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=340 f.f_lasti=310 f.f_code.co_name='__init__' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=912 f.f_lasti=-1 f.f_code.co_name='acquire' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
f.f_lineno=None f.f_lasti=52 f.f_code.co_name='callHandlers' f.f_code.co_filename='/usr/lib/python3.10/logging/__init__.py'
> /home/graingert/projects/distributed/demo.py(23)frame_infoer()
-> while True:
(Pdb) import sys
(Pdb) sys.executable
'/home/graingert/.virtualenvs/coverage310-f-lineno-none/bin/python3.10'
(Pdb) sys.version_info
sys.version_info(major=3, minor=10, micro=3, releaselevel='final', serial=0)
(Pdb) import subprocess
(Pdb) subprocess.run([sys.executable, "-m", "pip", "freeze"])
coverage==6.3.2
CompletedProcess(args=['/home/graingert/.virtualenvs/coverage310-f-lineno-none/bin/python3.10', '-m', 'pip', 'freeze'], returncode=0)
(Pdb) 

@saaketp

saaketp commented Mar 21, 2022

Copy link
Copy Markdown

I can hit it too with python 3.10.3 and coverage 6.3.2
It was a bit too much history, here's like the last 1% of it

f.f_lineno=119 f.f_lasti=-1 f.f_code.co_name='getLevelName' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=140 f.f_lasti=-1 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=351 f.f_lasti=376 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=144 f.f_lasti=24 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1622 f.f_lasti=148 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1697 f.f_lasti=58 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1585 f.f_lasti=-1 f.f_code.co_name='makeRecord' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=964 f.f_lasti=6 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=140 f.f_lasti=-1 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=142 f.f_lasti=6 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1600 f.f_lasti=-1 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=189 f.f_lasti=-1 f.f_code.co_name='name' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/multiprocessing/process.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=14 f.f_lasti=-1 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=288 f.f_lasti=4 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1506 f.f_lasti=28 f.f_code.co_name='error' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1600 f.f_lasti=-1 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1431 f.f_lasti=6 f.f_code.co_name='current_thread' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/threading.py'
f.f_lineno=340 f.f_lasti=310 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=1680 f.f_lasti=-1 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=288 f.f_lasti=4 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=144 f.f_lasti=24 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1697 f.f_lasti=58 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=1633 f.f_lasti=12 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=118 f.f_lasti=6 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1692 f.f_lasti=74 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=350 f.f_lasti=368 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=41 f.f_lasti=-1 f.f_code.co_name='_get_sep' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=331 f.f_lasti=252 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=140 f.f_lasti=-1 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1724 f.f_lasti=-1 f.f_code.co_name='isEnabledFor' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1724 f.f_lasti=-1 f.f_code.co_name='isEnabledFor' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=336 f.f_lasti=286 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=119 f.f_lasti=-1 f.f_code.co_name='getLevelName' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=119 f.f_lasti=-1 f.f_code.co_name='getLevelName' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=119 f.f_lasti=-1 f.f_code.co_name='getLevelName' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=331 f.f_lasti=252 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=121 f.f_lasti=-1 f.f_code.co_name='_splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/genericpath.py'
f.f_lineno=143 f.f_lasti=14 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=143 f.f_lasti=14 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=143 f.f_lasti=14 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=351 f.f_lasti=376 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=964 f.f_lasti=6 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=340 f.f_lasti=310 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1549 f.f_lasti=-1 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=14 f.f_lasti=-1 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=117 f.f_lasti=-1 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1612 f.f_lasti=18 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1573 f.f_lasti=126 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=288 f.f_lasti=4 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=52 f.f_lasti=-1 f.f_code.co_name='normcase' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=912 f.f_lasti=-1 f.f_code.co_name='acquire' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1633 f.f_lasti=12 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=52 f.f_lasti=-1 f.f_code.co_name='normcase' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=52 f.f_lasti=-1 f.f_code.co_name='normcase' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=133 f.f_lasti=40 f.f_code.co_name='_splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/genericpath.py'
f.f_lineno=283 f.f_lasti=-1 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1612 f.f_lasti=18 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=288 f.f_lasti=4 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=1697 f.f_lasti=58 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1612 f.f_lasti=18 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=336 f.f_lasti=286 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1600 f.f_lasti=-1 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1696 f.f_lasti=48 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=350 f.f_lasti=368 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1680 f.f_lasti=-1 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1431 f.f_lasti=6 f.f_code.co_name='current_thread' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/threading.py'
f.f_lineno=1585 f.f_lasti=-1 f.f_code.co_name='makeRecord' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1626 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1626 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1626 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1626 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1626 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=118 f.f_lasti=6 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1573 f.f_lasti=126 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=331 f.f_lasti=252 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=919 f.f_lasti=-1 f.f_code.co_name='release' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1431 f.f_lasti=6 f.f_code.co_name='current_thread' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/threading.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=332 f.f_lasti=262 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1549 f.f_lasti=-1 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1573 f.f_lasti=126 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1573 f.f_lasti=126 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=351 f.f_lasti=376 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1566 f.f_lasti=80 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=917 f.f_lasti=12 f.f_code.co_name='acquire' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=14 f.f_lasti=-1 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=14 f.f_lasti=-1 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=14 f.f_lasti=-1 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=1431 f.f_lasti=6 f.f_code.co_name='current_thread' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/threading.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=52 f.f_lasti=-1 f.f_code.co_name='normcase' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1554 f.f_lasti=2 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=37 f.f_lasti=-1 f.f_code.co_name='current_process' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/multiprocessing/process.py'
f.f_lineno=1633 f.f_lasti=12 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1617 f.f_lasti=74 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=317 f.f_lasti=108 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1496 f.f_lasti=-1 f.f_code.co_name='error' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=121 f.f_lasti=-1 f.f_code.co_name='_splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/genericpath.py'
f.f_lineno=1600 f.f_lasti=-1 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=128 f.f_lasti=6 f.f_code.co_name='_splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/genericpath.py'
f.f_lineno=121 f.f_lasti=-1 f.f_code.co_name='_splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/genericpath.py'
f.f_lineno=1697 f.f_lasti=58 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=1506 f.f_lasti=28 f.f_code.co_name='error' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1697 f.f_lasti=58 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=340 f.f_lasti=310 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=140 f.f_lasti=-1 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=309 f.f_lasti=22 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1566 f.f_lasti=80 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1566 f.f_lasti=80 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1566 f.f_lasti=80 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1600 f.f_lasti=-1 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=54 f.f_lasti=6 f.f_code.co_name='normcase' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1505 f.f_lasti=6 f.f_code.co_name='error' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=806 f.f_lasti=-1 f.f_code.co_name='filter' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=121 f.f_lasti=-1 f.f_code.co_name='_splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/genericpath.py'
f.f_lineno=41 f.f_lasti=-1 f.f_code.co_name='_get_sep' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=41 f.f_lasti=-1 f.f_code.co_name='_get_sep' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=41 f.f_lasti=-1 f.f_code.co_name='_get_sep' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=331 f.f_lasti=252 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=121 f.f_lasti=-1 f.f_code.co_name='_splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/genericpath.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1696 f.f_lasti=48 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=119 f.f_lasti=-1 f.f_code.co_name='getLevelName' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1697 f.f_lasti=58 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1612 f.f_lasti=18 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1600 f.f_lasti=-1 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=919 f.f_lasti=-1 f.f_code.co_name='release' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=283 f.f_lasti=-1 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=351 f.f_lasti=376 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=351 f.f_lasti=376 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=351 f.f_lasti=376 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=351 f.f_lasti=376 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=806 f.f_lasti=-1 f.f_code.co_name='filter' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=None f.f_lasti=52 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
> /home/ss/temp.py(23)frame_infoer()
-> while True:
(Pdb) import sys
(Pdb) sys.executable
'/home/ss/.pyenv/versions/3.10.3/envs/cp310/bin/python3.10'
(Pdb) sys.version_info
sys.version_info(major=3, minor=10, micro=3, releaselevel='final', serial=0)
(Pdb) import subprocess
(Pdb) subprocess.run([sys.executable, "-m", "pip", "freeze"])
asttokens==2.0.5
backcall==0.2.0
black==21.12b0
click==8.0.3
coverage==6.3.2
decorator==5.1.1
executing==0.8.2
ipython==8.0.1
jedi==0.18.1
matplotlib-inline==0.1.3
mypy-extensions==0.4.3
parso==0.8.3
pathspec==0.9.0
pep517==0.12.0
pexpect==4.8.0
pickleshare==0.7.5
pip-tools==6.5.1
platformdirs==2.4.1
prompt-toolkit==3.0.24
ptyprocess==0.7.0
pure-eval==0.2.2
Pygments==2.11.2
six==1.16.0
stack-data==0.1.4
tomli==1.2.3
traitlets==5.1.1
typing_extensions==4.0.1
wcwidth==0.2.5
CompletedProcess(args=['/home/ss/.pyenv/versions/3.10.3/envs/cp310/bin/python3.10', '-m', 'pip', 'freeze'], returncode=0)
(Pdb)

@graingert

Copy link
Copy Markdown
Author

ok I just reproduced this without running coverage:

f.f_lineno=966 f.f_lasti=18 f.f_code.co_name='handle' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=919 f.f_lasti=-1 f.f_code.co_name='release' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=968 f.f_lasti=30 f.f_code.co_name='handle' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=806 f.f_lasti=-1 f.f_code.co_name='filter' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=964 f.f_lasti=6 f.f_code.co_name='handle' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=15 f.f_lasti=8 f.f_code.co_name='emit' f.f_code.co_filename='/home/graingert/projects/distributed/demo.py'
f.f_lineno=806 f.f_lasti=-1 f.f_code.co_name='filter' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=917 f.f_lasti=12 f.f_code.co_name='acquire' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
f.f_lineno=None f.f_lasti=52 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/graingert/miniconda3/envs/dask-distributed-310/lib/python3.10/logging/__init__.py'
> /home/graingert/projects/distributed/demo.py(23)frame_infoer()
-> while True:
(Pdb) 

@saaketp

saaketp commented Mar 21, 2022

Copy link
Copy Markdown

I could hit it too without coverage with a fresh new venv without any packages.

f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1549 f.f_lasti=-1 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=14 f.f_lasti=-1 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=309 f.f_lasti=22 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=328 f.f_lasti=216 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=912 f.f_lasti=-1 f.f_code.co_name='acquire' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1724 f.f_lasti=-1 f.f_code.co_name='isEnabledFor' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1585 f.f_lasti=-1 f.f_code.co_name='makeRecord' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=52 f.f_lasti=-1 f.f_code.co_name='normcase' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=336 f.f_lasti=286 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=336 f.f_lasti=286 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1591 f.f_lasti=20 f.f_code.co_name='makeRecord' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1591 f.f_lasti=20 f.f_code.co_name='makeRecord' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1617 f.f_lasti=74 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1617 f.f_lasti=74 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1633 f.f_lasti=12 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1680 f.f_lasti=-1 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=350 f.f_lasti=368 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=331 f.f_lasti=252 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=955 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=14 f.f_lasti=-1 f.f_code.co_name='emit' f.f_code.co_filename='/home/ss/temp.py'
f.f_lineno=1600 f.f_lasti=-1 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=52 f.f_lasti=-1 f.f_code.co_name='normcase' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=966 f.f_lasti=18 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=966 f.f_lasti=18 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=966 f.f_lasti=18 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=966 f.f_lasti=18 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=142 f.f_lasti=6 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=142 f.f_lasti=6 f.f_code.co_name='basename' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1591 f.f_lasti=20 f.f_code.co_name='makeRecord' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1549 f.f_lasti=-1 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1549 f.f_lasti=-1 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1549 f.f_lasti=-1 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=341 f.f_lasti=320 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=288 f.f_lasti=4 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1549 f.f_lasti=-1 f.f_code.co_name='findCaller' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=119 f.f_lasti=-1 f.f_code.co_name='getLevelName' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=160 f.f_lasti=6 f.f_code.co_name='<lambda>' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1612 f.f_lasti=18 f.f_code.co_name='_log' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=919 f.f_lasti=-1 f.f_code.co_name='release' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=125 f.f_lasti=50 f.f_code.co_name='splitext' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/posixpath.py'
f.f_lineno=1591 f.f_lasti=20 f.f_code.co_name='makeRecord' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1626 f.f_lasti=-1 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1431 f.f_lasti=6 f.f_code.co_name='current_thread' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/threading.py'
f.f_lineno=1496 f.f_lasti=-1 f.f_code.co_name='error' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=313 f.f_lasti=80 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1505 f.f_lasti=6 f.f_code.co_name='error' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1505 f.f_lasti=6 f.f_code.co_name='error' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1701 f.f_lasti=82 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=1633 f.f_lasti=12 f.f_code.co_name='handle' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=288 f.f_lasti=4 f.f_code.co_name='__init__' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=917 f.f_lasti=12 f.f_code.co_name='acquire' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
f.f_lineno=None f.f_lasti=52 f.f_code.co_name='callHandlers' f.f_code.co_filename='/home/ss/.pyenv/versions/3.10.3/lib/python3.10/logging/__init__.py'
> /home/ss/temp.py(23)frame_infoer()
-> while True:
(Pdb) import sys
(Pdb) sys.version_info
sys.version_info(major=3, minor=10, micro=3, releaselevel='final', serial=0)
(Pdb) import subprocess
(Pdb) subprocess.run([sys.executable, "-m", "pip", "freeze"])
CompletedProcess(args=['/home/ss/.pyenv/versions/temp/bin/python', '-m', 'pip', 'freeze'], returncode=0)
(Pdb)

@graingert

Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment