Skip to content
This repository has been archived by the owner on Dec 13, 2022. It is now read-only.

Update psutil to 5.9.4 #117

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

This PR updates psutil from 5.7.0 to 5.9.4.

Changelog

5.9.4

=====

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)

5.9.3

=====

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)

5.9.2

=====

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)

5.9.1

=====

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.

5.9.0

=====

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(PROC_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.

5.8.0

=====

2020-12-19

**Enhancements**

- 1863_: `disk_partitions()`_ exposes 2 extra fields: ``maxfile`` and ``maxpath``,
which are the maximum file name and path name length.
- 1872_, [Windows]: added support for PyPy 2.7.
- 1879_: provide pre-compiled wheels for Linux and macOS (yey!).
- 1880_: get rid of Travis and Cirrus CI services (they are no longer free).
CI testing is now done by GitHub Actions on Linux, macOS and FreeBSD (yes).
AppVeyor is still being used for Windows CI.

**Bug fixes**

- 1708_, [Linux]: get rid of `sensors_temperatures()`_ duplicates.  (patch by Tim
Schlueter).
- 1839_, [Windows], **[critical]**: always raise `AccessDenied`_ instead of
``WindowsError`` when failing to query 64 processes from 32 bit ones by using
``NtWoW64`` APIs.
- 1866_, [Windows], **[critical]**: `Process.exe()`_, `Process.cmdline()`_,
`Process.environ()`_ may raise "[WinError 998] Invalid access to memory
location" on Python 3.9 / VS 2019.
- 1874_, [SunOS]: wrong swap output given when encrypted column is present.
- 1875_, [Windows], **[critical]**: `Process.username()`_ may raise
``ERROR_NONE_MAPPED`` if the SID has no corresponding account name. In this
case `AccessDenied`_ is now raised.
- 1886_, [macOS]: ``EIO`` error may be raised on `Process.cmdline()`_ and
`Process.environ()`_. Now it gets translated into `AccessDenied`_.
- 1887_, [Windows], **[critical]**: ``OpenProcess`` may fail with
"[WinError 0] The operation completed successfully"."
Turn it into `AccessDenied`_ or `NoSuchProcess`_ depending on whether the
PID is alive.
- 1891_, [macOS]: get rid of deprecated ``getpagesize()``.

5.7.3

=====

2020-10-23

**Enhancements**

- 809_, [FreeBSD]: add support for `Process.rlimit()`_.
- 893_, [BSD]: add support for `Process.environ()`_ (patch by Armin Gruner)
- 1830_, [POSIX]: `net_if_stats()`_ ``isup`` also checks whether the NIC is
running (meaning Wi-Fi or ethernet cable is connected).  (patch by Chris Burger)
- 1837_, [Linux]: improved battery detection and charge ``secsleft`` calculation
(patch by aristocratos)

**Bug fixes**

- 1620_, [Linux]: `cpu_count()`_ with ``logical=False`` result is incorrect on
systems with more than one CPU socket.  (patch by Vincent A. Arcila)
- 1738_, [macOS]: `Process.exe()`_ may raise ``FileNotFoundError`` if process is still
alive but the exe file which launched it got deleted.
- 1791_, [macOS]: fix missing include for ``getpagesize()``.
- 1823_, [Windows], **[critical]**: `Process.open_files()`_ may cause a segfault
due to a NULL pointer.
- 1838_, [Linux]: `sensors_battery()`_: if `percent` can be determined but not
the remaining values, still return a result instead of ``None``.
(patch by aristocratos)

5.7.2

=====

2020-07-15

**Bug fixes**

- wheels for 2.7 were inadvertently deleted.

5.7.1

=====

2020-07-15

**Enhancements**

- 1729_: parallel tests on POSIX (``make test-parallel``). They're twice as fast!
- 1741_, [POSIX]: ``make build`` now runs in parallel on Python >= 3.6 and
it's about 15% faster.
- 1747_: `Process.wait()`_ return value is cached so that the exit code can be
retrieved on then next call.
- 1747_, [POSIX]: `Process.wait()`_ on POSIX now returns an enum, showing the
negative signal which was used to terminate the process. It returns something
like ``<Negsignal.SIGTERM: -15>``.
- 1747_: `Process`_ class provides more info about the process on ``str()``
and ``repr()`` (status and exit code).
- 1757_: memory leak tests are now stable.
- 1768_, [Windows]: added support for Windows Nano Server. (contributed by
Julien Lebot)

**Bug fixes**

- 1726_, [Linux]: `cpu_freq()`_ parsing should use spaces instead of tabs on ia64.
(patch by Michał Górny)
- 1760_, [Linux]: `Process.rlimit()`_ does not handle long long type properly.
- 1766_, [macOS]: `NoSuchProcess`_ may be raised instead of `ZombieProcess`_.
- 1781_, **[critical]**: `getloadavg()`_ can crash the Python interpreter.
(patch by Ammar Askar)
Links

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant