Last active
March 21, 2022 19:21
-
-
Save graingert/f5e81264dd3c3ab8a705809096fcc283 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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()) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| coverage run --source=. demo.py |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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
commented
Mar 21, 2022
Author
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)
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)
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)
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)
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)
Author
bpo is here https://bugs.python.org/issue47085
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment