4GL 7.2 Custom Runner fglgo croaking
Posted in 1998
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Internationalization & Character Sets
This is a multi-part message in MIME format. --------------80B3E2E414F6EDBBAA23C1B3 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Back to pondering the mysteries of life again. Like "what's the secret to entangled photons?", "does my clothes dryer eat socks?", and "why does my custom fglgo runner croak?" I've been trying to get a clue as to what's going wrong with a custom runner we built (perhaps we honked up our environment during the tools upgrade?), and I'm wondering if I can learn anything from truss. But first, let me describe the environment... ====== Environment ====== SunOS 5.5.1 Generic_103640-17 Ultra-Enterprise-10000 gcc version 2.7.2.1 DB-Access Version 7.24.UC2 INFORMIX-ESQL Version 7.24.UC2 INFORMIX-4GL Version 7.20.UC1 INFORMIX-4GL Version 7.20.UC1 INFORMIX-SQL Version 7.20.UC1 The FourGen custom runner built ok in this environment for 4GL 6.05, when I build it with 7.2 4GL I get [bitsche@]/export/home/bitsche$ $fg/bin/fglgo -V -23102 Memory allocation failed during locale processing. but of course if I do $INFORMIXDIR/bin/fglgo -V it works fine. Here's how the custom runner is made: # Run informix cfglgo for runner echo "Creating custom fglgo" if (cfglgo $OBJFILES -o fglgo) \\ >$dn 2>mkrunners.err then blah blah blah and when it calls the Informix cfglgo, what comes out is cc -W0,-fwritable-strings -I/usr3/informix7.24/incl/tools -I/usr3/informix7.24/i ncl/esql c_collect.o c_command.o c_data.o c_dynamic.o c_getenv.o c_getkey.o c_k anji.o c_putenv.o c_pager.o c_readfile.o c_readin.o c_statfile.o c_time.o c_writ eout.o fgiusr.o -o fglgo /usr3/informix7.24/lib/tools/libfmain.a /usr3/informix7 .24/lib/tools/libfglgo.a /usr3/informix7.24/lib/tools/lib4gl.a /usr3/informix7.2 4/lib/tools/lib4io.a /usr3/informix7.24/lib/tools/libnmenu.a /usr3/informix7.24/ lib/tools/lib4io.a /usr3/informix7.24/lib/tools/librdsterm.a /usr3/informix7.24/ lib/tools/libfmain.a /usr3/informix7.24/lib/tools/libfe.a /usr3/informix7.24/lib /tools/libfesql.a /usr3/informix7.24/lib/tools/libfmain.a /usr3/informix7.24/lib /tools/libasf.a /usr3/informix7.24/lib/tools/libgen.a /usr3/informix7.24/lib/too ls/libos.a /usr3/informix7.24/lib/tools/libasf.a /usr3/informix7.24/lib/tools/li bos.a /usr3/informix7.24/lib/tools/libgen.a -laio -lm -ltermlib -lnsl -lsocket / usr3/informix7.24/lib/tools/libgls.a /usr3/informix7.24/lib/tools/libglx.a I attached three files (which are plain ASCII text) that show some trussing I've done to see why the custom runner is failing when we do a "fglgo -V" but the Informix runner is working fine. You'll note that trusser.txt contains the commands I invoked to get the output (in the next two files) ifxfglgoV.txt contains the informix runner's truss fglgoV.txt contains the custom runner's truss At line 220 in *fglgoV.txt is where their behavior diverges. In ifxfglgoV.txt the process begins looking for the tals.iem file as follows access("/usr3/informix7.24/tals.iem", 4) Err#2 ENOENT but in the fglgoV.txt the process does this open("/usr3/informix7.24/gls/cm3/registry", O_RDONLY) = 4 and continues in such a way that one of my colleagues hypothesizes that it is setting up to write out the error message. I don't see anything here that helps me, but I can't think of a better idea for troubleshooting. Help? -- John Bitsche Programmer/Analyst Whole Foods Market john.bitsche@wholefoods.com --------------80B3E2E414F6EDBBAA23C1B3 Content-Type: text/plain; charset=us-ascii; name="trusser.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="trusser.txt" echo truss FourGen fglgoV truss -o fglgoV.txt $fg/bin/fglgo -V echo truss IFMX fglgoV truss -o ifxfglgoV.txt $INFORMIXDIR/bin/fglgo -V which gives output as follows: [bitsche@]/export/home/bitsche/trs$ trusser truss FourGen fglgoV -23102 Memory allocation failed during locale processing. truss IFMX fglgoV INFORMIX-4GL Version 7.20.UC1 Pcode Version 602 Software Serial Number yada yada yada [bitsche@]/export/home/bitsche/trs$ --------------80B3E2E414F6EDBBAA23C1B3 Content-Type: text/plain; charset=us-ascii; name="fglgoV.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fglgoV.txt" execve("/usr3/fourgen/bin/fglgo", 0xEFFFF868, 0xEFFFF874) argc = 2 open("/dev/zero", O_RDONLY) = 3 mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF7C0000 open("./libaio.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/libaio.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/esql/libaio.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/tools/libaio.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/fourgen/lib/libaio.so.1", O_RDONLY) Err#2 ENOENT open("/usr/lib/libaio.so.1", O_RDONLY) = 4 fstat(4, 0xEFFFF52C) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_SHARED, 4, 0) = 0xEF7B0000 mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF790000 munmap(0xEF796000, 57344) = 0 mmap(0xEF7A4000, 3175, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 16384) = 0xEF7A4000 close(4) = 0 open("./libm.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/libm.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/esql/libm.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/tools/libm.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/fourgen/lib/libm.so.1", O_RDONLY) Err#2 ENOENT open("/usr/lib/libm.so.1", O_RDONLY) = 4 fstat(4, 0xEFFFF52C) = 0 mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_FIXED, 4, 0) = 0xEF7B0000 mmap(0x00000000, 155648, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF760000 munmap(0xEF776000, 57344) = 0 mmap(0xEF784000, 6054, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 81920) = 0xEF784000 close(4) = 0 open("./libnsl.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/libnsl.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/esql/libnsl.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/tools/libnsl.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/fourgen/lib/libnsl.so.1", O_RDONLY) Err#2 ENOENT open("/usr/lib/libnsl.so.1", O_RDONLY) = 4 fstat(4, 0xEFFFF52C) = 0 mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_FIXED, 4, 0) = 0xEF7B0000 mmap(0x00000000, 532480, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF680000 munmap(0xEF6E2000, 57344) = 0 mmap(0xEF6F0000, 37093, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 393216) = 0xEF6F0000 mmap(0xEF6FA000, 28160, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF6FA000 close(4) = 0 open("./libsocket.so.1", O_RDONLY) Err#2 ENOENT open("/usr3/informix7.24/lib/libsocket.so.1@@D
Related threads
- Blocked:CKPT
- Re: Long Transaction
- ontape -s -L 0 too slowly(logs)
- Ontape to backup Logical logs - Query