Chinaunix首页 | 论坛 | 博客
  • 博客访问: 398130
  • 博文数量: 69
  • 博客积分: 3005
  • 博客等级: 中校
  • 技术积分: 900
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-07 11:31
文章分类

全部博文(69)

文章存档

2011年(2)

2010年(7)

2009年(32)

2008年(28)

我的朋友

分类:

2009-05-21 20:00:49

Matlab 7.1 版本R14SP3,我的PFW默认禁止它访问网络,结果执行符号计算的时候崩溃了?
很简单的命令:
syms x  定义一个符号
f=sin(x) 定义一个表达式
结果就产生了下面的错误输出:

------------------------------------------------------------------------
  Segmentation violation detected at Thu May 21 19:52:19 2009
------------------------------------------------------------------------


Configuration:
  MATLAB Version: 7.1.0.246 (R14) Service Pack 3
  MATLAB License: 161051
  Operating System: Microsoft Windows XP
  Window System: Version 5.1 (Build 2600: Service Pack 3)
  Processor ID: x86 Family 6 Model 11 Stepping 4, GenuineIntel
  Virtual Machine: Java 1.5.0 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode
  Default Charset: GBK

Register State:
  EAX = 02eee9e0 EBX = 00000001
  ECX = 00000000 EDX = 00000000
  ESI = 02eee9e0 EDI = 784637b0
  EBP = 00cdbcf8 ESP = 00cdb790
  EIP = 0e3c1139 FLG = 00010246

Stack Trace:
  [0] maplec.dll:0x0e3c1139(2, 0x00cdc340, 1, 0x00cdc3d0)
  [1] libmex.dll:_mexRunMexFile(2, 0x00cdc340, 1, 0x00cdc3d0) + 103 bytes
  [2] libmex.dll:private: void __thiscall Mfh_mex::runMexFileWithSignalProtection(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(2, 0x00cdc340, 1, 0x00cdc3d0) + 73 bytes
  [3] libmex.dll:public: virtual void __thiscall Mfh_mex::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(2, 0x00cdc340, 1, 0x00cdc3d0) + 169 bytes
  [4] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(2, 0x00cdc340, 1, 0x00cdc3d0) + 271 bytes
  [5] m_interpreter.dll:void __cdecl mdCallFunction(int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn *)(2, 0x00cdc340, 1, 0x00cdc3d0) + 56 bytes
  [6] m_interpreter.dll:public: void __thiscall ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * * const,int,struct mxArray_tag * * const)(2, 0x00cdc340, 1, 0x00cdc3d0) + 94 bytes
  [7] m_interpreter.dll:public: bool __thiscall Resolver::CallMFunction(int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *)(2, 2, 0x02d7ff30, 0) + 947 bytes
  [8] m_interpreter.dll:bool __cdecl inResolveMFunctionCall(struct _m_function_desc *,int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *,enum inMarshalType *,unsigned int,int,unsigned int const *,int)(0x0f4409d8, 2, 2, 0x02d7ff30) + 150 bytes
  [9] m_interpreter.dll:bool __cdecl accelMFunctionCall(struct _accelOp *,struct _accelOp * *,int *,enum inMarshalType *)(0x01d68a40, 0x00cdc998, 0x00cdc984, 0x00cdcb24) + 161 bytes
  [10] m_interpreter.dll:public: enum jitReturnFlags __thiscall accelCode::Call(enum inMarshalType *,int *)const (0x00cdcb24, 0x00cdcd60, 0x00cdcb38 "p掏", 0x787683d1) + 21152 bytes
  [11] m_interpreter.dll:int __cdecl inAccel(class accelCode *,enum inMarshalType *,int *)(0x02eed5e0, 0x00cdcb24, 0x00cdcd60, 0x00cdcd60) + 19 bytes
  [12] m_interpreter.dll:bool __cdecl inExecuteHotSegment(struct _inJitAccelInfo *,enum opcodes *,int *,int *)(0x00cdcbc8, 0x00cdcc84, 0x00cdcc34, 0x00cdcd60) + 1585 bytes
  [13] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 2256, 104, 0) + 287 bytes
  [14] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 2256, 40, 0) + 282 bytes
  [15] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x02f801e0, 0, 1, 0x00cdd108) + 724 bytes
  [16] m_interpreter.dll:_inWordsj(2, 0x00cdd078, 1, 0x00cdd108) + 443 bytes
  [17] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(2, 0x00cdd078, 1, 0x00cdd108) + 164 bytes
  [18] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 2, 0x00cdd078, 1) + 28 bytes
  [19] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(2, 0x00cdd078, 1, 0x00cdd108) + 26 bytes
  [20] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(2, 0x00cdd078, 1, 0x00cdd108) + 271 bytes
  [21] m_interpreter.dll:void __cdecl mdCallFunction(int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn *)(2, 0x00cdd078, 1, 0x00cdd108) + 56 bytes
  [22] m_interpreter.dll:public: void __thiscall ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * * const,int,struct mxArray_tag * * const)(2, 0x00cdd078, 1, 0x00cdd108) + 94 bytes
  [23] m_interpreter.dll:public: bool __thiscall Resolver::CallMFunction(int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *)(2, 2, 0x02d7cea0, 0) + 947 bytes
  [24] m_interpreter.dll:bool __cdecl inResolveMFunctionCall(struct _m_function_desc *,int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *,enum inMarshalType *,unsigned int,int,unsigned int const *,int)(0x0f40ea18, 2, 2, 0x02d7cea0) + 150 bytes
  [25] m_interpreter.dll:bool __cdecl accelMFunctionCall(struct _accelOp *,struct _accelOp * *,int *,enum inMarshalType *)(0x01d688a0, 0x00cdd6d0, 0x00cdd6bc, 0x00cdd85c) + 161 bytes
  [26] m_interpreter.dll:public: enum jitReturnFlags __thiscall accelCode::Call(enum inMarshalType *,int *)const (0x00cdd85c, 0x00cdda98, 0x00cdd870 "ㄙ�, 0x787683d1) + 21152 bytes
  [27] m_interpreter.dll:int __cdecl inAccel(class accelCode *,enum inMarshalType *,int *)(0x02eef350, 0x00cdd85c, 0x00cdda98, 0x00cdda98) + 19 bytes
  [28] m_interpreter.dll:bool __cdecl inExecuteHotSegment(struct _inJitAccelInfo *,enum opcodes *,int *,int *)(0x00cdd900, 0x00cdd9bc, 0x00cdd96c, 0x00cdda98) + 1585 bytes
  [29] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 1320, 85, 0) + 287 bytes
  [30] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 1320, 20, 0) + 282 bytes
  [31] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x02f80020, 0, 3, 0x00cddf38) + 724 bytes
  [32] m_interpreter.dll:_inWordsj(1, 0x00cdded8, 3, 0x00cddf38) + 443 bytes
  [33] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(1, 0x00cdded8, 3, 0x00cddf38) + 164 bytes
  [34] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 1, 0x00cdded8, 3) + 28 bytes
  [35] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdded8, 3, 0x00cddf38) + 26 bytes
  [36] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdded8, 3, 0x00cddf38) + 271 bytes
  [37] m_interpreter.dll:int __cdecl mdDispatch(int,char const *,int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn * *)(511, 0x02c35dac "maple", 1, 0x00cdded8) + 88 bytes
  [38] m_interpreter.dll:_inDispatchFromStack(511, 0x02c35dac "maple", 1, 3) + 800 bytes
  [39] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x02c35dac "maple", 511, 1, 3) + 145 bytes
  [40] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 30, 7, 0) + 2534 bytes
  [41] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 30, 7, 0) + 282 bytes
  [42] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x02f8bd20, 0, 1, 0x00cde6c0) + 724 bytes
  [43] m_interpreter.dll:_inWordsj(1, 0x00cde660, 1, 0x00cde6c0) + 443 bytes
  [44] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(1, 0x00cde660, 1, 0x00cde6c0) + 164 bytes
  [45] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 1, 0x00cde660, 1) + 28 bytes
  [46] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cde660, 1, 0x00cde6c0) + 26 bytes
  [47] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cde660, 1, 0x00cde6c0) + 271 bytes
  [48] m_interpreter.dll:int __cdecl mdDispatch(int,char const *,int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn * *)(418, 0x029a64f0 "sin", 1, 0x00cde660) + 88 bytes
  [49] m_interpreter.dll:_inDispatchFromStack(418, 0x029a64f0 "sin", 1, 1) + 800 bytes
  [50] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x029a64f0 "sin", 418, 1, 1) + 145 bytes
  [51] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(2, 0, 0, 0) + 2534 bytes
  [52] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(2, 0, 0, 0) + 282 bytes
  [53] m_interpreter.dll:_inInterPcode(2, 0x784d6e7c "XnMx郒Hx燡Hx`IHxXnMx|nMx", 0, 0) + 81 bytes
  [54] m_interpreter.dll:enum inExecutionStatus __cdecl in_local_call_eval_function(int *,struct _pcodeheader *,int *,struct mxArray_tag * * const,enum inDebugCheck)(0x00cdf278, 0x00cdf370, 2, 1) + 153 bytes
  [55] m_interpreter.dll:$L74683(0x784d6e7c "XnMx郒Hx燡Hx`IHxXnMx|nMx", 0x02bfcc20 "f=sin(x)\n", 0, 0) + 184 bytes
  [56] m_interpreter.dll:enum inExecutionStatus __cdecl inEvalCmdWithLocalReturnandtype(char const *,int *,enum inDebugCheck)(0x02bfcc20 "f=sin(x)\n", 0, 2, 0x00cdf3bc "D敉") + 69 bytes
  [57] m_interpreter.dll:_inEvalCmdNoEnd(0x02bfcc20 "f=sin(x)\n", 1, 255, 0) + 16 bytes
  [58] bridge.dll:enum inExecutionStatus __cdecl ThrowSignal(char const *)(0x02bfcc20 "f=sin(x)\n", 0x7c80b731, 0x01207628, 0x01207628) + 60 bytes
  [59] bridge.dll:$L86781(0, 0, 0x784d6e58, 0x7c36b71f) + 432 bytes
  [60] mcr.dll:public: void __thiscall mcrInstance::mnParser(void)(271256, 0x6d5c3a44, 0x5c687461, 0x4c54414d) + 93 bytes
  [61] MATLAB.exe:0x00401ca9(4194304, 0, 271256, 0x01207628)
  [62] MATLAB.exe:0x00403d9f(3407928, 3735602, 0x7ffd4000, 0xe26b6008)
  [63] kernel32.dll:0x7c817067(0x00403c1a, 0, 0, 0)

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 it is an official MathWorks function, please
follow these steps in reporting this problem to The MathWorks so
that we have the best chance of correcting it:

  1. Send this crash report to segv@mathworks.com for automated analysis.
  For your convenience, this information has been recorded in:
  E:\temp\matlab_crash_dump.436

  2. Also, if the problem is reproducible, send the crash report to
  support@mathworks.com along with:
  - A specific list of steps that will reproduce the problem
  - Any M, MEX, MDL or other files required to reproduce the problem
  - Any error messages displayed to the command window
  A technical support engineer will contact you with further information.

Thank you for your assistance. Please save your workspace and restart
MATLAB before continuing your work.

Error in ==> maple at 104
[result,status] = maplemex(statement);

Error in ==> sym.maple at 85
[result,status] = maple(statement);

Error in ==> sym.sin at 7
Y = maple('map','sin',X);

看上去好像和maple有关,执行maple命令,结果产生了下面的错误输出:

error_msg : socket 2396 listen failed (err=10013).
??? Maple initialization failed.
Error in ==> mapleinit at 47
maplemex(maplelib,0);
Error in ==> maple at 104
[result,status] = maplemex(statement);

看来Matlab通过socket方式调用Maple实现符号计算功能,防火墙把网络一堵,它就崩溃了。本来都打算给MathWorks发错误报告了,后来无意中在防火墙里面允许了Matlab对网络的访问,一切又恢复了正常。

阅读(3646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~