Re: Anybody knows this bug ?
Posted in 1996
Topics: SQL Development & Query Writing, Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
In article <4ii77t$bun@yoda.adv>, <brent@advgroup.co.nz> writes: > Path: netnews.fast.net!news.fast.net!news.sprintlink.net!europa.chnt.gtegsc.com!news. msfc.nasa.gov!elroy.jpl.nasa.gov!swrinde!ihnp4.ucsd.edu!munnari.OZ.AU!comp.vuw. ac.nz!waikato!kcbbs!yoda.adv!news > From: brent@advgroup.co.nz (Brent Jackson) > Newsgroups: comp.databases.informix > Subject: Re: Anybody knows this bug ? > Date: Sun, 17 Mar 1996 22:37:57 GMT > Organization: Hypercom Communication Technologies > Lines: 31 > Message-ID: <4ii77t$bun@yoda.adv> > References: <4i510q$5of@Vir.com> <4ia08n$31e@yoda.adv> <MvTSx0ElJHla088yn@kcbbs.gen.nz> > Reply-To: brent@advgroup.co.nz > NNTP-Posting-Host: brent-pc.five.ak.nz.adv > X-Newsreader: Forte Free Agent 1.0.82 > > kerry@kcbbs.gen.nz (Kerry Sainsbury) wrote: > > >In article <4ia08n$31e@yoda.adv>, brent@advgroup.co.nz (Brent Jackson) wrote: > >>laplo@vir.com (Louis Lapointe) wrote: > >> > >>>We are experiencing bad crashes with some of our programs. It happens > >>>when we call another program that returns a value. > >> > >>>For example, > >>> run l_var_run returning l_status > >> > >>>The called program will run normally but the calling program will > >>>crash on the retunring statement. > >> > >>Yep, we've seen it... > >>Informix support told us it was a known bug, and the "workaround" was to > >>remove the RETURNING clauses from RUN statements (great, huh :). The bug > >>number is 42571 or 42675. > > >Wow -- we got that one too. Actually died on a SELECT statement miles > >after the RUN (took us ages to find it). We got the same fix too > > I can relate to that. It took us about 12 person-hours to isolate the > error. Which is why it was so aggravating to be told by Informix that it > was a "known" bug. It wasn't in the release notes ! > > Cheers, > Brent Jackson. > > brent@hypercom.co.nz Phone : 64-9-3603593 Fax : 64-9-3602840 > > I had the same problem so I wrote a C program to fix it. Use the command LET str = "l_var_run" CALL get_unixstat(str) returning l_status and the following program to return an integer status. If you play around with it you could return other values (see Informix 4gl supplement - Using C with 4gl section). Compile it into your fglgo and fgldb files for so the debugger can compile and use it (also in the Informix books somewhere). Good Luck-- Chad Laity chad_laity@arrowintl.com wick@fast.net lait2501@kutztown.edu Here is the C Program (written for HP-UX 10.0 on a HP9000 K200): /* CRL - 1/15/96 - This program takes the string which is a call to a unix */ /* script and returns a 0 if the script ran successfully or a 1 if */ /* script ran unsuccessfully */ #define _HPUX_SOURCE 1 #include <stdio.h> get_unixstat() { char unixcmd[256]; int i; /* get the entire unix command call including all parameters */ popquote(unixcmd,256); /* make the call returning 0 if success or 256 if not successful */ i = system(unixcmd); if ( i == 0 ) { /* success return 0 */ retint(0); return(1); } else { /* anything else return 1 */ retint(1); return(1); } }