MATLAB: Am I unable to start the MATLAB Parallel Server service on Windows

MATLABMATLAB Parallel Server

When attempting to start the MATLAB Parallel Server service on Windows, the service says it is started, but it does not show up in the Admin Center or when running the nodestatus command. The log files are not created. If I start the service with the -console flag, I see the following errors:
wrapper | –> Wrapper Started as Console
wrapper | Launching a JVM…
jvm 1 | Wrapper (Version 3.1.2) <http://wrapper.tanukisoftware.org>
jvm 1 |
jvm 1 | com.mathworks.toolbox.distcomp.control.ControlExceptionFactory$ControlFormattableException: The phoenix process exited unexpectedly while starting.
jvm 1 | at com.mathworks.toolbox.distcomp.control.Starter.ioGetException (Starter.java:676)
jvm 1 | at com.mathworks.toolbox.distcomp.control.Starter.invocationTargetGetException(Starter.java:448)
jvm 1 | at com.mathworks.toolbox.distcomp.control.Starter.run(Starter.java:288)
jvm 1 | at com.mathworks.toolbox.distcomp.control.Starter.main(Starter.java:684)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
jvm 1 | at java.lang.reflect.Method.invoke(Unknown Source)
jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:136)
jvm 1 | at java.lang.Thread.run(Unknown Source)
jvm 1 | Caused by: com.mathworks.toolbox.distcomp.control.ControlExceptionFactory$ControlFormattableException: Check the mdce log file
jvm 1 | C:\WINDOWS\TEMP\mjs\Log\mjs-service.log"
jvm 1 | on the host MASTER
jvm 1 | for information about the cause of the exit.
jvm 1 | at com.mathworks.toolbox.distcomp.control.ControlExceptionFactory.createFormattableException(ControlExceptionFactory.java:128)

Best Answer

This error may occur if the MATLAB Parallel Server service does not have permissions to write to the log files or checkpoint files. To resolve this issue, you can change permissions on the Windows TEMP folder so that the service can write to that location.
As an alternate solution, you can also move the log files and checkpointbase location:
1. Open the file mdce_def.bat located in $MATLABROOT\toolbox\distcomp\bin with a text editor (where $MATLABROOT is the installation folder for MATLAB)
2. Locate the following two lines in the file:
set LOGBASE=%TEMP%\MDCE\Log
set CHECKPOINTBASE=%TEMP%\mjs\Checkpoint
3. Replace %TEMP% with another location, such as C:\MJS\Log. For example:
set LOGBASE=C:\MJS\Log
set CHECKPOINTBASE=C:\MJS\Checkpoint
4. Save the file. Once complete you will need restart the service to make the changes.
If you are still unable to start the service after making these changes, contact the Installation Support team here:
NOTE: Starting in R2019a the following name changes occurred:
  • MATLAB Distributed Computing Server was renamed to MATLAB Parallel Server
  • mdce_def was renamed to mjs_def
  • mdce binary was renamed to mjs