linux下,命令行运行两个matlab进程为什么总会有一个进程崩溃?


我主要用matlab下的libsvm-3.11做关于蛋白质相互作用的预测,linux下开两个matlab下计算进程时,有一个总是崩溃掉,但如果在不同的机器上分别运行的话,可以得到正确的运行结果。由于计算非常耗时,希望可以开多个计算进程,但手头机子又非常有限,这个问题应该怎么解决呢?
有崩溃时的日志文件,如何根据日志文件确定崩溃原因呢?

   
  < M A T L A B (R) >
  
Copyright 1984-2010 The MathWorks, Inc.
Version 7.10.0.499 (R2010a) 64-bit (glnxa64)
February 5, 2010


To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.






Segmentation violation detected at Thu Aug 30 18:42:48 2012



Configuration:
MATLAB Version: 7.10.0.499 (R2010a)
MATLAB License: 161051
Operating System: Linux 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64
GNU C Library: 2.5 stable
Window System: NetSarang Computer, Inc. (4004), display 115.24.14.150:0.0
Current Visual: 0x29 (class 4, depth 24)
Processor ID: x86 Family 6 Model 12 Stepping 2, GenuineIntel
Virtual Machine: Java is not enabled
Default Encoding: GB18030

Fault Count: 1

Register State:
rax = 00002aaab2f03c00 rbx = 00000000421421e0
rcx = 00000000000008b0 rdx = 00000000000117b8
rbp = 0000000042142d60 rsi = 00000000000117b8
rdi = 000000000000008b rsp = 000000004213ff90
r8 = 000000000d1fc480 r9 = 000000004213fff0
r10 = 0000000042141690 r11 = 0000000042140b40
r12 = 000000000d253b60 r13 = 00000000000117b8
r14 = 00000000421435c0 r15 = 0000000042142e60
rip = 00002aaab1c780ad flg = 0000000000010287

Stack Trace:
[0] svmtrain.mexa64:0x00002aaab1c780ad(0x42142f60, 0x2aaaab1686a8, 0x42142da0, 0x42142e60 "0络豹*")
[1] svmtrain.mexa64:0x00002aaab1c741ee(0x42142f70, 0x2b18ae83f2bc, 0x0a5b0930, 0x3ff0000000000000)
[2] svmtrain.mexa64:0x00002aaab1c74a03(0x421432a0 "P\n", 0x2aaaab168298, 0x421432f0, 0x2b18afa8df77)
[3] svmtrain.mexa64:0x00002aaab1c77020(0x2b18ae02d3b8, 0x421436f0, 0x2b18b244a528, 0x42144218)
[4] svmtrain.mexa64:mexFunction~(0x100000003, 0x0a4a8b00 "犜h\n", 0x127f00000000, 0x42144218) + 563 bytes
[5] libmex.so:mexRunMexFile(1, 0x42144200, 0x300000000, 0x42144140) + 90 bytes
[6] libmex.so:Mfh_mex::runMexFileWithSignalProtection(int, mxArray_tag**, int, mxArray_tag**)(0x42143e5c, 1, 0x421438d0, 0x42143d20) + 137 bytes
[7] libmex.so:Mfh_mex::dispatch_file(int, mxArray_tag**, int, mxArray_tag**)(0x42144200, 0x3afac7f1d, 0x0a671540, 0x42145bb0 "0kg\n") + 247 bytes
[8] libmwm_dispatcher.so:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**)(0x142143e50, 0xffffffff, 0x0a68ec30, 3) + 330 bytes
[9] libmwm_interpreter.so:ResolverFunctionDesc::CallFunction(int, mxArray_tag**, int, mxArray_tag**)(0x336f152a48 "瘙h\n", 0x42143e80, 0x42144cd0, 801) + 871 bytes
[10] libmwm_interpreter.so:Resolver::CallMFunction(int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*)(0x0a68eae0, 0, 0x42144ea0, 48) + 1637 bytes
[11] libmwm_interpreter.so:inResolveMFunctionCall(_m_function_desc*, int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*, inMarshalType*, int, mpsTypeSequenceNlhs const*, mxArray_tag* (*)(int))(0x0a68eae0, 0, 0x42144ea0, 0x42145048) + 482 bytes
[12] libmwm_interpreter.so:accelImpl::MFunctionCall(_accelOp**)(0x42144e34, 0x0a9a16a0, 0x9842144e90, 0x0a635c70) + 239 bytes
[13] libmwm_interpreter.so:accelImpl::Exec()(0x42145048, 0x42145040, 0x0a67fc90, 0x0a68ba60) + 273 bytes
[14] libmwm_interpreter.so:accelCode::Call(inMarshalType*, int*) const(0x42145048, 0x42145040, 0x42144ff0, 0x4214504f) + 91 bytes
[15] libmwm_interpreter.so:inJit::ExecuteHotSegment(_inJitAccelInfo*, opcodes*, int*, long*)(0x42145120 ", 0x42145268, 0x42145260, 0x421452e8) + 1793 bytes
[16] libmwm_interpreter.so:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*)(0x42145848, 0x0a671e40 "@S_\n", 0x8000000000, 0x10000028c) + 6785 bytes
[17] libmwm_interpreter.so:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0x0a67f200, 0x0a681250 "@衉\n", 0x0a676b30, 0x0a2e7c80) + 140 bytes
[18] libmwm_interpreter.so:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0x42145810, 0x4214585c, 0xffffffff0000003f, 0xffffffff00000000) + 378 bytes
[19] libmwm_interpreter.so:inExecuteMFunctionOrScript(Mfh_mp*, bool)(0x42145900, 0x42145af0, 0, 0x42146020) + 688 bytes
[20] libmwm_interpreter.so:inRunMfile(int, mxArray_tag**, int, mxArray_tag**, Mfh_mp*, inWorkSpace_tag*)(0x42146020, 0x4afac7f1d, 0x0a676b30, 0x421479d0 ") + 1419 bytes
[21] libmwm_dispatcher.so:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**)(0x142145c70, 0xffffffff, 0x0a67f3e0, 4) + 330 bytes
[22] libmwm_interpreter.so:ResolverFunctionDesc::CallFunction(int, mxArray_tag**, int, mxArray_tag**)(0, 0, 0x42146af0, 0) + 871 bytes
[23] libmwm_interpreter.so:Resolver::CallMFunction(int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*)(0x0a67f220, 0, 0x42146cc0, 0x2b18afa65d4e) + 1637 bytes
[24] libmwm_interpreter.so:inResolveMFunctionCall(_m_function_desc*, int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*, inMarshalType*, int, mpsTypeSequenceNlhs const*, mxArray_tag* (*)(int))(0x0a67f220, 0, 0x42146cc0, 0x42146e68) + 482 bytes
[25] libmwm_interpreter.so:accelImpl::MFunctionCall(_accelOp**)(0x42146c54, 0x0a9a16a0, 0x1342146cb0, 0x0a672e80 "蝎g\n") + 239 bytes
[26] libmwm_interpreter.so:accelImpl::Exec()(0x42146e68, 0x42146e60, 0x0a67abd0, 0x0a6158a0) + 273 bytes
[27] libmwm_interpreter.so:accelCode::Call(inMarshalType*, int*) const(0x42146e68, 0x42146e60, 0x42146e10, 0x42146e6f) + 91 bytes
[28] libmwm_interpreter.so:inJit::ExecuteHotSegment(_inJitAccelInfo*, opcodes*, int*, long*)(0x42146ef0, 0x42147088, 0x42147080, 0x42147108 ") + 1793 bytes
[29] libmwm_interpreter.so:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*)(0x42147668, 0x0a635580 "PNc\n", 0x200000000, 0x100000151) + 6785 bytes
[30] libmwm_interpreter.so:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0, 0x2b18aff302e8, 0x0a33b8e0, 0) + 140 bytes
[31] libmwm_interpreter.so:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0x42147630, 0x4214767c, 0xffffffff0000003f, 0xffffffff00000000) + 378 bytes
[32] libmwm_interpreter.so:inExecuteMFunctionOrScript(Mfh_mp*, bool)(0x0a60ac78, 0x42147910, 0, 0x42147e40) + 688 bytes
[33] libmwm_interpreter.so:inRunMfile(int, mxArray_tag**, int, mxArray_tag**, Mfh_mp*, inWorkSpace_tag*)(0x42147e40, 0x5afac7f1d, 0x0a33c970, 0x421497f0 "0痁\n") + 1419 bytes
[34] libmwm_dispatcher.so:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**)(0x142147a90, 0x2b18ffffffff, 0x0a42c710, 2) + 330 bytes
[35] libmwm_interpreter.so:ResolverFunctionDesc::CallFunction(int, mxArray_tag**, int, mxArray_tag**)(0x336f152a48 ", 0x42147ac0, 0x42148910, 801) + 871 bytes
[36] libmwm_interpreter.so:Resolver::CallMFunction(int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*)(0x0a33d5b0, 0, 0x42148ae0, 48) + 1637 bytes
[37] libmwm_interpreter.so:inResolveMFunctionCall(_m_function_desc*, int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*, inMarshalType*, int, mpsTypeSequenceNlhs const*, mxArray_tag* (*)(int))(0x0a33d5b0, 0, 0x42148ae0, 0x42148c88) + 482 bytes
[38] libmwm_interpreter.so:accelImpl::MFunctionCall(_accelOp**)(0x42148a74, 0x0a9a16a0, 0x842148ad0, 0x0a5abb70 " 鏩\n") + 239 bytes
[39] libmwm_interpreter.so:accelImpl::Exec()(0x42148c88, 0x42148c80, 0x0a5ae720, 0x0a61b790) + 273 bytes
[40] libmwm_interpreter.so:accelCode::Call(inMarshalType*, int*) const(0x42148c88, 0x42148c80, 0x42148c30, 0x42148c8f) + 91 bytes
[41] libmwm_interpreter.so:inJit::ExecuteHotSegment(_inJitAccelInfo*, opcodes*, int*, long*)(0x42148d60 ", 0x42148ea8 "\語\n", 0x42148ea0, 0x42148f28 "ㄙZ\n") + 1793 bytes
[42] libmwm_interpreter.so:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*)(0x42149488, 0x0a5ac940, 0x100000000, 0x100000000) + 6785 bytes
[43] libmwm_interpreter.so:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0x0a427fb0, 0x0a5aabc0, 0x0a5aaf30, 0x0a2e7c80) + 140 bytes
[44] libmwm_interpreter.so:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0x42149450, 0x4214949c, 0xffffffff0000003f, 0xffffffff00000000) + 378 bytes
[45] libmwm_interpreter.so:inExecuteMFunctionOrScript(Mfh_mp*, bool)(0, 0x42149730, 0, 0x42149980 "艾Z\n") + 688 bytes
[46] libmwm_interpreter.so:inRunMfile(int, mxArray_tag**, int, mxArray_tag**, Mfh_mp*, inWorkSpace_tag*)(0x42149980 "艾Z\n", 0x42149810, 0x0a5aaf30, 0x4214faf0 ") + 1419 bytes
[47] libmwm_dispatcher.so:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**)(0, 0x0a5aacc4 "Learn1", 0x0a2e0600, 0x2b18af781600) + 330 bytes
[48] libmwm_interpreter.so:inDispatchFromStack(int, char const*, int, int)(0x42149d2c, 0x23900000000, 0x0a5aacc4 "Learn1", 0) + 1066 bytes
[49] libmwm_interpreter.so:inDispatchCall(char const*, int, long, int, int*, int*)(0x0a93e688, 0x42149db8, 0x42149db0, 0x42149e38) + 165 bytes
[50] libmwm_interpreter.so:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*)(0x4214a340, 0x0a5a9320, 0, 0) + 4514 bytes
[51] libmwm_interpreter.so:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0x0a2633d0, 0x0a93e340, 0x0a2633a8, 0x0a942b40) + 140 bytes
[52] libmwm_interpreter.so:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*)(0x4214a390, 0x4214a3b0, 0, 0) + 378 bytes
[53] libmwm_interpreter.so:inInterPcode(0x4214a470, 0x4214a3b0, 0x10000000a93e7a0, 0x4214b0b0) + 127 bytes
[54] libmwm_interpreter.so:in_local_call_eval_function(int*, _pcodeheader*, int*, mxArray_tag**, inDebugCheck, bool)(0x4214a500, 0x2b18b008ddad, 0x4214b008, 0x4214b014) + 148 bytes
[55] libmwm_interpreter.so:inEvalStringWithIsVarFcn(_memory_context*, char const*, EvalType, int, mxArray_tag**, inDebugCheck, _pcodeheader*, int*, bool (*)(void*, char const*), void*, bool, bool)(0, 0, 0x2b18af861620, 0) + 2570 bytes
[56] libmwm_interpreter.so:inEvalCmdWithLocalReturn(char const*, int*, bool, bool, bool (*)(void*, char const*))(0, 0x4214b670, 0x0a5a9150, 0x0a997c50) + 149 bytes
[57] libmwiqm.so:iqm::InternalEvalPlugin::execute()(0, 0, 0x0a5a89e0, 0x0a5a9150) + 58 bytes
[58] libmwiqm.so:iqm::DefaultPacketInfo::execute() const(0x4214b1c0, 0x4214b1d0, 0x4214b5e0, 0x0a5a8e70) + 87 bytes
[59] libmwiqm.so:iqm::DefaultIqm::dequeue_updateActivePacket(boost::function1<bool, boost::shared_ptr<iqm::DefaultPacketInfo const> const&> const&)(0x0a5a9260, 0x2b18b1f54868, 0x0a5a9230, 0x2b18b1cb0fa6) + 125 bytes
[60] libmwiqm.so:iqm::DefaultIqm::internalDequeue(boost::function1<bool, boost::shared_ptr<iqm::DefaultPacketInfo const> const&> const&)(0x4214b3ff, 0x2b18b1c9a284, 0xfffffffffffffffe, 0x09f5aba0) + 117 bytes
[61] libmwiqm.so:iqm::DefaultIqm::dequeue(iqm::IqmStreamID)(0, 0x4214b720, 4096, 0x4214b730) + 1261 bytes
[62] libmwbridge.so:ioReadLineOS(bool, _IO_FILE*, char*, char*, int, bool*, void (*)(), char* (*)(char*, unsigned long, bool))(0, 0x2b18af07f060, 0x4214fa18, 0x4214b880) + 622 bytes
[63] libmwbridge.so:ioReadLine(bool, _IO_FILE*, char*, char*, int, bool*)(0x4214b93f, 0x4214faf0 ", 0x4214b8f0, 0x336ea0cd55) + 147 bytes
[64] libmwbridge.so:mnGetFullLine(char**, unsigned long*, unsigned long*, bool)(0x4214ba20, 0x4214fa10, 0x4214fa08, 0x4214ba18) + 230 bytes

This error was detected while a MEX-file was running. If the MEX-file
is not an official MathWorks function, please examine its source code
for errors. Please consult the External Interfaces Guide for information
on debugging MEX-files.

If this problem is reproducible, please submit a Service Request via:
http://www.mathworks.com/support/contact_us/ts/help_request_1.html

A technical support engineer might contact you with further information.

Thank you for your help. MATLAB may attempt to recover, but even if recovery appears successful,
we recommend that you save your workspace and restart MATLAB as soon as possible.

matlab

sorry 12 years, 10 months ago

Your Answer