System call fails from MATLAB worker
4 次查看(过去 30 天)
显示 更早的评论
I am encountering some difficulty with MATLAB workers in R2017a.
It works perfectly unless the MATLAB code attempts to make a system call. Then it fails with "Unexpected system error: bang: poll [4] Interrupted system call".
For example, if I submit the following:
>> job = sge_cluster.createJob();
>> job.createTask(@() system(''), 0);
>> job.submit();
Then the job runs but produces the following error:
>> disp(job.Tasks(1).Error)
ParallelException with properties:
identifier: 'MATLAB:bang:SystemError'
message: 'Unexpected system error: bang: poll [4] Interrupted system call'
cause: {}
remotecause: {[1×1 MException]}
stack: [1×1 struct]
The cluster and job submission work fine as long as I don't make any system calls. Also, everything works fine with an older version of MATLAB (R2014b). The cluster is mostly RHEL 6.9 (some 7.4).
EDIT: I should clarify that sge_cluster is a parallel.cluster.Generic that submits jobs to a Sun Grid Engine scheduler. If I run the same job on parcluster('local'), the system call works just fine.
I guess I'm not the only one encountering this problem: 359992-system-call-bizarre-behavior, but it's not clear to me how to apply that answer.
0 个评论
回答(1 个)
Shashank
2018-2-12
Hi Kevin,
Sourcing the bash_profile file means that you should execute the following command in the terminal prior to calling MATLAB:
source ~/.bash_profile
or as mentioned in the example there you can specify the shell name explicitly while ssh.
Hope this helps.
-Shashank
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Parallel Server 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!