Closed Anton-V-K closed 2 years ago
Microsoft support for Windows 7 officially ended back in January 2020. Therefore Windows 7 is not supported for this project.
Too bad you aren't going to support Windows 7, which is an optimal choice for an educational box on an old piece of hardware.
Will these servers work in Windows 8.1 64-bit?
I don't know since it was only tested using Win 10, but probably it will.
Based on the hint from the closed issue #27 stating that everything works in Windows 7, I decided to try it one more time.
I've installed Python 3.8.10 on Windows 7 SP1 32-bit (inside VirtualBox), and to my surprise all servers (namely backplane
, espgw
, wsgw
and monitor
) were able to start. Then I tried to run s3e
and it also works!
I'll try same setup on the 'real' Windows 7 and with hardware connection and with Scratch.
After playing with my Windows 7 systems I'm still puzzled about this issue: it happens only on one real Windows 7 64-bit, and everything works fine on a virtual Windows 7 32/64-bit.
I guess this problem is somehow related to psutil
, and there is similar issue https://github.com/giampaolo/psutil/issues/1770 which disappeared after installing Windows updates.
However both tested virtual Windows 7 32/64-bit have only 3 updates installed, while the real Windows has much more updates on it. Probably some Windows updates broke the behavior, and a newer update is needed (this Windows box doesn't have recieved automatic updates).
And there is another similar issue https://github.com/giampaolo/psutil/issues/1937 which isn't resolved, and it happens on Windows 10.
On all systems the version of psutil
is the same - 5.8.0
:
...>pip freeze | findstr psutil
psutil==5.8.0
There is also closed bug https://github.com/giampaolo/psutil/issues/1877 which has nice little test script to imitate the behavior, and it seems to be related to permissions violation (access denied or something like this).
Here is the rewritten fragment of BanyanBaseAIO.__init__
from banyan_base_aio.py
to test the behavior:
import psutil
processName='backplane'
for pid in psutil.pids():
print(pid)
p = psutil.Process(pid)
try:
p_command = p.cmdline()
# ignore these psutil exceptions
except (psutil.AccessDenied, psutil.PermissionError, psutil.ZombieProcess):
continue
try:
if any(processName in s for s in p_command):
print(processName, pid) # found it!
else:
continue
except UnicodeDecodeError:
continue
This script reaches pid 4 (System process) and fails on one specific Windows 7 box.
In this case psutil
doesn't throw the proper exception, so the script 'crashes'.
Thanks for the info. Windows and python modules are sometimes challenging. Suppose the package requires some of its code to be compiled using Visual Studio. In that case, the code may not be compatible because the Windows Version and the Visual Studio version are not always compatible.
FYI - as of about a week ago, psutil is not Python 3.10 compatible on any OS. Eventually, they will update the module, and all should work.
I don't own Windows 7, 8, or 11, so it would be impossible for me to test issues on any of these Windows versions. Windows 10 will be supported for a while. None of my computers can currently support Windows 11. Hopefully, someone will figure out how one can run Windows 11 in a virtual machine without meeting all of their security requirements.
I understand your concerns. Let's wait until next version of psutil is released - most likely the bug will be fixed there (I'm referring to https://github.com/giampaolo/psutil/pull/1887 and https://github.com/giampaolo/psutil/pull/1904).
I'm unable to start
espgw
orwsgw
on Windows 7 SP1 64-bit with Python 3.8.6 32-bit;backplane
starts fine.The last line in both logs translates as Operation completed successfully.
Windows 7 Home Premium (Russian, 64-bit) Version: 6.1.7601 Service Pack 1 Build 7601