-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Handle STATUS_INVALID_INFO_CLASS in psutil_proc_exe #2493
base: master
Are you sure you want to change the base?
Handle STATUS_INVALID_INFO_CLASS in psutil_proc_exe #2493
Conversation
aadac57
to
9fa8c73
Compare
If my memory serves me right Wine is not supported, meaning attempting to compile resulted in many errors due to missing Windows APIs. Does this mean that with this PR all errors are fixed and compilation on Wine succeeds? Did it succeed before? |
Wine versions before 9.8 and Proton versions before 9.0-1 did not implement the `SystemProcessIdInformation` system information class in `NtQuerySystemInformation`, returning `STATUS_INVALID_INFO_CLASS`. Ubuntu 24.04.1 LTS currently ships with Wine 9.0, and CrossOver 24.0.5 has not backported the implementation of the `SystemProcessIdInformation` system information class to its bundled Wine 9.0 Handle this error case and fall back to `QueryFullProcessImageNameW` to get the process name. Signed-off-by: Ben Peddell <[email protected]>
9fa8c73
to
db39d01
Compare
I wasn't able to install the Visual C++ build tools in my wine prefix, but building on a Windows machine then deploying the wheel to the Wine prefix did work.
|
After a fair bit of wrangling, I was able to install the Visual Studio 2019 Build Tools in Wine (with the Visual Studio installer being very temperamental), install Python in Wine, set up the right environment variables (frustrated by the fact that cmd.exe in Wine always pretends to be 32-bit), and build the package. Basically:
This PR does not change the build environment. |
Can you paste the output of |
...and if it's not too much trouble, could you also paste the output of unit tests (
|
The tests die on I am currently bringing up a Wine 9.17 win32 prefix to test. |
The exe test breaks on newer Wine versions when run from a drive other than the one that Python is installed on due to the executable path not including the drive letter.
|
You can try returning an empty python list here, de-facto disabling For clarity: I'm still trying to understand whether it's worth supporting Wine at all. If it's just these 2 changes we can go for it. |
...and this is the (old) issue where Wine support was being discussed: #1448. |
After putting in runtime detection for Wine (detecting whether the |
Summary
Description
Wine versions before 9.8 and Proton versions before 9.0-1 did not implement the
SystemProcessIdInformation
system information class inNtQuerySystemInformation
, returningSTATUS_INVALID_INFO_CLASS
.Ubuntu 24.04.1 LTS currently ships with Wine 9.0, and CrossOver 24.0.5 has not backported the implementation of the
SystemProcessIdInformation
system information class to its bundled Wine 9.0Handle this error case and fall back to
QueryFullProcessImageNameW
to get the process name.