系统调用失败从MATLAB工人

7视图(30天)
凯文
凯文 2018年2月9日
评论道: 凯文2018年2月12日
我遇到一些困难在R2017a与MATLAB工人。
它完美地,除非MATLAB代码试图使一个系统调用。然后不能“意想不到的系统误差:爆炸:调查[4]中断系统调用”。
例如,如果我提交下列:
> >工作= sge_cluster.createJob ();
> > job.createTask(@()系统(),0);
> > job.submit ();
然后工作运行但产生以下错误:
> > disp (job.Tasks (1) . error)
ParallelException属性:
标识符:“MATLAB:爆炸:SystemError”
信息:“意想不到的系统误差:爆炸:调查[4]中断系统调用的
原因:{}
remotecause: {[1×1 MException]}
栈:[1×1结构]
集群和作业提交的工作很好,只要我不做任何系统调用。此外,与MATLAB的旧版本,一切工作正常(R2014b)。集群是RHEL 6.9 (7.4)。
编辑:我应该澄清,sge_cluster parallel.cluster。通用太阳网格引擎调度程序,提交工作。如果我上运行相同的工作parcluster(当地的),系统调用就可以了。
我想我不是唯一一个遇到这个问题: 359992 -系统-电话-奇怪的行为 ,但我不清楚如何应用这个答案。

答案(1)

沙
2018年2月12日
嗨,凯文,
解决方案中提到的 系统调用奇怪的行为 链接应该为你工作。
采购bash_profile文件意味着你应该在终端中执行以下命令调用MATLAB之前:
~ / . bash_profile
或者正如前面提到的例子中你可以显式地指定外壳的名字而ssh。
希望这个有帮助。
1评论
凯文
凯文 2018年2月12日
嗨,沙,
包括bash_profile没有为我改变什么。我也试过包括“-nodisplay -nodesktop -noFigureWindows”旗帜,正如前面提到的那个答案。
这是我更新independentJobWrapper.sh:
#/ bin / sh
#包装器脚本的目的是支持独立的执行。万博1manbetx
#
#脚本使用下列环境变量设置的提交MATLAB代码:
#MDCE_MATLAB_EXE——MATLAB可执行的使用
#MDCE_MATLAB_ARGS——MATLAB参数使用
#
#版权2010 - 2011年MathWorks公司。
回声“采购bash配置文件”
~ / . bash_profile
回声“执行:$ {MDCE_MATLAB_EXE} $ {MDCE_MATLAB_ARGS}”
执行" $ {MDCE_MATLAB_EXE} "美元{MDCE_MATLAB_ARGS}
日志输出:
采购bash配置文件
执行:/ sw / matlab / R2017a / bin /工人-nodisplay -nodesktop -noFigureWindows
< MT L B (R) >
版权1984 - 2017年MathWorks公司。
R2017a(9.2.0.538062) 64位(glnxa64)
2月23,2017年
开始、类型其中的一个:helpwin、帮助台或演示。
产品信息,请访问www.tianjin-qmedu.com。
大约2018-02-12 10:53:42 |评估任务DistcompEvaluateFileTask
2018-02-12 10:53:42 |进入distcomp_evaluate_filetask_core
2018-02-12 10:53:42 |进入distcomp_evaluate_filetask_core / iSetup
2018-02-12 10:53:42 |这一过程将退出任何错。
2018-02-12 10:53:42 |这一过程将它的父进程死后退出。
大约2018-02-12 10:53:42 |调用解码函数。
2018-02-12 10:53:42 parallel.cluster.generic.independentDecodeFcn |
2018-02-12 10:53:44 |设置桌面客户端与用户名一个新客户
大约2018-02-12 10:53:44 |使用构造函数构造存储对象“makeFileStorageObject”和位置”PC {}: UNIX {/ matlabjobs}:“
大约2018-02-12 10:53:47 |找工作和任务使用地点“Job2”和“Job2 / Task1”
2018-02-12 10:53:49 |设置TaskEvaluator到NullEvaluator
2018-02-12 10:53:49 |设置数量计算线程1。
2018-02-12 10:53:49 | MATLAB开车启用0
2018-02-12 10:53:49 |预执行阶段完成
大约2018-02-12 10:53:49 |pPreJobEvaluate
大约2018-02-12 10:53:51 |pPreTaskEvaluate
大约2018-02-12 10:53:51 |增加工作的依赖
2018-02-12 10:53:51 | > JobPathHelper.addAdditionalPaths
2018-02-12 10:53:51 | > JobPathHelper.getPathsToAdd
2018-02-12 10:53:51 | < JobPathHelper。getPathsToAdd ~ isMATLABDriveEnabledOnWorker
2018-02-12 10:53:51 |不添加路径依赖而不需要改变路径。
2018-02-12 10:53:51 | < JobPathHelper.addAdditionalPaths
2018-02-12 10:53:51 |调用清楚(“功能”),关闭仿真软件模型万博1manbetx
大约2018-02-12 10:53:52 |叫jobStartup
大约2018-02-12 10:53:52 |叫taskStartup
大约2018-02-12 10:53:52 |获取评价数据
2018-02-12 10:53:52 |开始任务函数
2018-02-12 10:53:53 |结束任务函数
2018-02-12 10:53:53 | dctEvaluateFunctionArray称:@ ()taskPostFcn (runprop.TaskEvaluator)arg游戏
大约2018-02-12 10:53:53 |叫taskFinish
2018-02-12 10:53:53 | dctEvaluateFunctionArray完成。
2018-02-12 10:53:53 | dctEvaluateFunctionArray称:iFinishTaskarg游戏
大约2018-02-12 10:53:53 |叫pPostTaskEvaluate
大约2018-02-12 10:53:54 |叫pPostJobEvaluate
2018-02-12 10:53:54 | dctEvaluateFunctionArray完成。
2018-02-12 10:53:54 | dctEvaluateFunctionArray称:removeDirectoryarg游戏
2018-02-12 10:53:54 | dctEvaluateFunctionArray完成。
2018-02-12 10:53:54 | dctEvaluateFunctionArray称:removeDirectoryarg游戏
2018-02-12 10:53:54 | dctEvaluateFunctionArray完成。
2018-02-12 10:53:54 | dctEvaluateFunctionArray称:iExitFunctionarg游戏
大约2018-02-12 10:53:54 |退出MATLAB通常
大约2018-02-12 10:53:54 |退出代码:0
或许你可以解释“民意调查”[4]中断系统调用错误,或如何行为在R2017a从以前版本已经改变了吗?可能帮我调试的事情结束。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!