Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wine support #1448

Open
bitranox opened this issue Mar 5, 2019 · 44 comments
Open

Wine support #1448

bitranox opened this issue Mar 5, 2019 · 44 comments

Comments

@bitranox
Copy link

bitranox commented Mar 5, 2019

  • WINE 32 Bit, 4.3 devel
  • psutil version 5.6.0
  • python 3.7.2 32 Bit

psutil can not be imported :

>>> from psutil import pid_exists
  File "c:\python3\lib\site-packages\psutil\__init__.py", line 141, in <module>
    from . import _pswindows as _psplatform
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 17, in <module>
    from . import _psutil_windows as cext
OSError: [WinError 127] Prozedur nicht gefunden: 'RtlIpv6AddressToStringA'

can You somehow switch off IPV6 by parameter on loading ?
or any other solution ?

@giampaolo
Copy link
Owner

Mmm... I wonder if you have IPv6 support at all. Could you try this?

import socket
print(socket.has_ipv6)
print(hasattr(socket, "AF_INET6"))

@bitranox
Copy link
Author

bitranox commented Mar 5, 2019

>>> import socket
>>> print(socket.has_ipv6)
True
>>> print(hasattr(socket, "AF_INET6"))
True

I guess it would be good not to use RtlIpv6AddressToStringA, but do it yourself, to keep WINE compatibility, until they put that symbol into their dll

@giampaolo
Copy link
Owner

giampaolo commented Mar 5, 2019

Could you please also try what happens with psutil 5.5.1 if you do this?

import socket, psutil
s = socket.socket(socket.AF_INET6)
s.bind(('::1', 0))
s.listen(5)
print(psutil.Process().connections())

On a system supporting the IPv6 stack it should print:

[pconn(fd=3, family=<AddressFamily.AF_INET6: 10>, type=<SocketKind.SOCK_STREAM: 1>, laddr=addr(ip='::1', port=8888), raddr=(), status='LISTEN')]

@bitranox
Copy link
Author

bitranox commented Mar 5, 2019

I downgraded my app to 5.5.1 and there I can import PSUTIL

>>> import socket, psutil
>>> s = socket.socket(socket.AF_INET6)
>>> s.bind(('::1', 8888))
>>> s.listen(5)
>>> print(psutil.Process().connections())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python3\lib\site-packages\psutil\__init__.py", line 1260, in connections
    return self._proc.connections(kind)
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 639, in wrapper

    return fun(self, *args, **kwargs)
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 929, in connections
    return net_connections(kind, _pid=self.pid)
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 329, in net_connections
    rawlist = cext.net_connections(_pid, families, types)
OSError: [WinError 50] Anfrage nicht unterstützt

At least I can import PSUTIL and use other, non-IPV6 related functions !

@bitranox
Copy link
Author

bitranox commented Mar 5, 2019

dunno if You noticed my edit - bump ;-)

@giampaolo
Copy link
Owner

OK, thanks. I know what to do. I will work on a fix soon.

@bitranox
Copy link
Author

bitranox commented Mar 5, 2019

thats really great - a pleasure as always ;-)

@giampaolo
Copy link
Owner

OK, fixed. Do you have Visual Studio installed so that you can make sure latest GIT version works? If not I could send you a pre-compiled wheel (but I need the exact python version and whether it's 32 or 64 bit).

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

Dear Giampaolo, I compiled with VS2017 and installed on Wine 32 Bit, Python Version 3.7.2 - it works fine !!!
thanks a lot !

@giampaolo
Copy link
Owner

Cool. ;)

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

FYI, I can import psutil now, and use the non-IPV6 functions as before - but IPV6 still seem not to work on WINE32 (what is not a problem, at least for me) :

>>> import socket, psutil
>>> print(socket.has_ipv6)
True
>>> print(hasattr(socket, "AF_INET6"))
True
>>> s = socket.socket(socket.AF_INET6)
>>> s.bind(('::1', 8888))
>>> s.listen(5)
>>> print(psutil.Process().connections())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python3\lib\site-packages\psutil\__init__.py", line 1260, in connections
    return self._proc.connections(kind)
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 639, in wrapper

    return fun(self, *args, **kwargs)
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 929, in connections
    return net_connections(kind, _pid=self.pid)
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 329, in net_connections
    rawlist = cext.net_connections(_pid, families, types)
OSError: [WinError 50] Anfrage nicht unterstützt

when You are going to release 5.6.1, then I can clean my requirement.txt files ;-) ???
yours sincerely
Robert

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

BTW, WINE Debug says:

012b:fixme:iphlpapi:GetExtendedTcpTable ulAf = 23 not supported

dunno if You really stick to that function, or if You are willing to work around ...
yours sincerely
Robert

@giampaolo
Copy link
Owner

File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 929, in connections
    return net_connections(kind, _pid=self.pid)
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 329, in net_connections
    rawlist = cext.net_connections(_pid, families, types)
OSError: [WinError 50] Anfrage nicht unterstützt

Does this happen with latest GIT code?

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

Sorry, I checked twice and made a mistake !

>>> import socket, psutil
>>> psutil.version_info
(5, 6, 1)
>>> print(socket.has_ipv6)
True
>>> print(hasattr(socket, "AF_INET6"))
True
>>> s = socket.socket(socket.AF_INET6)
>>> s.bind(('::1', 8888))
>>> s.listen(5)
>>> print(psutil.Process().connections())
[]

all good ... ;-) except that IPV6 is not really working ;-)
yours sincerely
Robert

@giampaolo
Copy link
Owner

OK, then it's good. Unfortunately we cannot support IPv6 on Wine because RtlIpv6AddressToStringA Windows API is not supported, so we'll just skip IPv6 enumeration. It may make sense to file an issue on Wine bug tracker.

Also, on a totally different matter, this is probably the first time I receive a report about Wine. Could you please try python3 -m psutil.tests and put the output in a text file? I'm curious to see how psutil works on Wine.

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

sure, here it is - if You need more tests, just let me know !
If You really need to get IPV6 working on WINE, You might also use some other implementation from RtlIpv6AddressToStringA, for instance from reactos - but that is beyond my capabilities ...

c:\python3\>python -m psutil.tests

Traceback (most recent call last):
  File "c:\python3\lib\runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "c:\python3\lib\runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "c:\python3\lib\runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "c:\install\psutil_win10_32bit_5.6.1_compiled\psutil-master5.6.1\psutil\t
ests\__init__.py", line 168, in <module>
    HAS_MEMORY_FULL_INFO = 'uss' in psutil.Process().memory_full_info()._fields
  File "c:\install\psutil_win10_32bit_5.6.1_compiled\psutil-master5.6.1\psutil\_
_init__.py", line 1186, in memory_full_info
    return self._proc.memory_full_info()
  File "c:\install\psutil_win10_32bit_5.6.1_compiled\psutil-master5.6.1\psutil\_
pswindows.py", line 661, in wrapper
    return fun(self, *args, **kwargs)
  File "c:\install\psutil_win10_32bit_5.6.1_compiled\psutil-master5.6.1\psutil\_
pswindows.py", line 800, in memory_full_info
    uss = cext.proc_memory_uss(self.pid)
OSError: [WinError 87] Ungültiger Parameter
wineconsole: 01a1:fixme:virtual:NtQueryVirtualMemory (process=0xa0,addr=(nil)) Unimplemented information class: MemoryWorkingSetList

@giampaolo
Copy link
Owner

Tests don't start because they fail on import. You can comment that out and set HAS_MEMORY_FULL_INFO = False for now, just to make the test suite run. But I guess I'll have to install wine myself because I have the feeling there will be other issues. I've just installed Wine on Ubuntu. Could you provide some basic instructions on how to run python/psutil with it?

@giampaolo
Copy link
Owner

giampaolo commented Mar 6, 2019

FWIW I filed a ticket on Wine bugtracker for RtlIpv6AddressToStringA: https://bugs.winehq.org/show_bug.cgi?id=46788

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

yes - I am sure the will be issues ;-)
I use wine 32 Bit - and the recent python windows installer does not work.
So I installed python on a windows 10 machine and just copied the installed python3 directory to wine - and it works perfectly! UNfortunately the MSI Installer is not available anymore ...
All other packages and psutil can be installed as usual via pip or setup.py
yours sincerely
Robert

@giampaolo
Copy link
Owner

I committed ffe8a9d so now you should be able to at least run tests.

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

hold on ... I recompile / reinstall and give it a try ...

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

unfortunately I can not pipe the results into a file ... it hangs at the last test :

psutil.tests.test_process.TestProcess.test_num_ctx_switches ...

psutil.tests.test_posix.TestProcess.test_cmdline ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_create_time ... skipped 'POSIX only'                                                                                                                                              psutil.tests.test_posix.TestProcess.test_exe ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_gid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_name ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_name_long ... skipped 'POSIX only'                                                                                                                                                psutil.tests.test_posix.TestProcess.test_name_long_cmdline_ad_exc ... skipped 'POSIX only'                                                                                                                                 psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_create_time ... skipped 'POSIX only'                                                                                                                                              psutil.tests.test_posix.TestProcess.test_exe ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_gid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_name ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_name_long ... skipped 'POSIX only'                                                                                                                                                psutil.tests.test_posix.TestProcess.test_name_long_cmdline_ad_exc ... skipped 'POSIX only'                                                                                                                                 psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'                                                                                                                                psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_exe ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_gid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_name ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_name_long ... skipped 'POSIX only'                                                                                                                                                psutil.tests.test_posix.TestProcess.test_name_long_cmdline_ad_exc ... skipped 'POSIX only'                                                                                                                                 psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'                                                                                                                                psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_gid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_name ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_name_long ... skipped 'POSIX only'                                                                                                                                                psutil.tests.test_posix.TestProcess.test_name_long_cmdline_ad_exc ... skipped 'POSIX only'                                                                                                                                 psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'                                                                                                                                psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_name ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_name_long ... skipped 'POSIX only'                                                                                                                                                psutil.tests.test_posix.TestProcess.test_name_long_cmdline_ad_exc ... skipped 'POSIX only'                                                                                                                                 psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'                                                                                                                                psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_name_long ... skipped 'POSIX only'                                                                                                                                                psutil.tests.test_posix.TestProcess.test_name_long_cmdline_ad_exc ... skipped 'POSIX only'                                                                                                                                 psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'                                                                                                                                psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_name_long_cmdline_ad_exc ... skipped 'POSIX only'                                                                                                                                 psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'                                                                                                                                psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_name_long_cmdline_nsp_exc ... skipped 'POSIX only'                                                                                                                                psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_nice ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'                                                                                                                                   psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_num_fds ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'                                                                                                                                   psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_ppid ... skipped 'POSIX only'                                                                                                                                                     psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'                                                                                                                                   psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'                                                                                                                                            psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_rss_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'                                                                                                                                   psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'                                                                                                                                            psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'                                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_uid ... skipped 'POSIX only'                                                                                                                                                      psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'                                                                                                                                   psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'                                                                                                                                            psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'                                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_username ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'                                                                                                                                   psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'                                                                                                                                            psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'                                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'                                                                                                                                      psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_username_no_resolution ... skipped 'POSIX only'                                                                                                                                   psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'                                                                                                                                            psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'                                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'                                                                                                                                      psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'
psutil.tests.test_posix.TestProcess.test_vsz_memory ... skipped 'POSIX only'                                                                                                                                               psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'                                                                                                                                            psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'                                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'                                                                                                                                      psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'
psutil.tests.test_posix.TestSystemAPIs.test_disk_usage ... skipped 'POSIX only'                                                                                                                                            psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'                                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'                                                                                                                                      psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'
psutil.tests.test_posix.TestSystemAPIs.test_nic_names ... skipped 'POSIX only'                                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'                                                                                                                                      psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_process.TestPopen.test_ctx_manager ... ok
psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_bad_ret_status ... skipped 'POSIX only'                                                                                                                             psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'                                                                                                                                      psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_process.TestPopen.test_ctx_manager ... ok                                                                                                                                                                psutil.tests.test_process.TestPopen.test_kill_terminate ... ok
psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_eintr ... skipped 'POSIX only'                                                                                                                                      psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_process.TestPopen.test_ctx_manager ... ok                                                                                                                                                                psutil.tests.test_process.TestPopen.test_kill_terminate ... ok                                                                                                                                                             psutil.tests.test_process.TestPopen.test_misc ... ok
psutil.tests.test_posix.TestSystemAPIs.test_os_waitpid_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_process.TestPopen.test_ctx_manager ... ok                                                                                                                                                                psutil.tests.test_process.TestPopen.test_kill_terminate ... ok                                                                                                                                                             psutil.tests.test_process.TestPopen.test_misc ... ok                                                                                                                                                                       psutil.tests.test_process.TestProcess.test_as_dict ... ERROR
psutil.tests.test_posix.TestSystemAPIs.test_pid_exists_let_raise ... skipped 'POSIX only'                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_process.TestPopen.test_ctx_manager ... ok                                                                                                                                                                psutil.tests.test_process.TestPopen.test_kill_terminate ... ok                                                                                                                                                             psutil.tests.test_process.TestPopen.test_misc ... ok                                                                                                                                                                       psutil.tests.test_process.TestProcess.test_as_dict ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_children ... ok
psutil.tests.test_posix.TestSystemAPIs.test_pids ... skipped 'POSIX only'                                                                                                                                                  psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_process.TestPopen.test_ctx_manager ... ok                                                                                                                                                                psutil.tests.test_process.TestPopen.test_kill_terminate ... ok                                                                                                                                                             psutil.tests.test_process.TestPopen.test_misc ... ok                                                                                                                                                                       psutil.tests.test_process.TestProcess.test_as_dict ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_children ... ok                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_children_duplicates ... ok
psutil.tests.test_posix.TestSystemAPIs.test_users ... skipped 'POSIX only'                                                                                                                                                 psutil.tests.test_process.TestPopen.test_ctx_manager ... ok                                                                                                                                                                psutil.tests.test_process.TestPopen.test_kill_terminate ... ok                                                                                                                                                             psutil.tests.test_process.TestPopen.test_misc ... ok                                                                                                                                                                       psutil.tests.test_process.TestProcess.test_as_dict ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_children ... ok                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_children_duplicates ... ok                                                                                                                                                      psutil.tests.test_process.TestProcess.test_children_recursive ... ok
psutil.tests.test_process.TestPopen.test_ctx_manager ... ok                                                                                                                                                                psutil.tests.test_process.TestPopen.test_kill_terminate ... ok                                                                                                                                                             psutil.tests.test_process.TestPopen.test_misc ... ok                                                                                                                                                                       psutil.tests.test_process.TestProcess.test_as_dict ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_children ... ok                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_children_duplicates ... ok                                                                                                                                                      psutil.tests.test_process.TestProcess.test_children_recursive ... ok                                                                                                                                                       psutil.tests.test_process.TestProcess.test_cmdline ... ERROR
psutil.tests.test_process.TestPopen.test_kill_terminate ... ok                                                                                                                                                             psutil.tests.test_process.TestPopen.test_misc ... ok                                                                                                                                                                       psutil.tests.test_process.TestProcess.test_as_dict ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_children ... ok                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_children_duplicates ... ok                                                                                                                                                      psutil.tests.test_process.TestProcess.test_children_recursive ... ok                                                                                                                                                       psutil.tests.test_process.TestProcess.test_cmdline ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok
psutil.tests.test_process.TestPopen.test_misc ... ok                                                                                                                                                                       psutil.tests.test_process.TestProcess.test_as_dict ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_children ... ok                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_children_duplicates ... ok                                                                                                                                                      psutil.tests.test_process.TestProcess.test_children_recursive ... ok                                                                                                                                                       psutil.tests.test_process.TestProcess.test_cmdline ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok                                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL
psutil.tests.test_process.TestProcess.test_as_dict ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_children ... ok                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_children_duplicates ... ok                                                                                                                                                      psutil.tests.test_process.TestProcess.test_children_recursive ... ok                                                                                                                                                       psutil.tests.test_process.TestProcess.test_cmdline ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok                                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL                                                                                                                                          psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok
psutil.tests.test_process.TestProcess.test_children ... ok                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_children_duplicates ... ok                                                                                                                                                      psutil.tests.test_process.TestProcess.test_children_recursive ... ok                                                                                                                                                       psutil.tests.test_process.TestProcess.test_cmdline ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok                                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL                                                                                                                                          psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok                                                                                                                                                        psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'
psutil.tests.test_process.TestProcess.test_children_duplicates ... ok                                                                                                                                                      psutil.tests.test_process.TestProcess.test_children_recursive ... ok                                                                                                                                                       psutil.tests.test_process.TestProcess.test_cmdline ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok                                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL                                                                                                                                          psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok                                                                                                                                                        psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_percent ... ok
psutil.tests.test_process.TestProcess.test_children_recursive ... ok                                                                                                                                                       psutil.tests.test_process.TestProcess.test_cmdline ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok                                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL                                                                                                                                          psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok                                                                                                                                                        psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_percent ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok
psutil.tests.test_process.TestProcess.test_cmdline ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok                                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL                                                                                                                                          psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok                                                                                                                                                        psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_percent ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok                                                                                                                                                 psutil.tests.test_process.TestProcess.test_cpu_times ... ok
psutil.tests.test_process.TestProcess.test_cpu_affinity ... ok                                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL                                                                                                                                          psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok                                                                                                                                                        psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_percent ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok                                                                                                                                                 psutil.tests.test_process.TestProcess.test_cpu_times ... ok                                                                                                                                                                psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok
psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations ... FAIL                                                                                                                                          psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok                                                                                                                                                        psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_percent ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok                                                                                                                                                 psutil.tests.test_process.TestProcess.test_cpu_times ... ok                                                                                                                                                                psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_create_time ... ok
psutil.tests.test_process.TestProcess.test_cpu_affinity_errs ... ok                                                                                                                                                        psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_percent ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok                                                                                                                                                 psutil.tests.test_process.TestProcess.test_cpu_times ... ok                                                                                                                                                                psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_create_time ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cwd ... ERROR
psutil.tests.test_process.TestProcess.test_cpu_num ... skipped 'not supported'                                                                                                                                             psutil.tests.test_process.TestProcess.test_cpu_percent ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok                                                                                                                                                 psutil.tests.test_process.TestProcess.test_cpu_times ... ok                                                                                                                                                                psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_create_time ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cwd ... ERROR                                                                                                                                                                   psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR
psutil.tests.test_process.TestProcess.test_cpu_percent ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok                                                                                                                                                 psutil.tests.test_process.TestProcess.test_cpu_times ... ok                                                                                                                                                                psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_create_time ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cwd ... ERROR                                                                                                                                                                   psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_environ ... ERROR
psutil.tests.test_process.TestProcess.test_cpu_percent_numcpus_none ... ok                                                                                                                                                 psutil.tests.test_process.TestProcess.test_cpu_times ... ok                                                                                                                                                                psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_create_time ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cwd ... ERROR                                                                                                                                                                   psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_environ ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_exe ... ok
psutil.tests.test_process.TestProcess.test_cpu_times ... ok                                                                                                                                                                psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_create_time ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cwd ... ERROR                                                                                                                                                                   psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_environ ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_exe ... ok                                                                                                                                                                      psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'
psutil.tests.test_process.TestProcess.test_cpu_times_2 ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_create_time ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cwd ... ERROR                                                                                                                                                                   psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_environ ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_exe ... ok                                                                                                                                                                      psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'                                                                                                                                                   psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok
psutil.tests.test_process.TestProcess.test_create_time ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_cwd ... ERROR                                                                                                                                                                   psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_environ ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_exe ... ok                                                                                                                                                                      psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'                                                                                                                                                   psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok                                                                                                                                               psutil.tests.test_process.TestProcess.test_invalid_pid ... ok
psutil.tests.test_process.TestProcess.test_cwd ... ERROR                                                                                                                                                                   psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_environ ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_exe ... ok                                                                                                                                                                      psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'                                                                                                                                                   psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok                                                                                                                                               psutil.tests.test_process.TestProcess.test_invalid_pid ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_io_counters ... FAIL
psutil.tests.test_process.TestProcess.test_cwd_2 ... ERROR                                                                                                                                                                 psutil.tests.test_process.TestProcess.test_environ ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_exe ... ok                                                                                                                                                                      psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'                                                                                                                                                   psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok                                                                                                                                               psutil.tests.test_process.TestProcess.test_invalid_pid ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_io_counters ... FAIL                                                                                                                                                            psutil.tests.test_process.TestProcess.test_ionice ... ERROR
psutil.tests.test_process.TestProcess.test_environ ... ERROR                                                                                                                                                               psutil.tests.test_process.TestProcess.test_exe ... ok                                                                                                                                                                      psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'                                                                                                                                                   psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok                                                                                                                                               psutil.tests.test_process.TestProcess.test_invalid_pid ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_io_counters ... FAIL                                                                                                                                                            psutil.tests.test_process.TestProcess.test_ionice ... ERROR                                                                                                                                                                psutil.tests.test_process.TestProcess.test_ionice_errs ... ok
psutil.tests.test_process.TestProcess.test_exe ... ok                                                                                                                                                                      psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'                                                                                                                                                   psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok                                                                                                                                               psutil.tests.test_process.TestProcess.test_invalid_pid ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_io_counters ... FAIL                                                                                                                                                            psutil.tests.test_process.TestProcess.test_ionice ... ERROR                                                                                                                                                                psutil.tests.test_process.TestProcess.test_ionice_errs ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_is_running ... ok
psutil.tests.test_process.TestProcess.test_gids ... skipped 'POSIX only'                                                                                                                                                   psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok                                                                                                                                               psutil.tests.test_process.TestProcess.test_invalid_pid ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_io_counters ... FAIL                                                                                                                                                            psutil.tests.test_process.TestProcess.test_ionice ... ERROR                                                                                                                                                                psutil.tests.test_process.TestProcess.test_ionice_errs ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_is_running ... ok                                                                                                                                                               psutil.tests.test_process.TestProcess.test_kill ... ok
psutil.tests.test_process.TestProcess.test_halfway_terminated_process ... ok                                                                                                                                               psutil.tests.test_process.TestProcess.test_invalid_pid ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_io_counters ... FAIL                                                                                                                                                            psutil.tests.test_process.TestProcess.test_ionice ... ERROR                                                                                                                                                                psutil.tests.test_process.TestProcess.test_ionice_errs ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_is_running ... ok                                                                                                                                                               psutil.tests.test_process.TestProcess.test_kill ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR
psutil.tests.test_process.TestProcess.test_invalid_pid ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_io_counters ... FAIL                                                                                                                                                            psutil.tests.test_process.TestProcess.test_ionice ... ERROR                                                                                                                                                                psutil.tests.test_process.TestProcess.test_ionice_errs ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_is_running ... ok                                                                                                                                                               psutil.tests.test_process.TestProcess.test_kill ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR                                                                                                                                                      psutil.tests.test_process.TestProcess.test_memory_info ... ok
psutil.tests.test_process.TestProcess.test_io_counters ... FAIL                                                                                                                                                            psutil.tests.test_process.TestProcess.test_ionice ... ERROR                                                                                                                                                                psutil.tests.test_process.TestProcess.test_ionice_errs ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_is_running ... ok                                                                                                                                                               psutil.tests.test_process.TestProcess.test_kill ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR                                                                                                                                                      psutil.tests.test_process.TestProcess.test_memory_info ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps ... ok
psutil.tests.test_process.TestProcess.test_ionice ... ERROR                                                                                                                                                                psutil.tests.test_process.TestProcess.test_ionice_errs ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_is_running ... ok                                                                                                                                                               psutil.tests.test_process.TestProcess.test_kill ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR                                                                                                                                                      psutil.tests.test_process.TestProcess.test_memory_info ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps_lists_lib ... ERROR
psutil.tests.test_process.TestProcess.test_ionice_errs ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_is_running ... ok                                                                                                                                                               psutil.tests.test_process.TestProcess.test_kill ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR                                                                                                                                                      psutil.tests.test_process.TestProcess.test_memory_info ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps_lists_lib ... ERROR                                                                                                                                                 psutil.tests.test_process.TestProcess.test_memory_percent ... ERROR
psutil.tests.test_process.TestProcess.test_is_running ... ok                                                                                                                                                               psutil.tests.test_process.TestProcess.test_kill ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR                                                                                                                                                      psutil.tests.test_process.TestProcess.test_memory_info ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps_lists_lib ... ERROR                                                                                                                                                 psutil.tests.test_process.TestProcess.test_memory_percent ... ERROR                                                                                                                                                        psutil.tests.test_process.TestProcess.test_name ... ok
psutil.tests.test_process.TestProcess.test_kill ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR                                                                                                                                                      psutil.tests.test_process.TestProcess.test_memory_info ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps_lists_lib ... ERROR                                                                                                                                                 psutil.tests.test_process.TestProcess.test_memory_percent ... ERROR                                                                                                                                                        psutil.tests.test_process.TestProcess.test_name ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_nice ... ok
psutil.tests.test_process.TestProcess.test_memory_full_info ... ERROR                                                                                                                                                      psutil.tests.test_process.TestProcess.test_memory_info ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps_lists_lib ... ERROR                                                                                                                                                 psutil.tests.test_process.TestProcess.test_memory_percent ... ERROR                                                                                                                                                        psutil.tests.test_process.TestProcess.test_name ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_nice ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_num_ctx_switches ...
psutil.tests.test_process.TestProcess.test_memory_info ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps ... ok                                                                                                                                                              psutil.tests.test_process.TestProcess.test_memory_maps_lists_lib ... ERROR                                                                                                                                                 psutil.tests.test_process.TestProcess.test_memory_percent ... ERROR                                                                                                                                                        psutil.tests.test_process.TestProcess.test_name ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_nice ... ok                                                                                                                                                                     psutil.tests.test_process.TestProcess.test_num_ctx_switches ...
wineconsole:  0079:fixme:virtual:NtQueryVirtualMemory (process=0x178,addr=(nil)) Unimplemented information class: MemoryWorkingSetList

@bitranox
Copy link
Author

bitranox commented Mar 6, 2019

BTW - I am using wine 4.3 development - there might be different test results with wine-stable (conservative) or wine-staging (bleeding edge)

@giampaolo
Copy link
Owner

I use wine 32 Bit - and the recent python windows installer does not work. So I installed python on a windows 10 machine and just copied the installed python3 directory to wine - and it works perfectly! UNfortunately the MSI Installer is not available anymore ... All other packages and psutil can be installed as usual via pip or setup.py

Mmm I installed wine on Ubuntu, then tried to install python3.7 win installer and indeed failed. I tried to copy C:\pyhon37\ installation from a Windows installation into Linux and executed wine /home/giampaolo/Desktop/Python37/python.exe but also failred. Not sure how to install win on Windows (looks like it's UNIX only: https://wiki.winehq.org/Download).

@bitranox
Copy link
Author

bitranox commented Mar 7, 2019

giampaolo, do You have some messenger - I give You a crash course.
just prepare a 64-Bit Linux Virtual Machine with Crome Remote Desktop

@bitranox
Copy link
Author

bitranox commented Mar 7, 2019

Are You still interested in installing WINE ? Its really cool, just give it a try. I have some production applications running on wine with great success - and in most cases it is much faster and stable then on Windows - as long as Your Software does not need any API Calls which are not included in WINE´s nt.dll
If You want, I can help You, its not very hard.

@giampaolo
Copy link
Owner

@bitranox I'm already on Linux. And I also have a Windows 10 in VirtualBox. I basically need some instructions on how to install Wine, but I prefer to use this ticket (as opposed to remote remote desktop).

@giampaolo
Copy link
Owner

I just released psutil 5.6.1 which includes a fix for this issue which should target systems not supporting IPv6 (if any). I'm gonna close this issue as fixed and will treat Wine support in a separate one. @bitranox feel free to continue the discussion here for now though.

@bitranox
Copy link
Author

bitranox commented Mar 12, 2019

ok, here a very quick "howto"

  • install wine :
    there are three versions : wine-stable, wine-develop, wine-staging
    python 3 does not work on wine-stable (last test 2017) , so I work with wine-develop
    you might also try wine-staging if You want.

so lets install wine-develop - You can Install 32 Bit and 64 Bit Windows machines in parallel (generally, as many windows machines as You like)

### enable 32 bit architecture (if you haven't already):
sudo dpkg --add-architecture i386 

### Install Wine development
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
# put cosmic, bionic in the next line whatever You use ... 
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ cosmic main'
sudo apt-get update
sudo apt-get install --install-recommends winehq-devel

At this stage we installed Wine - but no Machines until now.
Wine uses a virtual C: drive instead of your real C: drive. The directory in which this is located is called a 'wineprefix.' By default, it's in your home directory: /home/giampaolo/.wine/drive_c

If You dont need that machine anymore, just simply delete that directory. Or copy it, to have a second, indipendent machine (as You might do it with vm-containers)

If You only install one Windows machine thats fine - but You might to use many for development, so we setup two machines for now.
I usually install them not in the home directory, but in a directory below home to make it easier to reset permissions and ownerships of files after some dirty copy operations, etc. :

### NOT AS SUDO. NEVER RUN WINE AS ROOT ! NEVER ! 
### If You catch a Virus on WINE it might have unwanted access rights otherwise !
### WINE is NOT an Emulator. It is also NOT a virtual machine. It is "just" a compatibility layer
### to the linux kernel and functions (and therefore amazingly fast in most cases)
### that means WINE Processes are running in Your userspace !!!! - so better not run as root !


### Setup one 32 Bit Windows, named "wine_32_clean"
WINEARCH=win32 WINEPREFIX=/home/giampaolo/wine/wine_32_clean winecfg

### Setup one 64 Bit Windows, named "wine_64_clean"
WINEPREFIX=/home/giampaolo/wine/wine_64_clean winecfg

ok, we set up two machines now.
I use one small script to clean up permissions and file ownership on the wine machines,
because I might mess up rights when I copy from one machine to another as root, or something :

#!/bin/bash

sudo chown -R giampaolo /home/giampaolo/wine
sudo chgrp -R giampaolo /home/giampaolo/wine
sodo chmod -R 777 /home/giampaolo/wine

lets also create a new volume for all the wine machines :

mkdir /home/giampaolo/wine/shared_drive_d

ok - now lets start our first program on wine - but on which wine-prefix (context / machine / whatever You want to call it)
for the following examples I use the program "wineconsole" what just gives You a windows command prompt.
You might use the WINEPREFIX environment variable, or You put the WINEPREFIX before each command :

### open wineconsole for /wine/wine_32_clean 
export WINEPREFIX=~/wine/wine_32_clean
wineconsole

### open wineconsole for /wine/wine_64_clean 
export WINEPREFIX=~/wine/wine_64_clean
wineconsole

or

### open wineconsole for /wine/wine_32_clean 
WINEPREFIX=~/wine/wine_32_clean wineconsole
### open wineconsole for /wine/wine_64_clean 
WINEPREFIX=~/wine/wine_64_clean wineconsole

ok - so lets configure the machines a bit with winecfg - its pretty self-explaning,
You can connect the directory /home/giampaolo/wine/shared_drive_d as drive d:,
and even map Network Drives from /media/.... or any other directory, just by putting a link to
~/wine/wine_32_clean/dosdevices/unc/.... # <-- put a link to another directory here, to map it as network drive in wine

You can Set which Version of Windows it should report to programs, etc. ( I use usually WINDOWS10)

### configure the 32 Bit machine
WINEPREFIX=~/wine/wine_32_clean winecfg
### configure the 64 Bit machine
WINEPREFIX=~/wine/wine_64_clean winecfg

once You are fine with Your configuration, just copy the whole wine directory to have a backup,
or just copy one of the wine directories to have a new, clean windows machine. Its as easy as that !

there are countless settings on wine You can set, You might use original Windows DLL if the wine dll does not work, and so on.
Many of that configurations can set conveniently through "winetricks" - another program You might install. Just Install it and look around - but keep a copy of Your "clean" install !!!
"winetricks" also helps on installing some major programs or packages what would be horrible if You do it manually.

ok, but You want to Install Python :
the python installer does not work on wine (as of 2018), so just copy the python installation from Your Windows Machine.
Of course, You need a 32 Bit Python Installation for the 32-Bit Windows Machine.
On the 64-Bit Windows Machine both python Interpreters (32-Bit and 64 Bit) might work - i did not test that, I just use the 64 Bit Interpreter on the 64 Bit Wine

so just copy the installations (I used some Installations of a Windows10 machine):

### 32 Bit Python Installation
c:\python37_32Bit  -->  /home/giampaolo/wine/wine_32_clean/drive_c/python37

### 64 Bit Python Installation
c:\python37_64Bit  -->  /home/giampaolo/wine/wine_64_clean/drive_c/python37

now You should clean the permissions and ownerships with the small script mentioned above.

so lets test python on wine now :

WINEPREFIX=~/wine/wine_32_clean wineconsole
c:
cd /python37
python

and

WINEPREFIX=~/wine/wine_64_clean wineconsole
c:
cd /python37
python

voila !

everything else You can do in the wineconsole, like pip install and so on ...

I hope that was helpful, in case of any questions, let me know !

Robert

@bitranox
Copy link
Author

just curiouse - did it work as expected ?
any more help needed ?

@giampaolo
Copy link
Owner

Sorry but don't have time right now. I will try to get back to this later.

@bitranox
Copy link
Author

bitranox commented Apr 5, 2019

I set up travis integration for Python on WINE
check : https://travis-ci.org/bitranox/lib_platform
check : https://github.com/bitranox/lib_platform

@giampaolo
Copy link
Owner

giampaolo commented Apr 5, 2019

For clarity, I would welcome Wine support but since that:

  1. I don't consider it high priority
  2. we currently have no idea what APIs we can support
  3. adding support for a new platform is a lot of work

...I don't expect this to happen any time soon (plus I will be in China for the next 2 months, so I won't have a lot of free time). Of course if you want to start working on a PR which would give a rough idea about Wine you have my blessing. =)

@giampaolo giampaolo changed the title can not import psutil on wine32 - RtlIpv6AddressToStringA not found Wine support Apr 5, 2019
@giampaolo giampaolo reopened this Apr 5, 2019
@bitranox
Copy link
Author

bitranox commented Apr 5, 2019

no problem at all - as long as I can import it ;-)
I thought the travis integration might help.
Have a good time in china - if possible, I always dont like to go there .... the food ...

@giampaolo
Copy link
Owner

Yeah, I also don't particularly like the food (too fried and oily). I'll bring some pasta and moka. =)

nlevitt added a commit to nlevitt/psutil that referenced this issue Apr 9, 2019
* origin/master: (150 commits)
  Linux / CPU freq, fixes giampaolo#1481
  improve pmap.py script
  reuse ps.py script in psutil.test()
  move get_terminal_size() in _compat.py
  improve ps.py script
  improve ps.py script
  move bytes2human() into psutil._common and reused it from scripts dir
  fix windows failure re. py 2 vs. 3
  fix linux tests
  fix giampaolo#1474: fix formatting of psutil.tests() which mimicks 'ps aux' output
  give CREDITS for giampaolo#1480
  remove outdated tests
  Fix read access violation in psutil.cpu_count(logical=False) (giampaolo#1480)
  update doc
  update doc
  [Win] Process IO priority constants + high priority (giampaolo#1479 / giampaolo#1476)
  don't fail if there are not prev failed tests
  fix giampaolo#1478: add make command to re-run tests failed on last run
  [Win] return value is not properly handled for undocumented NT* Windows APIs. (giampaolo#1477)
  fix error on py 2.7 where OSError doesn't always have winerror attribute
  update HISTORY for giampaolo#1475
  properly check OSError.winerror
  refactor ionice() on Linux
  refactor ionice() on Linux
  ionice test refactoring
  giampaolo#1404: fix regression not returning CPUs > 9
  give CREDITS to Daniel Beer for giampaolo#1471
  Fix spurious exception when iterating processes on Solaris (giampaolo#1471)
  give CREDITS for giampaolo#1470
  Fix corner case when /etc/mtab doesn't exist and procfs=/proc (giampaolo#1470)
  update DEVNOTES
  Typo fixed (giampaolo#1469)
  giampaolo#1458: implement colors on Windows
  update HISTORY / CREDITS, fix some C warnings
  Make uptime type consitent to fix boot time error. (giampaolo#1225)
  fix giampaolo#1463: cpu_distribution.py script is broken
  update issue template
  issue giampaolo#1404 / linux / phys CPUs count
  Big docfix (giampaolo#1464)
  Big docfix (giampaolo#1464)
  Make tests invariant to LANG setting (giampaolo#1462)
  test runner: show errors on KeyboardInterrupt
  test runner refactoring (avoid code duplication)
  Coloured tests (giampaolo#1459)
  pre-release
  [Windows] calculate USS memory by using NtQueryVirtualMemory (giampaolo#1453)
  fix version highlighting in docs/index (giampaolo#1455)
  fix version highlighting in README (giampaolo#1454)
  run win specific tests twice as fast
  test refactoring
  test: avoid failing at import time
  mention how to run tests in INSTALL guide
  giampaolo#1448: fix Wine support due to missing rtlIpv6AddressToStringA
  update HISTORY
  Fix giampaolo#1329: [AIX] disable some functions based on availability in libperfstat (giampaolo#1349)
  bump up version, fix some doc issues
  fix ResourceWarning
  pre-release
  fix giampaolo#1447: we weren't use @wrap_exceptions around oneshot() (doh\!)
  update doc + change git hook location
  update doc
  make pre-release checks/install src dist in a venv
  add new make command to check tar.gz sanity
  move doc; rephrase it a bit
  add issue templates for 'bug' and 'enhancement' types
  remove issue template commited by accident
  Update issue templates
  giampaolo#1291: (BACKWARD-INCOMPATIBLE) remove memory_maps() on OSX
  Restore Win-7 support on GIT master (5.5.1 was OK) (giampaolo#1446)
  try to fix ntext.h
  restore previous def
  fix compiler warning
  fix compiler warning
  fix compiler warning
  fix compiler warning
  take defs from PH
  set proper  SYSTEM_PROCESS_INFORMATION struct from PH
  fix compilation warnings
  giampaolo#1398 / win / cmdline: call NtQueryInformationProcess twice, the first time to get the right buf size (ProcessHacker does this)
  update doc
  better print formatting for print scripts
  fix giampaolo#1442: use python3 as Makefile default
  appveyor: run print scripts after tests
  highlight top 6 slowest calls
  add printerr() and exit() to shared utils module
  add arg parser for ad script
  introduce a new scriptsutils.py private module shared by all internal utils + refactor print_access_speed.py script
  giampaolo#1291 / OSX: mark memory_maps() as deprecated and make it alwats raise AccessDenied
  OSX memory_maps() - add error handling
  add script for to benchmark API calls
  move access_denied script
  _assert_alive() refactor (linux)
  refactor
  fix NetBSD: Process.connections() may return incomplete results if using oneshot() giampaolo#1439
  add win tests related to send_signal(CTRL_C_EVENT) giampaolo#1227
  fix win test
  fix win tests
  fix backslash warnings
  refactor README a bit
  #fix 1438: do not return any parent() for PID 0 + update doc
  ...
@bitranox
Copy link
Author

hope You are good.
I pout together some shellscripts so You should be able to install on Your local Linux Machine without any hassle :

https://github.com/bitranox/install_python_on_wine_and_travis

good time in China

Xie Xie

Robert

@bitranox
Copy link
Author

Dear Giampaolo,
there is some regression on psutil version 5.7.0 (it worked now until version 5.6.7) :
again the 'RtlIpv6AddressToStringA' :

c:\python3>python
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python3\lib\site-packages\psutil\__init__.py", line 147, in <module>
    from . import _pswindows as _psplatform
  File "c:\python3\lib\site-packages\psutil\_pswindows.py", line 35, in <module>
    from ._psutil_windows import ABOVE_NORMAL_PRIORITY_CLASS
OSError: [WinError 127] Prozedur nicht gefunden: 'RtlIpv6AddressToStringA'
>>>

please be so kind and fix

yours sincerely

Robert

@ikus060
Copy link

ikus060 commented Jun 15, 2021

I'm bumping this issue.

Here how to reproduce the problem with docker.

ikus060@pop-os:~$ docker run -it ikus060/python:wine-py3
root@29b2e39d9cc7:/# pip install psutil
Collecting psutil
  Downloading psutil-5.8.0-cp37-cp37m-win32.whl (240 kB)
     |????????????????????????????????| 240 kB 3.7 MB/s eta 0:00:01
Installing collected packages: psutil
Successfully installed psutil-5.8.0
root@29b2e39d9cc7:/# python
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 14 2019, 23:09:19) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python37\lib\site-packages\psutil\__init__.py", line 107, in <module>
    from . import _pswindows as _psplatform
  File "C:\Python37\lib\site-packages\psutil\_pswindows.py", line 35, in <module>
    from ._psutil_windows import ABOVE_NORMAL_PRIORITY_CLASS
OSError: [WinError 127] Procedure not found: 'RtlIpv6AddressToStringA'
>>> 

@giampaolo
Copy link
Owner

giampaolo commented Sep 4, 2021

The fix should be easy:

diff --git a/psutil/_psutil_common.c b/psutil/_psutil_common.c
index ff060a51..60850714 100644
--- a/psutil/_psutil_common.c
+++ b/psutil/_psutil_common.c
@@ -330,8 +330,6 @@ psutil_loadlibs() {
         return 1;
     RtlIpv6AddressToStringA = psutil_GetProcAddressFromLib(
         "ntdll.dll", "RtlIpv6AddressToStringA");
-    if (! RtlIpv6AddressToStringA)
-        return 1;
 
     // --- Optional
     // minimum requirement: Win 7

@bitranox could you please apply the fix above to master branch and paste test results here (make test)? I'd like to take a look at the overall situation on Wine in terms of support.

@bitranox
Copy link
Author

bitranox commented Sep 5, 2021

Dear Giampaolo,

could you please apply the fix above to master branch and paste test results here (make test)?

I would like to but it is not that easy:

  • installed Python 3.9.7, thats no problem
  • to compile I would need microsoft C++ 14.0 Compiler - until now I failed to install it on wine ... , so at the moment I only can install wheels.
  • Your make.bat needs service, because Python 3.9.7 is installed for example on C:\Program Files\Python39-32
    and Your make.bat does not support blanks in the PYTHON environment variable.
  • Your scripts\internal\winmake.py also has some issues with the blank in the PYTHON environment variable.

should I take care of make.bat and scripts\internal\winmake.py ?
there should be also tests for this, having a python interpreter on a path with blanks ...

I will try to get C++ running on wine, then I can continue ...

yours sincerely

Robert

@bitranox
Copy link
Author

bitranox commented Sep 11, 2021

Dear Giampaolo,

RtlIpv6AddressToStringA issue seems to be fixed from wine version 5.10 - see :

https://www.winehq.org/announce/5.10
and
https://bugs.winehq.org/show_bug.cgi?id=46788

however - I am still testing and will let You know the results.

yours sincerely

Robert

@bitranox
Copy link
Author

Dear Giampaolo,
as mentioned before, psutil is working on wine-stable, Version 6.0.1, they fixed RtlIpv6AddressToStringA in Wine.

Unfortunately the installation for dotNet4.x is broken at the current wine-stable.
wine-devel and wine-staging installation on Ubuntu is also broken at the moment -
so I have no possibility to install Microsoft Building Tools 2019 to run make test

In preparation I fixed make.bat and winmake.py to support blanks in the PYTHON env. variable.
On some Windows Installations Python is installed on "c:\Program Files\python39-32"
check https://github.com/giampaolo/psutil/pull/1987

as soon as wine-devel and as a consequence Microsoft Building Tools 2019 can be installed, I will report back the result for make test

Yours sincerely

Robert

@nukemiko
Copy link

There is also a problem with psutil.Process, whose instance raises an OSError (originated from NtQuerySystemInformation) when its own __str__() or __repr__() method is called:

Python 3.11.1 (tags/v3.11.1:a7a450f, Dec  6 2022, 19:58:39) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
>>> psutil.pids()
[32, 56, 68, 104, 148, 180, 204, 224, 280, 288]
>>> psutil.Process(288)
0124:fixme:ntdll:NtQuerySystemInformation (0x00000058,0x20e9c8,0x00000018,(nil)) stub
Traceback (most recent call last):
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_common.py", line 443, in wrapper
    ret = self._cache[fun]
          ~~~~~~~~~~~^^^^^
KeyError: <function Process.exe at 0x00000000018AFBA0>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\Python311\Lib\site-packages\psutil\__init__.py", line 389, in __str__
    info["name"] = self.name()
                   ^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\__init__.py", line 621, in name
    name = self._proc.name()
           ^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 759, in name
    return os.path.basename(self.exe())
                            ^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 690, in wrapper
    raise convert_oserror(err, pid=self.pid, name=self._name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 680, in convert_oserror
    raise exc
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 688, in wrapper
    return fun(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_common.py", line 450, in wrapper
    ret = fun(self)
          ^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 775, in exe
    exe = cext.proc_exe(self.pid)
          ^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 87] 无效参数。: '(originated from NtQuerySystemInformation)'
>>> proc = psutil.Process()
>>> proc
0124:fixme:ntdll:NtQuerySystemInformation (0x00000058,0x20e9c8,0x00000018,(nil)) stub
Traceback (most recent call last):
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_common.py", line 443, in wrapper
    ret = self._cache[fun]
          ~~~~~~~~~~~^^^^^
KeyError: <function Process.exe at 0x00000000018AFBA0>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\Python311\Lib\site-packages\psutil\__init__.py", line 389, in __str__
    info["name"] = self.name()
                   ^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\__init__.py", line 621, in name
    name = self._proc.name()
           ^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 759, in name
    return os.path.basename(self.exe())
                            ^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 690, in wrapper
    raise convert_oserror(err, pid=self.pid, name=self._name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 680, in convert_oserror
    raise exc
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 688, in wrapper
    return fun(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_common.py", line 450, in wrapper
    ret = fun(self)
          ^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\psutil\_pswindows.py", line 775, in exe
    exe = cext.proc_exe(self.pid)
          ^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 87] 无效参数。: '(originated from NtQuerySystemInformation)'

Tested on WINE staging 7.22 on Arch Linux, psutil version 5.9.4, Python version 3.11.1.

@amchii
Copy link

amchii commented Apr 28, 2023

@nukemiko Same here. Have you found some solutions?

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

No branches or pull requests

5 participants