Some additional information after I visited
https://github.com/maths/stack_util_maximapool/issues/14
(I also tested to start tomcat as root (tomcat8 has no homedirectory), but all rights should be ok anyway
here the working pool with batch file starting maxima
############################################################
Executing command-line: maxima
Waiting for target text: '(%i1)'
Maxima 5.37.2 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.12
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1)
Sending command:
load("/var/lib/maximapool/2016122100/maximalocal.mac");
Waiting for target text: '/var/lib/maximapool/2016122100/maximalocal.mac'
(%o1) /var/lib/maximapool/2016122100/maximalocal.mac
(%i2)
Start-up time: 32 ms
Sending command:
1+1;
concat("--COMPLETED--k","ill--PROCESS--");
Waiting for target text: '--COMPLETED--kill--PROCESS--'
(%o2) 2
(%i3) (%o3) --COMPLETED--kill--PROCESS--
Sending command:
quit();
Total time: 34 ms
Executing command-line: maxima
Waiting for target text: '(%i1)'
Maxima 5.37.2 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.12
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1)
Sending command:
load("/var/lib/maximapool/2016122100/maximalocal.mac");
Waiting for target text: '/var/lib/maximapool/2016122100/maximalocal.mac'
(%o1) /var/lib/maximapool/2016122100/maximalocal.mac
(%i2)
Start-up time: 32 ms
Sending command:
1+1;
concat("--COMPLETED--k","ill--PROCESS--");
Waiting for target text: '--COMPLETED--kill--PROCESS--'
(%o2) 2
(%i3) (%o3) --COMPLETED--kill--PROCESS--
Sending command:
quit();
Total time: 34 ms
############################################################
Here the bad with healthcheck 1
Executing command-line: /usr/lib/maxima/5.37.2/binary-gcl/maxima -eval '(cl-user::run)'
Waiting for target text: '(%i1)'
Timeout!
starting
/usr/lib/maxima/5.37.2/binary-gcl/maxima -eval '(cl-user::run)' ends with working maxima
###################################
process.conf for this
### Config for this Maxima process
# As a sanity check, this must match the name of the containing folder, but not the full path.
# Typically this is the name of the version number of the current STACK, e.g. 20160922001
name = 2016122100
# Whether processes of this type should be automatically made available when
# the server starts.
auto.start = true
### Maxima related commands and parameters
# Working directory for the process
working.directory = /var/lib/maximapool/2016122100/tmp
#working.directory = /tmp
# Command-line to launch the optimised Maxima process.
# This information is given at the end of the STACK healthcheck script. It will need to be updated
# to reflect the move of the optimised image to /var/lib/maxima/%%VERSION%%/
# This will depend on your maxima (and lisp) setup. E.g.
# /usr/lib/clisp-2.49/base/lisp.run -q -M /var/lib/maxima/%%VERSION%%/maxima_opt_auto.mem
# Do not include the "timeout" command. The servlet deals with timeouts itself.
#command.line = /var/lib/maximapool/%%VERSION%%/maxima-optimised
#command.line = /var/lib/maximapool/2016122100/maxima
#command.line = /var/lib/max_opti/max_optimised -eval '(cl-user::run)' -f -- "$@"
#command.line = /var/lib/max_opti/max_optimised -eval '(cl-user::run)'
command.line = /usr/lib/maxima/5.37.2/binary-gcl/maxima -eval '(cl-user::run)'
#command.line = maxima
# Input the load command after this, if defined.
#process.started = Maxima restarted.
#maxima.ready.for.use = (%i1)
#maxima.ready.for.use = STACK-Maxima started
#maxima.ready.for.load = (%i1)
# The process has loaded when this appears. On old versions of STACK use the fi$
#maxima.ready.for.use = Stack-Maxima started
#maxima.ready.for.use = STACK-Maxima started
maxima.ready.for.load = (%i2)
maxima.ready.for.use = (%i2)
# A file to load to maxima using load(""); set to false or empty if not needed
extra.file = /var/lib/maximapool/2016122100/maximalocal.mac
# The process has loaded when this appears.
process.ready = /var/lib/maximapool/2016122100/maximalocal.mac
### File handling related parameters
# these make the difference between shared filesystem installations and truly
# separate servers
# Do we handle files?
file.handling = true
# The command template to pass the current working and output directories to the process, use placeholders to mark the paths, depending on your system we may escape \-chars in the path.
# Usable placeholders:
# %WORK-DIR% the directory that won't be transferred to the client side
# %WORK-DIR-NE% use this if you do not want \-chars escaped
# %OUTPUT-DIR% the directory that will be transferred to the client side
# %OUTPUT-DIR-NE% use this if you do not want \-chars escaped
path.command = maxima_tempdir: "%WORK-DIR%/"$ IMAGE_DIR: "%OUTPUT-DIR%/"$ URL_BASE: "%PLOT-URL-BASE%"$
### Maximum lifetimes.
# This is the time that a process is allowed to take when starting up (ms).
startup.timeout = 10000
# This is the time added to the lifetime of a process when it is taken to use
# so that it wont be killed while in use (ms).
execution.timeout = 30000
# This is the lifetime given to a process (ms).
maximum.lifetime = 600000
### Estimates used to start the pool size planning.
# Estimated time to start a process of this type (ms).
startup.time.estimate = 2000
# Estimated demand for these processes (number per second).
demand.estimate = 0.1
###################################
Maximalocal.mac
/* ***********************************************************************/
/* This file is automatically generated at installation time. */
/* The purpose is to transfer configuration settings to Maxima. */
/* Hence, you should not edit this file. Edit your configuration. */
/* This file is regularly overwritten, so your changes will be lost. */
/* ***********************************************************************/
/* File generated on June 5, 2017, 10:37 pm */
/* Add the location to Maxima's search path */
file_search_maxima:append( [sconcat("/var/lib/maximapool/2016122100/maxima/###.{mac,mc}")] , file_search_maxima)$
file_search_lisp:append( [sconcat("/var/lib//maximapool/2016122100/maxima/###.{lisp}")] , file_search_lisp)$
file_search_maxima:append( [sconcat("/var/lib/maximapool/2016122100/logs/###.{mac,mc}")] , file_search_maxima)$
file_search_lisp:append( [sconcat("/var/lib/maximapool/2016122100/logs/###.{lisp}")] , file_search_lisp)$
STACK_SETUP(ex):=block(
/* MAXIMA_VERSION_NUM_EXPECTED:0, */
MAXIMA_VERSION_NUM:0,
/* MAXIMA_PLATFORM:"unix", */
/* maxima_tempdir:"/srv/www/moodledata/moodle1/stack/tmp/", */
IMAGE_DIR:"/srv/www/moodledata/moodle1/stack/plots/",
PLOT_TERMINAL:"png",
PLOT_TERM_OPT:"large transparent size 450,300",
DEL_CMD:"rm",
GNUPLOT_CMD:"gnuplot",
/* MAXIMA_VERSION_EXPECTED:"default", */
MAXIMA_VERSION:"default",
URL_BASE:"!ploturl!",
/* Define units available in STACK. */
stack_unit_si_prefix_code:[y, z, a, f, p, n, u, m, c, d, da, h, k, M, G, T, P, E, Z, Y],
stack_unit_si_prefix_multiplier:[10^-24, 10^-21, 10^-18, 10^-15, 10^-12, 10^-9, 10^-6, 10^-3, 10^-2, 10^-1, 10, 10^2, 10^3, 10^6, 10^9, 10^12, 10^15, 10^18, 10^21, 10^24],
stack_unit_si_prefix_tex:["\\mathrm{y}", "\\mathrm{z}", "\\mathrm{a}", "\\mathrm{f}", "\\mathrm{p}", "\\mathrm{n}", "\\mu ", "\\mathrm{m}", "\\mathrm{c}", "\\mathrm{d}", "\\mathrm{da}", "\\mathrm{h}", "\\mathrm{k}", "\\mathrm{M}", "\\mathrm{G}", "\\mathrm{T}", "\\mathrm{P}", "\\mathrm{E}", "\\mathrm{Z}", "\\mathrm{Y}"],
stack_unit_si_unit_code:[m, l, L, g, s, h, Hz, Bq, cd, N, Pa, cal, Cal, Btu, eV, J, W, A, ohm, C, V, F, S, Wb, T, H, Gy, rem, Sv, lx, mol, M, kat, rad],
stack_unit_si_unit_conversions:[m, m^3/1000, m^3/1000, kg/1000, s, s*3600, 1/s, 1/s, cd, (kg*m)/s^2, kg/(m*s^2), 4.2*J, 4200*J, 1055*J, 1.602177e-19*J, (kg*m^2)/s^2, (kg*m^2)/s^3, A, (kg*m^2)/(s^3*A^2), s*A, (kg*m^2)/(s^3*A), (s^4*A^2)/(kg*m^2), (s^3*A^2)/(kg*m^2), (kg*m^2)/(s^2*A), kg/(s^2*A), (kg*m^2)/(s^2*A^2), m^2/s^2, 0.01*Sv, m^2/s^2, cd/m^2, mol, mol/(m^3/1000), mol/s, rad],
stack_unit_si_unit_tex:["\\mathrm{m}", "\\mathrm{l}", "\\mathrm{L}", "\\mathrm{g}", "\\mathrm{s}", "\\mathrm{h}", "\\mathrm{Hz}", "\\mathrm{Bq}", "\\mathrm{cd}", "\\mathrm{N}", "\\mathrm{Pa}", "\\mathrm{cal}", "\\mathrm{cal}", "\\mathrm{Btu}", "\\mathrm{eV}", "\\mathrm{J}", "\\mathrm{W}", "\\mathrm{A}", "\\Omega", "\\mathrm{C}", "\\mathrm{V}", "\\mathrm{F}", "\\mathrm{S}", "\\mathrm{Wb}", "\\mathrm{T}", "\\mathrm{H}", "\\mathrm{Gy}", "\\mathrm{rem}", "\\mathrm{Sv}", "\\mathrm{lx}", "\\mathrm{mol}", "\\mathrm{M}", "\\mathrm{kat}", "\\mathrm{rad}"],
stack_unit_other_unit_code:[min, amu, u, mmHg, bar, cc, gal, mbar, atm, Torr, rev, deg, rpm, K, day, year],
stack_unit_other_unit_conversions:[s*60, amu, amu, 133.322387415*Pa, 10^5*Pa, m^3*10^(-6), 3.785*l, 10^2*Pa, 101325*Pa, 101325/760*Pa, 2*pi*rad, pi*rad/180, pi*rad/(30*s), K, 86400*s, 3.156e7*s],
stack_unit_other_unit_tex:["\\mathrm{min}", "\\mathrm{amu}", "\\mathrm{u}", "\\mathrm{mmHg}", "\\mathrm{bar}", "\\mathrm{cc}", "\\mathrm{gal}", "\\mathrm{mbar}", "\\mathrm{atm}", "\\mathrm{Torr}", "\\mathrm{rev}", "\\mathrm{{}^{o}}", "\\mathrm{rpm}", "\\mathrm{K}", "\\mathrm{day}", "\\mathrm{year}"],
true)$
/* Load the main libraries. */
print(sconcat("[ STACK-Maxima started, library version ", stackmaximaversion, " ]"))$
/*load("stackmaxima.mac")$*/