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

wxMaxima on Windows: Accumulation of idle processes #1963

Open
mdiehl216 opened this issue Oct 7, 2024 · 2 comments
Open

wxMaxima on Windows: Accumulation of idle processes #1963

mdiehl216 opened this issue Oct 7, 2024 · 2 comments

Comments

@mdiehl216
Copy link

Hello,

I ran into issues when Maxima did not give back a result in reasonable time.
This happened multiple times and I repeatedly restarted Maxima using the button "Completely stop Maxima and restart it".
Eventually I saw a black screen, but it recovered. I use Windows 10.

The task manager revealed that wxMaxima had accumulated the following processes:
1 wxMaxima
5 gnuplot.exe
11 sbcl.exe
6 Console Window Host
11 Windows Command Processor

A simple test in a new wxMaxima session where gnuplot was not involved showed that the interruption of a still calculating Maxima simply added
1 Console Window Host
1 sbcl.exe
1 Windows Command Processor

But the previous processes were not killed.

Pressing the restart button for Maxima should kill the running processes and restart them.
But this seems not to work on Windows when Maxima is still calculating.

@daute
Copy link
Member

daute commented Oct 9, 2024

Maxima (command line Maxima, which does the mathematics in the background) on Windows is a batch file (on Linux it is a shellscript, which calls a Lisp (the programming language, in which Maxima is mostly written) compiler/interpreter in the background, which runs the Maxima process). Windows creates two processes ("Console Windows Host" and "Windows Command Processor" (cmd.exe) for that, sbcl.exe is the Lisp engine, which runs Maxima). But the first 2 processes should neither use much CPU time nor much memory.

The advantage is, that Maxima can be used using different Lisp 'engines' at the same time. Currently SBCL and CLISP are supported in the Windows installer, my nightly builds also support ABCL (a Java based Lisp) and the next release will probably support CCL too. See https://sourceforge.net/p/maxima/code/ci/master/tree/README-lisps.md for the advantages/disadvantages of the various supported Lisp engines.

Some improvements were made by @gunterkoenigsmann that the Lisp process (e.g. sbcl.exe) is more reliably killed (and then the parent processes will end too).
What version (Maxima + wxMaxima) do you use? The bundled package (from https://sourceforge.net/p/maxima) is rather old (and does not contain these improvements) , but I expect a new release in the near future.

Best regards, Wolfgang

@mdiehl216
Copy link
Author

Thank you for your reply!
I usually download the nightly builds.
I guess they are about three to four months old.
wxMaxima on this machine is version 24.05.0_DevelopmentSnapshot.
For Maxima, CMD says "Maxima branch_5_47_base_1319_g805c385b2 https://maxima.sourceforge.io
using Lisp SBCL 2.4.6".

So far the best way I think to interrupt a calculating Maxima is to save the wxMaxima file, to end the wxMaxima task in the Windows Task Manager, and then to restart the wxMaxima session.

Regarding the LISP engine, I would prefer the faster one.

Matthias

daute added a commit that referenced this issue Oct 13, 2024
Until now, the pid was not set (and -1
was printed during the logging). This
(hopefully) helps with issues, where
the "not killing" of Maxima processes
was reported, e.g. #1199, #1824, #1922
or #1963.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants