So you are overwritng memory that you have not allocated or not allocated at the correct size or are using an incorrect pointer, which is what I said originally. You are doing an MQGET and passing the address of the VAR struct and not its pointer to the string buffer for a start.
Jim *From:* jbase@googlegroups.com [mailto:jbase@googlegroups.com] *On Behalf Of *Bensly Trying Harder:-( *Sent:* Tuesday, May 17, 2011 9:39 PM *To:* jbase@googlegroups.com *Subject:* Re: T24: Error Trap 2 faced while STRING_RESIZE_VBI is executed. Hi Pat If the problem is with the 'Message VAR' not having been initialized, the TRAP error 2 should have been thrown the first time i use *STRING_RESIZE_VBI * right? I have analysed further and found that the problem may not be with STRING_RESIZE_VBI. Am facing the error after the MQ function MQGET has been called. I face the same error if i am using some other JBASE functions apart from *STRING_RESIZE_VBI* like *STORE_VBS(Message (STRING *)"")* also. The following is the part of code in the C function. MQS_API INT32 MQGet (DP_MPTR INT32 QMgr, INT32 QNum, INT32 MsgMax, INT32 WaitPeriod, VAR * Message) ... STRING_RESIZE_VBI(Message, MsgMax); ... MQGET(QManagers[QMgr].QMHeader.HQMcon , QManagers[QMgr].Queues[QNum].QHandle , &MDescriptor , &GetOptions , MsgMax , Message , (PMQLONG)&MsgLen , &QManagers[QMgr].Queues[QNum].CompletionCode , &QManagers[QMgr].Queues[QNum].ReasonCode ); SetMQFail(DP_MPRM 0); *STRING_RESIZE_VBI(Message, MsgLen);* return MsgLen; In the above code part '...' signifies coding have been done related to MQGET, but not of VAR Message. Bensly On Wed, May 18, 2011 at 6:22 AM, pat <pat...@gmail.com> wrote: My guess is the the 'Message VAR' has not been initialised, or has been 'overwritten', prior to 'RESIZING' The 'Fatal error at trap location 2' occurs when attempting to ( incorrectly ) 'manipulate' a 'File VARiable' Can you post the C code for the function in which you are using the 'STRING_RESIZE_VBI(Message, MsgMax);' ? Pat. On May 12, 6:49 am, Bensly <john.ben...@gmail.com> wrote: > T24 Error faced: > > JDIAG OUTPUT: > jdiag - jBASE diagnostic '$Revision: 1.15 $' > > System Information > ================== > > System : AIX che-aix3 1.6 00CEB51C4C00 > OS Release : 6.1.0.0 > UNIX User : jdavidar (uid 205, euid 205) > Tty name : /dev/pts/15 > Time : Wed May 12 11:04:35 2010 > > Environment > =========== > > JBCPORTNO : Not Set > JBCRELEASEDIR : '/opt/jbc503' > JBCGLOBALDIR : '/opt/jbc503' > JEDIFILENAME_SYSTEM : '/opt/jbc503/src/SYSTEM' > SYSTEM File is (DICT) : '/opt/jbc503/src/SYSTEM]D' > RELEASE Information : Major 5.0 , Minor 3 , Patch 0081 (Change > 49612) > Spooler dir (JBCSPOOLERDIR) : '/opt/jbc503/jspooler' > JBCEMULATE : 'prime' > Object path (JBCOBJECTLIST) : '/usr/mqm/lib64:/env/sem/bnk/bnk.run/ > globuspatchlib:/env/sem/bnk/bnk.run/lib:/env/sem/bnk/bnk.run/ > globuslib:/env/sem/bnk/bnk.run/lib:/env/sem/bnk/bnk.run/vinlib:/env/ > sem/bnk/bnk.run/semlib' > jBASE Compiler Run-time : '/opt/jbc503/config/system.properties' > Program dir (JBCDEV_BIN) : '/env/sem/bnk/bnk.run/sembin' > Subroutine dir (JBCDEV_LIB) : '/env/sem/bnk/bnk.run/semlib' > Max open files : 65534 > > I have the following code part in a C code and have created shared > libraries for this code and calling this C from a basic routine. The > code is to get message from a MQ Server. > > STRING_RESIZE_VBI(Message, MsgMax); // > Allocate memory to the maximum size defined. have MsgMax as 1000. > > The above line will be called multiple times as the "MsgMax" varies > each time. The first time the code part gets executed it was > successful but the next time it is called the following error is > thrown. > > ** Error [ FATAL ] ** > Fatal error at trap location 2 > > Also the value in the variable "Message" is lost. Does anyone know how > to overcome the above error. > > Any help will be appreciated and thanks in advance. -- Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to jBASE@googlegroups.com To unsubscribe, send email to jbase-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jBASE?hl=en -- Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to jBASE@googlegroups.com To unsubscribe, send email to jbase-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jBASE?hl=en -- Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to jBASE@googlegroups.com To unsubscribe, send email to jbase-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jBASE?hl=en