[issue46788] regrtest fails to start on missing performance counter names

Jeremy Kloth report at bugs.python.org
Fri Feb 18 11:36:09 EST 2022


New submission from Jeremy Kloth <jeremy.kloth+python-tracker at gmail.com>:

When attempting to run the test harness, I receive the following:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Public\Devel\cpython\main\Lib\test\__main__.py", line 2, in <module>
    main()
    ^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\libregrtest\main.py", line 736, in main
    Regrtest().main(tests=tests, **kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\support\os_helper.py", line 396, in temp_dir
    yield path
    ^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\support\os_helper.py", line 427, in change_cwd
    yield os.getcwd()
    ^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\support\os_helper.py", line 449, in temp_cwd
    yield cwd_dir
    ^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\libregrtest\main.py", line 658, in main
    self._main(tests, kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\libregrtest\main.py", line 704, in _main
    self.win_load_tracker = WindowsLoadTracker()
                            ^^^^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\libregrtest\win_utils.py", line 41, in __init__
    self.start()
    ^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\libregrtest\win_utils.py", line 70, in start
    counter_name = self._get_counter_name()
                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Public\Devel\cpython\main\Lib\test\libregrtest\win_utils.py", line 90, in _get_counter_name
    system = counters_dict['2']
             ~~~~~~~~~~~~~^^^^^
KeyError: '2'

This is due to my machine missing the localized names for the performance counters.  Other performance monitoring tools operate just fine.

While I have been working around this issue for some time, it has become difficult to seperate the workarounds from actually changes in the test harness.

The PR (https://github.com/python/cpython/pull/26578) from https://bugs.python.org/issue44336 also solves this issue by accessing the counters directly instead of relying on their localized names.

----------
components: Tests, Windows
messages: 413493
nosy: jkloth, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: regrtest fails to start on missing performance counter names
versions: Python 3.10, Python 3.11, Python 3.8, Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46788>
_______________________________________


More information about the Python-bugs-list mailing list