UNCLASSIFIED - NO CUI

Skip to content

Update dependency psutil to v5.9.5

renovate requested to merge renovate/psutil-5.x into development

This MR contains the following updates:

Package Type Update Change
psutil ironbank-pypi minor 5.8.0 -> 5.9.5

Dependency Lookup Warnings

Warnings were logged while processing this repo. Please check the logs for more information.


Release Notes

giampaolo/psutil

v5.9.5

Compare Source

=====

2023-04-17

Enhancements

  • 2196_: in case of exception, display a cleaner error traceback by hiding the KeyError bit deriving from a missed cache hit.
  • 2217_: print the full traceback when a DeprecationWarning or UserWarning is raised.
  • 2230_, [OpenBSD]: psutil.net_connections_ implementation was rewritten from scratch:
    • We're now able to retrieve the path of AF_UNIX sockets (before it was an empty string)
    • The function is faster since it no longer iterates over all processes.
    • No longer produces duplicate connection entries.
  • 2238_: there are cases where Process.cwd()_ cannot be determined (e.g. directory no longer exists), in which case we returned either None or an empty string. This was consolidated and we now return "" on all platforms.
  • 2239_, [UNIX]: if process is a zombie, and we can only determine part of the its truncated Process.name()_ (15 chars), don't fail with ZombieProcess_ when we try to guess the full name from the Process.cmdline()_. Just return the truncated name.
  • 2240_, [NetBSD], [OpenBSD]: add CI testing on every commit for NetBSD and OpenBSD platforms (python 3 only).

Bug fixes

  • 1043_, [OpenBSD] psutil.net_connections_ returns duplicate entries.
  • 1915_, [Linux]: on certain kernels, "MemAvailable" field from /proc/meminfo returns 0 (possibly a kernel bug), in which case we calculate an approximation for available memory which matches "free" CLI utility.
  • 2164_, [Linux]: compilation fails on kernels < 2.6.27 (e.g. CentOS 5).
  • 2186_, [FreeBSD]: compilation fails with Clang 15. (patch by Po-Chuan Hsieh)
  • 2191_, [Linux]: disk_partitions()*: do not unnecessarily read /proc/filesystems and raise AccessDenied* unless user specified all=False argument.
  • 2216_, [Windows]: fix tests when running in a virtual environment (patch by Matthieu Darbois)
  • 2225_, [POSIX]: users()_ loses precision for started attribute (off by 1 minute).
  • 2229_, [OpenBSD]: unable to properly recognize zombie processes. NoSuchProcess_ may be raised instead of ZombieProcess_.
  • 2231_, [NetBSD]: available virtual_memory()_ is higher than total.
  • 2234_, [NetBSD]: virtual_memory()_ metrics are wrong: available and used are too high. We now match values shown by htop CLI utility.
  • 2236_, [NetBSD]: Process.num_threads()_ and Process.threads()_ return threads that are already terminated.
  • 2237_, [OpenBSD], [NetBSD]: Process.cwd()_ may raise FileNotFoundError if cwd no longer exists. Return an empty string instead.

v5.9.4

Compare Source

=====

2022-11-07

Enhancements

  • 2102_: use Limited API when building wheels with CPython 3.6+ on Linux, macOS and Windows. This allows to use pre-built wheels in all future versions of cPython 3. (patch by Matthieu Darbois)

Bug fixes

  • 2077_, [Windows]: Use system-level values for virtual_memory()_. (patch by Daniel Widdis)
  • 2156_, [Linux]: compilation may fail on very old gcc compilers due to missing SPEED_UNKNOWN definition. (patch by Amir Rossert)
  • 2010_, [macOS]: on MacOS, arm64 IFM_1000_TX and IFM_1000_T are the same value, causing a build failure. (patch by Lawrence D'Anna)
  • 2160_, [Windows]: Get Windows percent swap usage from performance counters. (patch by Daniel Widdis)

v5.9.3

Compare Source

=====

2022-10-18

Enhancements

  • 2040_, [macOS]: provide wheels for arm64 architecture. (patch by Matthieu Darbois)

Bug fixes

  • 2116_, [macOS], [critical]: psutil.net_connections_ fails with RuntimeError.
  • 2135_, [macOS]: Process.environ()_ may contain garbage data. Fix out-of-bounds read around sysctl_procargs. (patch by Bernhard Urban-Forster)
  • 2138_, [Linux], [critical]: can't compile psutil on Android due to undefined ethtool_cmd_speed symbol.
  • 2142_, [POSIX]: net_if_stats()_ 's flags on Python 2 returned unicode instead of str. (patch by Matthieu Darbois)
  • 2147_, [macOS] Fix disk usage report on macOS 12+. (patch by Matthieu Darbois)
  • 2150_, [Linux] Process.threads()_ may raise NoSuchProcess. Fix race condition. (patch by Daniel Li)
  • 2153_, [macOS] Fix race condition in test_posix.TestProcess.test_cmdline. (patch by Matthieu Darbois)

v5.9.2

Compare Source

=====

2022-09-04

Bug fixes

  • 2093_, [FreeBSD], [critical]: pids()_ may fail with ENOMEM. Dynamically increase the malloc() buffer size until it's big enough.
  • 2095_, [Linux]: net_if_stats()_ returns incorrect interface speed for 100GbE network cards.
  • 2113_, [FreeBSD], [critical]: virtual_memory()_ may raise ENOMEM due to missing #include <sys/param.h> directive. (patch by Peter Jeremy)
  • 2128_, [NetBSD]: swap_memory()_ was miscalculated. (patch by Thomas Klausner)

v5.9.1

Compare Source

=====

2022-05-20

Enhancements

  • 1053_: drop Python 2.6 support. (patches by Matthieu Darbois and Hugo van Kemenade)
  • 2037_: Add additional flags to net_if_stats.
  • 2050_, [Linux]: increase read(2) buffer size from 1k to 32k when reading /proc pseudo files line by line. This should help having more consistent results.
  • 2057_, [OpenBSD]: add support for cpu_freq()_.
  • 2107_, [Linux]: Process.memory_full_info()_ (reporting process USS/PSS/Swap memory) now reads /proc/pid/smaps_rollup instead of /proc/pids/smaps, which makes it 5 times faster.

Bug fixes

  • 2048_: AttributeError is raised if psutil.Error class is raised manually and passed through str.
  • 2049_, [Linux]: cpu_freq()_ erroneously returns curr value in GHz while min and max are in MHz.
  • 2050_, [Linux]: virtual_memory()_ may raise ValueError if running in a LCX container.

v5.9.0

Compare Source

=====

2021-12-29

Enhancements

  • 1851_, [Linux]: cpu_freq()_ is slow on systems with many CPUs. Read current frequency values for all CPUs from /proc/cpuinfo instead of opening many files in /sys fs. (patch by marxin)
  • 1992_: NoSuchProcess_ message now specifies if the PID has been reused.
  • 1992_: error classes (NoSuchProcess*, AccessDenied*, etc.) now have a better formatted and separated __repr__ and __str__ implementations.
  • 1996_, [BSD]: add support for MidnightBSD. (patch by Saeed Rasooli)
  • 1999_, [Linux]: disk_partitions()_: convert /dev/root device (an alias used on some Linux distros) to real root device path.
  • 2005_: PSUTIL_DEBUG mode now prints file name and line number of the debug messages coming from C extension modules.
  • 2042_: rewrite HISTORY.rst to use hyperlinks pointing to psutil API doc.

Bug fixes

  • 1456_, [macOS], [critical]: cpu_freq()_ min and max are set to 0 if can't be determined (instead of crashing).
  • 1512_, [macOS]: sometimes Process.connections()_ will crash with EOPNOTSUPP for one connection; this is now ignored.
  • 1598_, [Windows]: disk_partitions()_ only returns mountpoints on drives where it first finds one.
  • 1874_, [SunOS]: swap output error due to incorrect range.
  • 1892_, [macOS]: cpu_freq()_ broken on Apple M1.
  • 1901_, [macOS]: different functions, especially Process.open_files()_ and Process.connections()*, could randomly raise AccessDenied* because the internal buffer of proc_pidinfo(MROC_PIDLISTFDS) syscall was not big enough. We now dynamically increase the buffer size until it's big enough instead of giving up and raising AccessDenied_, which was a fallback to avoid crashing.
  • 1904_, [Windows]: OpenProcess fails with ERROR_SUCCESS due to GetLastError() called after sprintf(). (patch by alxchk)
  • 1913_, [Linux]: wait_procs()_ should catch subprocess.TimeoutExpired exception.
  • 1919_, [Linux]: sensors_battery()_ can raise TypeError on PureOS.
  • 1921_, [Windows]: swap_memory()_ shows committed memory instead of swap.
  • 1940_, [Linux]: psutil does not handle ENAMETOOLONG when accessing process file descriptors in procfs. (patch by Nikita Radchenko)
  • 1948_, [critical]: memoize_when_activated decorator is not thread-safe. (patch by Xuehai Pan)
  • 1953_, [Windows], [critical]: disk_partitions()_ crashes due to insufficient buffer len. (patch by MaWe2019)
  • 1965_, [Windows], [critical]: fix "Fatal Python error: deallocating None" when calling users()_ multiple times.
  • 1980_, [Windows]: 32bit / WoW64 processes fails to read Process.name()_ longer than 128 characters resulting in AccessDenied_. This is now fixed. (patch by PetrPospisil)
  • 1991_, [critical]: process_iter()_ is not thread safe and can raise TypeError if invoked from multiple threads.
  • 1956_, [macOS]: Process.cpu_times()_ reports incorrect timings on M1 machines. (patch by Olivier Dormond)
  • 2023_, [Linux]: cpu_freq()_ return order is wrong on systems with more than 9 CPUs.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports