webMathematica KernelTimeLimit question
- To: mathgroup at smc.vnet.net
- Subject: [mg121160] webMathematica KernelTimeLimit question
- From: Darryl Bragdon <darryl.bragdon at fairchildsemi.com>
- Date: Thu, 1 Sep 2011 06:03:39 -0400 (EDT)
- Delivered-to: email@example.com
Hello, We have been running into issues where our Web Server has been unable to process requests and we had been restarting the Web Server to resume processing. After looking into it, it appears that this issue is occurring when computations are taking longer than the KernelTimeLimit setting. When this happens, most of the time, it appears that the system tries to open another Kernel thread and that runs into the following error: Kernel could not obtain a license. We currently only have one Kernel license. When I look on the server, I can see a Mathematica process continues to run after this time limit. So I tried increasing the time limit to the time that the Mathematica process was taking and after re-running the computation, there was no issue. So from my perspective, it appears that the KernelTimeLimit does not actually stop the computation. But when this time limit is reached, the system stops the existing Kernel (I see Kernel 0 stopped in log) and starts a new Kernel process which is unable to obtain a license because the current process is still running and holding that license. I just want to confirm my understanding of the issue and if there is any easy workaround besides increasing time limits or setting time limits in the individual computations themselves. I would like for the process to stop when the KernelTimeLimit is reached and not cause the License error so that further processing can occur - but this is just a desire. I apologize for my ignorance as I am trying to help merely from an IT perspective. Excerpt from log: 2011-08-29 01:32:08,494 com.wolfram.kerneltools.KernelPool <General kernelThread-0 > [INFO ] Kernel 1 started 2011-08-29 16:43:49,015 com.wolfram.kerneltools.state.StateMachine <General Timer-1 1> [ERROR] Evaluation did not complete within the allowed time limit 2011-08-29 16:43:49,016 com.wolfram.msp.MSPKernelRequest <General http-8080-1 1> [INFO ] Setting HTTP error 403 2011-08-29 16:43:49,518 com.wolfram.kerneltools.KernelPool <General kernelThread-0 > [INFO ] Kernel 1 stopped 2011-08-29 16:43:49,519 com.wolfram.kerneltools.KernelPool <General kernelThread-0 > [INFO ] Kernel 2 started 2011-08-29 16:43:49,648 com.wolfram.kerneltools.state.StateMachine < Thread-19 > [ERROR] Kernel could not obtain a license. 2011-08-29 16:43:50,150 com.wolfram.kerneltools.KernelPool <General kernelThread-0 > [INFO ] Kernel 2 stopped 2011-08-29 16:44:06,113 com.wolfram.msp.tags.el.ELStatics <General http-8080-1 > [ERROR] KernelException thrown while initializing the EL functions com.wolfram.kerneltools.KernelException: Kernel could not obtain a license. at com.wolfram.kerneltools.Kernel.initialize1(Kernel.java:386) at com.wolfram.kerneltools.Kernel.initialize(Kernel.java:247) at com.wolfram.kerneltools.KernelPool $KernelRunnable.run(KernelPool.java:933) at java.lang.Thread.run(Unknown Source) Thank you.