I have written a Manipulate
code carrying out some very complicated tasks. There is no problem for the first run, but if I click the reset button to reset all variables to their initial states (which is also ok) and click the run button a second time, then it is very likely that the Mathematica kernel will crash during the re-run progress, the frequency for such crash happening is about 9 out of 10 times.
I have spent almost a month trying to track down the source of this problem, but failed. I also asked the Wolfram support team, they suggested to implement the Quit
function in the reset button as a workaround, such that the reset button will make the kernel quit, since the first run is always ok.
Now the problem is, I cannot directly put Quit[]
inside the button, for by doing this the kernel loses all definiton about the enclosing Manipulate
. So I need the reset button doing two tasks:
- Quit the kernel.
- Make Mathematica automatically re-run the enclosing
Manipulate
code.
I wonder if this is possible?
Clear
orRemove
with any success? $\endgroup$Unset
,ClearSystemCache
,$HistoryLength
,SaveDefinitions -> True
,SynchronousInitialization -> True
,SynchronousUpdating -> True
, andDynamicEvaluationTimeout -> Infinity
. But the problem remains. There must be no problem for any function since the first run is always ok. I suppose something unusual happened in the kernel during the re-run process. $\endgroup$Clear
andRemove
instead ofUnset
, but problem also remains. $\endgroup$