Re: 4gl Intermittent core dumps
Posted in 1994
}From: benjamin@rs6a.wln.com (Ben Gardner-Young) }Subject: 4gl Intermittent core dumps }Date: 30 Mar 1994 17:36:43 GMT }X-Informix-List-Id: <news.6102> }We are a site that is running the following: } a) 4gl RDS 4.10.UC1 on Sun SPARC 2. } b) SE 4.10.UC1 engine } c) Users access the Sun from telnet sessions from various platforms. } }We are having the following behavior: } } Intermittent core dumps out of one large (~550K) 4gl program. These } occurr in various places in the program and are not reproducible. } I am running this program with the undocumented "-d" flag set from } the runner. This was advised by Informix and has not rectified the } problem. } }I am including a sample of stack backtraces from the corefiles }produced by creating a script of dbx running on the runner and the }corefiles } }I would appreciate any comments anyone would have about the sequence }of calls in the stack traces that may help diagnose this problem. My }hunch is that these are problems in the memory management of the 4gl. }I am not expecting anyone to pinpoint the problem, of course, all I am }interested in is if someone could say that it, shall we say, "smelled }strongly" of some known problem. Ben, I notice that the runner in use is not the normal one (fglgo), so it is presumably a custom runner. Is there any possibility that the custom C routines in it are (mis)using allocated memory? This could easily account for the problems you are seeing. I also notice you are using 4.10.UC1; the current version on the Sun will be 4.12.UD1 in a couple of weeks time. Both 4.11.UC2 or 4.12.UC1 are also available (though 4.12.UC1 was released about a month ago and shouldn't be ordered now -- see footnote). Either way, it is quite conceivable that you are running into a problem which has been fixed since the 4.10.UC1 release. Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> Important footnote: The current version on Sun and HP is officially 4.12.UC1. However, a new Sun version has been released to the production people and should be available in a couple of weeks. Customers who have 4.12.UC1 should receive an upgrade (you may have to request it, especially if you didn't obtain it from Informix directly), and it should definitively be used in preference to 4.12.UC1. If any code has been recompiled with 4.12.UC1, it must be recompiled with 4.12.UD1 (and sorry for the inconvenience). 4.12.UC1 p-code is nominally p-code version 8, but it does not handle 4.10 or 4.11 p-code properly; 4.12.UD1 does. Any UNLOAD statements must be recompiled to work with 4.12.UD1; it is advisable to recompile reports which use WORDWRAP and any code which uses the INVISIBLE attribute. Other code does not have to be recompiled, though complete recompilation is recommended. 3 primary bugs were fixed in 4.12.UD1 compared with 4.12.UC1: B25226 -- CONTROL-O WITHIN DISPLAY ARRAY OR INPUT ARRAY NOT RECOGNIZED, DOES NOTHING B25898 -- UNLOAD TO "FILE" SELECT * FROM "INFORMIX".SYSTABLES FAILS TO COMPILE WITH C4GL/I4GL B25712 -- 4.12 FGLGO AND FGLDB CANNOT INTERPRET 4.10/4.11 P-CODE FILES 2 bug fixes were caught with these changes: B24292 -- FGP/FGPGRAM.C GOT COMPILE WARNING OF POINTER CASTED TO ILLEGAL TYPE B25710 -- TWO STEP COMMANDS NEEDED TO ADVANCE A FOREACH STATEMENT TO NEXT LINE The first is an internal build issue; the second fixes a (minor) regression in the Interactive Debugger which had more effect on the QA suites than on ordinary users of the product. }Here are a few stack traces: }Script started on Fri Mar 11 08:01:18 1994 }DBtest =>dbx /u3/informix/bin/Cfglgo core0311a }Reading symbolic information... }Read 1959 symbols }warning: core file read error: address not in data space }program terminated by signal SEGV (no mapping at the fault address) }(dbx) where }warning: core file read error: address not in data space }malloc() at 0xf7734634 }_sqrealloc() at 0x556e0 }_sqg_desc() at 0x51a7c }_sqr_desc() at 0x4f9d8 }_iqprepare() at 0x4e360 }doprepare() at 0x12904 }prepare() at 0x128ec }runop() at 0x504c }runprog() at 0x371c }main() at 0x344c }(dbx) quit }DBtest =>exit }script done on Fri Mar 11 08:02:06 1994 }Script started on Mon Mar 14 15:48:21 1994 }DBtest =>dbx /u3/informix/bin/Cfglgo core0314b }Reading symbolic information... }Read 1959 symbols }warning: core file read error: address not in data space }program terminated by signal SEGV (no mapping at the fault address) }(dbx) where }warning: core file read error: address not in data space }malloc() at 0xf7734634 }_alloc_inpspace() at 0x264ac }_mfinput() at 0x1ce40 }_fginput() at 0x1fcec }input() at 0xbc74 }runop() at 0x4530 }runprog() at 0x371c }main() at 0x344c }(dbx) quit }DBtest =>exit }script done on Mon Mar 14 15:48:49 1994 }Script started on Thu Mar 17 14:08:38 1994 }DBtest =>dbx /u3/informix/bin/Cfglgo core0317a }Reading symbolic information... }Read 1959 symbols }warning: core file read error: address not in data space }program terminated by signal SEGV (no mapping at the fault address) }(dbx) where }warning: core file read error: address not in data space }malloc() at 0xf7734634 }_findbuf() at 0xf7733be8 }_filbuf() at 0xf773b86c }fread() at 0xf7747d3c }_frmload() at 0x2bb5c }_efopen() at 0x2d0f8 }_efiwopen() at 0x28610 }wopen() at 0x142a8 }runop() at 0x5ce8 }runprog() at 0x371c }main() at 0x344c }(dbx) quit }DBtest =>exit }script done on Thu Mar 17 14:09:05 1994 }Script started on Sat Mar 26 22:13:40 1994 }DBtest =>dbx /u3/informix/bin/Cfglgo core0321a }Reading symbolic information... }Read 1959 symbols }program terminated by signal SEGV (no mapping at the fault address) }(dbx) where }rdataval() at 0x45304 }_fldattr() at 0x28d48 }_efattr_get() at 0x29cc8 }_effget() at 0x1d714 }_batab_processing() at 0x1d39c }_batab_processing() at 0x1d004 }_mfarinput() at 0x2daa4 }_nextpage() at 0x2ea60 }inputarray() at 0xc7c0 }runop() at 0x4550 }runop() at 0x371c }p4gl_start() at 0x344c }(dbx) quit }DBtest =>exit }script done on Sat Mar 26 22:14:04 1994 }Script started on Tue Mar 29 16:13:16 1994 }DBtest =>dbx /u3/informix/bin/Cfglgo core0329a }Reading symbolic information... }Read 1959 symbols }program terminated by signal SEGV (no mapping at the fault address) }(dbx) where }bcmploop() at 0x58afc }ldfltnull() at 0x58440 }rdataval() at 0x45320 }_fldattr() at 0x28ce8 }_efattr_get() at 0x29c68 }_dsplyrec() at 0x2ee20 }_mfarinput() at 0x2dff8 }_farinput() at 0x2ea00 }inputarray() at 0xc760 }runop() at 0x44f0 }runprog() at 0x36bc }main() at 0x33ec }(dbx) quit }DBtest =>exit }script done on Tue Mar 29 16:13:36 1994 }Script started on Wed Mar 30 08:12:52 1994 }DBtest =>dbx /u3/informix/bin/Cfglgo core0330a }Reading symbolic information... }Read 1959 symbols }program terminated by signal SEGV (no mapping at the fault address) }(dbx) where }lddecimal() at 0x56b8c }rdataval() at 0x45388@@NL@