Why do I receive a 'permission denied' error when running validation or opening a parpool using the local scheduler?

18 views (last 30 days)
When validating the local scheduler profile I recieve the following error:
VALIDATION DETAILS
Profile: local
Scheduler Type: Local
Stage: Cluster connection test (parcluster)
Status: Passed
Description:Validation Passed
Command Line Output:(none)
Error Report:(none)
Debug Log:(none)
Stage: Job test (createJob)
Status: Failed
Description:The validation stage encountered a MATLAB exception.
Command Line Output:(none)
Error Report:
Could not create a temporary directory for the attached file archive.
Caused by:
Permission denied
Debug Log:(none)
Stage: SPMD job test (createCommunicatingJob)
Status: Failed
Description:The validation stage encountered a MATLAB exception.
Command Line Output:(none)
Error Report:
Could not create a temporary directory for the attached file archive.
Caused by:
Permission denied
Debug Log:(none)
Stage: Pool job test (createCommunicatingJob)
Status: Skipped
Description:Validation skipped due to previous failure.
Command Line Output:(none)
Error Report:(none)
Debug Log:(none)
Stage: Parallel pool test (parpool)
Status: Skipped
Description:Validation skipped due to previous failure.
Command Line Output:(none)
Error Report:(none)
Debug Log:(none)
While trying to start a parpool using the local scheduler MATLAB returns the following error:
Starting parallel pool (parpool) using the 'local' profile ...
Error using parallel.Cluster/parpool (line 81)
Failed to start a parallel pool. (For information in addition to the
causing error, validate the profile 'local' in the Cluster Profile Manager.)
Caused by:
Error using parallel.internal.pool.InteractiveClient>iThrowWithCause
(line 667)
Failed to start pool.
Error using parallel.Job/createTask (line 277)
Permission denied
I have write permission to both the jobStorageLocation and /tmp.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 10 Apr 2017
MATLAB will use the value of the $TMP variable for the location of the temp folder, so you may encounter this error if $TMP isn't set to /tmp. If you do not have permission to write to the path stored in $TMP, then you will not be able to start a parpool.
To determine the folder used by MATLAB, enter the following into the MATLAB command prompt:
>> tempname
If this isn't a folder that you have permission to write to, either change the value of $TMP to a folder you _can _write to, or change the permissions of the folder $TMP is set to.
You can also try the following:
 
1. Launch MATLAB
2. Go to ‘Manage Cluster Profile’ located in the 'Parallel' drop down options. 
3. Select the appropriate Cluster Profile
4. Click ‘Edit’ and the bottom right-hand corner
5. Edit the field for JobStorageLocation to a directory that you have permissions to

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

No tags entered yet.

Products


Release

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!