Segmentation Error when calling another program

5 views
Skip to first unread message

MU Speech Lab

unread,
Jun 4, 2009, 1:50:12 PM6/4/09
to xbat-devel
Dear fellow XBAT developers,

I'm currently implementing an add-on for XBAT that will allow the use
of the HTK tools. The add-on can be run as if it were a stand alone
Matlab program. This new add-on that will run the HTK tools is called
by an XBAT "compute.m" file just like all the other extensions. The
program was written with the "guide" GUI interface, so most of the
functions are pre-defined where I added in the working code. However,
once the computer file calls the new program, it works temporarily,
and then generates various Segmentation Violations. I can replicate
this error very easily by running the program again, but the violation
doesn't seem to occur in relation to specific events. The violation
just concerns this newly called program in general.
The problem could be the fact that XBAT isn't capable of calling
another program, and if that's the case I'll just have to try a
different approach. If you need the stack trace information generated
by the error I can post that as well, just didn't want to clog up the
forum if it wasn't needed.
Thanks in advance for taking the time to help.

-MU Speech Lab

Harold Figueroa

unread,
Jun 4, 2009, 3:46:55 PM6/4/09
to xbat-...@googlegroups.com
You should send the trace. XBAT, like MATLAB is capable of calling
other programs ... I have not have been thrilled by guide, what are
you using the guide GUI for?

Harold

MU Speech Lab

unread,
Jun 4, 2009, 4:47:34 PM6/4/09
to xbat-devel
The guide GUI basically is used to call functions on button press. The
guide GUI on its own (run outside of XBAT) doesn't encounter any sort
of error, that I've been able to produce at least. Its a combination
of a few GUIs created using the guide, but when called without using
XBAT, again, there aren't any errors like this one. As for the stack
trace, here it is:

Fault Count: 1

Register State:
EAX = 00000000 EBX = 00000000
ECX = 2059cf28 EDX = 7892d7ba
ESI = 00000000 EDI = 00000000
EBP = 00c2424c ESP = 00c24244
EIP = 788d03d8 FLG = 00210206

Stack Trace:
[0] hg.dll:_goIsHandleVisible(0, 0x2059cf28, 0, 0x0248a220) + 8
bytes
[1] hg.dll:_ggo_children_handles(0x0234f548, 0x789c8558, 0x00c24348
" CÂ", 0x788e8ebd) + 342 bytes
[2] hg.dll:_callPointerGetFcnUDDOptional(0x789c8558, 0x0234f548, 0,
0) + 50 bytes
[3] hg.dll:public: virtual void * __thiscall HGPropInfo::getValueE
(class UDDatabaseClient *,class UDInterface *,class UDErrorStatus *)
(0x1c41afb0 "¨'²z", 0x0cf344d0, 0x00c243d4, 0x0211e4b8) + 157 bytes
[4] udd.dll:public: void * __thiscall UDInterface::getE(class
UDDatabaseClient *,class UDPropInfo *,class UDErrorStatus *)
(0x1c41afb0 "¨'²z", 0x0248a220, 0x00c243d4, 0x00c243e8) + 630 bytes
[5] udd.dll:_udiGet(0x0cf344d0, 0x0248a220, 0, 0x00c243d4) + 55
bytes
[6] hg.dll:_goGetUDDPointerProp(0x0cf344d0, 0x0248a220, 0,
0x788d6a40) + 65 bytes
[7] hg.dll:_NHandles_to_Matrix_get_convert_fcn(0x0211e4b8,
0x0234f548, 0, 0) + 43 bytes
[8] hg.dll:struct mxArray_tag * __cdecl HG_GetSwitchYard(struct
GObject_tag *,struct prop_info_tag *)(0x0234f548, 0x0211e4b8, 0,
0x00c244a0 "ÈDÂ") + 181 bytes
[9] hg.dll:_GO_GetFromPropID(0x0234f548, 0x206342d0, 0x0ce6a830,
0x00c2461c) + 188 bytes
[10] hg.dll:_hgGet(0x206342d0, 0x00c245bc, 0x20620f30, 0x00c2461c) +
1739 bytes
[11] hgbuiltins.dll:_hgGetWrapper(1, 0x00c245bc, 2, 0x00c2461c) +
373 bytes
[12] m_dispatcher.dll:public: virtual void __thiscall
Mfh_builtin::dispatch_mf(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(1, 0x00c245bc, 2, 0x00c2461c) + 92 bytes
[13] m_dispatcher.dll:public: virtual void __thiscall
Mfh_MATLAB_fn::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(1, 0x00c245bc, 2, 0x00c2461c) + 193 bytes
[14] m_interpreter.dll:int __cdecl inDispatchFromStack(int,char
const *,int,int)(229, 0x1c637268 "get", 1, 2) + 623 bytes
[15] m_interpreter.dll:int __cdecl inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile
*,int *)(1, 573, 118, 0) + 1317 bytes
[16] m_interpreter.dll:int __cdecl protected_inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
573, 46, 0) + 39 bytes
[17] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
573, 46, 0) + 251 bytes
[18] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class
Mfh_mp *,bool)(0x78134c00, 0xffffffff, 0x1c90a1f8, 1) + 935 bytes
[19] m_interpreter.dll:void __cdecl inRunMfile(int,struct
mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_mp *,struct
inWorkSpace_tag *)(1, 0x00c24db0, 2, 0x00c24d20) + 466 bytes
[20] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct
mxArray_tag * *,int,struct mxArray_tag * *)(0, 1, 0x00c24db0, 2) + 23
bytes
[21] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(1, 0x00c24db0, 2, 0x00c24d20) + 22 bytes
[22] m_dispatcher.dll:public: virtual void __thiscall
Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(1, 0x00c24db0, 2, 0x00c24d20) + 204 bytes
[23] m_interpreter.dll:public: void __thiscall
ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * *
const,int,struct mxArray_tag * * const)(1, 0x00c24db0, 2, 0x00c25518
"äWÂ") + 81 bytes
[24] 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 *)(0x00c24ff8, 1, 1, 0x1ea99cc8) + 1209 bytes
[25] m_interpreter.dll:private: bool __thiscall
accelImpl::MFunctionCall(struct _accelOp * *)(0x1ec154e8, 0xffffffff,
0x1eab5298, 0x1eb7be10) + 266 bytes
[26] m_interpreter.dll:public: enum jitReturnFlags __thiscall
accelImpl::Exec(void)(0x00c25518 "äWÂ", 0xffffffff, 0xffffffff,
0x1eb7be10) + 170 bytes
[27] m_interpreter.dll:public: enum jitReturnFlags __thiscall
accelCode::Call(enum inMarshalType *,int *)const (0x00c257b8,
0xffffffff, 0, 0) + 115 bytes
[28] m_interpreter.dll:public: static bool __cdecl
inJit::ExecuteHotSegment(struct _inJitAccelInfo *,enum opcodes *,int
*,int *)(0x00c25914, 0x00c25a68, 0x00c259fc, 0x00c25bb8) + 2523 bytes
[29] m_interpreter.dll:int __cdecl inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile
*,int *)(1, 348, 37, 0) + 826 bytes
[30] m_interpreter.dll:int __cdecl protected_inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
348, 31, 0) + 39 bytes
[31] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
348, 31, 0) + 251 bytes
[32] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class
Mfh_mp *,bool)(0x200eb400, 0xffffffff, 0x1ebb3d60, 1) + 935 bytes
[33] m_interpreter.dll:void __cdecl inRunMfile(int,struct
mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_mp *,struct
inWorkSpace_tag *)(1, 0x00c25f50, 0, 0x00c25ec0 "tStruct$dataStruct")
+ 466 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, 0x00c25f50, 0) + 23
bytes
[35] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(1, 0x00c25f50, 0, 0x00c25ec0 "tStruct$dataStruct") +
22 bytes
[36] m_dispatcher.dll:public: virtual void __thiscall
Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(1, 0x00c25f50, 0, 0x00c25ec0 "tStruct$dataStruct") +
204 bytes
[37] m_interpreter.dll:public: void __thiscall
ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * *
const,int,struct mxArray_tag * * const)(1, 0x00c25f50, 0, 0x00c266bc)
+ 81 bytes
[38] 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 *)(0x00c26198, 1, 1, 0x1fae16d0) + 1209 bytes
[39] m_interpreter.dll:private: bool __thiscall
accelImpl::MFunctionCall(struct _accelOp * *)(0, 0xffffffff,
0x1f2ea618, 0x1fdb24c0) + 266 bytes
[40] m_interpreter.dll:public: enum jitReturnFlags __thiscall
accelImpl::Exec(void)(0x00c266bc, 0xffffffff, 0xffffffff, 0x1fdb24c0)
+ 170 bytes
[41] m_interpreter.dll:public: enum jitReturnFlags __thiscall
accelCode::Call(enum inMarshalType *,int *)const (0x00c2695c,
0x204b2960, 404, 0) + 115 bytes
[42] m_interpreter.dll:public: static bool __cdecl
inJit::ExecuteHotSegment(struct _inJitAccelInfo *,enum opcodes *,int
*,int *)(0x00c26a30, 0x00c26a08, 0x00c26a2c, 0x00c26a28) + 2523 bytes
[43] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class
Mfh_mp *,bool)(0, 0xffffffff, 0x1ebb4d68 "4ð=z=c", 0) + 572 bytes
[44] m_interpreter.dll:void __cdecl inRunMfile(int,struct
mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_mp *,struct
inWorkSpace_tag *)(0, 0x00c26e04, 2, 0x00c26e68) + 466 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, 0, 0x00c26e04, 2) + 23
bytes
[46] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x00c26e04, 2, 0x00c26e68) + 22 bytes
[47] m_dispatcher.dll:public: virtual void __thiscall
Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x00c26e04, 2, 0x00c26e68) + 204 bytes
[48] m_dispatcher.dll:public: virtual void __thiscall
mdHiddenFunctionBinding::dispatch_fh(int,struct mxArray_tag *
*,int,struct mxArray_tag * *)(0, 0x00c26e04, 2, 0x00c26e68) + 36 bytes
[49] m_dispatcher.dll:void __cdecl callViamdMxarrayFunctionHandle
(void *,int,struct mxArray_tag * * const,int,struct mxArray_tag * *
const)(0x1dd3a820, 0, 0x00c26e04, 2) + 29 bytes
[50] libmx.dll:void __cdecl mxFevalFunctionHandle(int,struct
mxArray_tag * * const,int,struct mxArray_tag * * const)(0, 0x00c26e04,
3, 0x00c26e64) + 38 bytes
[51] m_interpreter.dll:_inFullFevalFcn(0, 0x00c26e04, 3, 0x00c26e64)
+ 113 bytes
[52] m_dispatcher.dll:public: virtual void __thiscall
Mfh_builtin::dispatch_mf(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x00c26e04, 3, 0x00c26e64) + 92 bytes
[53] m_dispatcher.dll:public: virtual void __thiscall
Mfh_MATLAB_fn::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x00c26e04, 3, 0x00c26e64) + 193 bytes
[54] m_interpreter.dll:int __cdecl inDispatchFromStack(int,char
const *,int,int)(311, 0x1d987dd4 "feval", 0, 3) + 623 bytes
[55] m_interpreter.dll:int __cdecl inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile
*,int *)(1, 556, 31, 0) + 1317 bytes
[56] m_interpreter.dll:int __cdecl protected_inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
556, 14, 0) + 39 bytes
[57] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
556, 14, 0) + 251 bytes
[58] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class
Mfh_mp *,bool)(0x78159000, 0xffffffff, 0x1da7c9a8, 0) + 935 bytes
[59] m_interpreter.dll:void __cdecl inRunMfile(int,struct
mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_mp *,struct
inWorkSpace_tag *)(0, 0x20663c70, 4, 0x204aef88) + 466 bytes
[60] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct
mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x20663c70, 4) + 23
bytes
[61] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x20663c70, 4, 0x204aef88) + 22 bytes
[62] m_dispatcher.dll:public: virtual void __thiscall
Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x20663c70, 4, 0x204aef88) + 204 bytes
[63] mcos.dll:public: virtual void __thiscall
mcos::MScopedMethodInfo::invoke(class mcos::COSClient const *,int
&,class mcos::COSValue *,int,class mcos::COSValue const *)const
(0x02323104, 0x00c2756c, 0x20663c40, 4) + 281 bytes
[64] mcos.dll:public: bool __thiscall MethodDispatcher::callMethod
(struct mxArray_tag * * const)(0x00c289c4, 0x7b291e70, 0, 0x204aef88)
+ 100 bytes
[65] mcos.dll:bool __cdecl omCallMethodWithClient(struct mxArray_tag
*,bool,struct mxArray_tag *,int,struct mxArray_tag * *
const,int,struct mxArray_tag const * * const,class mcos::COSClient
const *)(0x0ce786a8, 0, 0, 0) + 473 bytes
[66] mcos.dll:bool __cdecl omCallMatlabDispatchMethod(struct
mxArray_tag *,int,struct mxArray_tag * * const,int,struct mxArray_tag
const * * const)(0x0ce786a8, 0, 0x00c289c4, 4) + 405 bytes
[67] mcos.dll:public: virtual void __thiscall
Mfh_opaque_dynamic_all_args::dispatch_mf(int,struct mxArray_tag *
*,int,struct mxArray_tag * *)(0, 0x00c289c4, 4, 0x00c28a24) + 143
bytes
[68] m_dispatcher.dll:public: virtual void __thiscall
Mfh_MATLAB_fn::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x00c289c4, 4, 0x00c28a24) + 362 bytes
[69] m_interpreter.dll:int __cdecl inDispatchFromStack(int,char
const *,int,int)(1769, 0x1da0ce2c "timercb", 0, 4) + 623 bytes
[70] m_interpreter.dll:int __cdecl inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile
*,int *)(1, 93, 14, 0) + 1317 bytes
[71] m_interpreter.dll:int __cdecl protected_inInterp(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
93, 12, 0) + 39 bytes
[72] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum
inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1,
93, 12, 0) + 251 bytes
[73] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class
Mfh_mp *,bool)(0x00c29000, 0xffffffff, 0x1da7cb70, 0) + 935 bytes
[74] m_interpreter.dll:void __cdecl inRunMfile(int,struct
mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_mp *,struct
inWorkSpace_tag *)(0, 0x2048edec, 4, 0x2048edcc) + 466 bytes
[75] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct
mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x2048edec, 4) + 23
bytes
[76] m_interpreter.dll:public: virtual void __thiscall
Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x2048edec, 4, 0x2048edcc) + 22 bytes
[77] m_dispatcher.dll:public: virtual void __thiscall
Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct
mxArray_tag * *)(0, 0x2048edec, 4, 0x2048edcc) + 204 bytes
[78] m_interpreter.dll:_inCallFcn(0, 0x2048edec, 4, 0x2048edcc) +
109 bytes
[79] m_interpreter.dll:public: virtual int __thiscall
InterpBridge::CallFcnWithTrap(int,struct mxArray_tag * *
const,int,struct mxArray_tag * * const,char const *,bool)(0,
0x2048edec, 4, 0x2048edcc) + 102 bytes
[80] m_interpreter.dll:_inCallFcnWithTrap(0, 0x2048edec, 4,
0x2048edcc) + 33 bytes
[81] nativejmi.dll:0x787827b2(0x2048ed70, 0x2048ed70, 0x00c29201,
0x04e6e0f4 "Hã9y")
[82] nativejmi.dll:0x78782f32(0x04e6e0f4 "Hã9y", 0x09615f88,
0x00c292c8, 0x2048ed70)
[83] nativejmi.dll:0x787829ea(0x04e6e0f4 "Hã9y", 0x00c292c8, 0,
0x00c292c8)
[84] nativejmi.dll:0x78786ebd(0x00c292c8, 1, 0x04e6e000 "Ð\8y",
0x10a89d30)
[85] nativejmi.dll:0x78786f83(0x04e6e0f4 "Hã9y", 0x00c292c4,
0x00c292c8, 0x120b25c0)
[86] 0x055daee9(0x10a768d0, 2, 0x00c29328, 0x0550d7d8)
[87] 0x053edfd0(0, 0, 0, 0x00c293b0)
[88] 0x0542ef40(8, 0x00c293e4, 0x00c293e8, 0x204940a0)
[89] 0x0553dddc(0x0bd413c8, 0, 1179648, 0x050a0247)
[90] 0x050a0247(0x00c29498, 0x00c29630, 10, 0x181c40b8)
[91] jvm.dll:0x7925bd2d(0x10c18302, 0xe483e12b, 0xfc7d89f0,
0x89f87589)

Thanks for getting back to me so quickly. If there's any other
information you need, I can get it for you, and again thanks for the
help.

-MU Speech Lab
Reply all
Reply to author
Forward
0 new messages