c4gl core dumps: (script calls 'i4glc1' which seems to be 'i4gl' and 'i4gl' is core dumping)
Posted in 2003
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
Hi guys,
I'm affraid that I have run into another unsolvable porting problem today.
We have a 4GL file in one of our libraries that, when built via the 'c4gl'
INFORMIX script, causes a segmentation fault.
Here is what it looks like during the build:
And here is what 'dbx' is giving me for information:
# dbx ./i4glc1 ./core
Type 'help' for help.
[using memory image in ./core]
reading symbolic information ...warning: no source compiled with -g
Segmentation fault in effldflg_newICBEntry at 0x100024240 ($t1)
0x100024240 (effldflg_newICBEntry+0xd0) 4082000c bne 0x10002424c
(effldflg_newICBEntry+0xdc)
(dbx) where
effldflg_newICBEntry() at 0x100024240
ix_extract() at 0x100023bb8
ix_mkprefix() at 0x10000fe00
ix_incfile() at 0x1000032d0
Diagnosis and observations so far:
1) I get a *.err file before the segmentation fault, and this file is
truncated. About half of the file is there, but it is truncated in the
middle of a function.
2) It always seems to truncated the file at the same point, so I figured I
would try breaking the file out into two files. I did this, keeping the
"first half" of the new file shorter than the point where the file was
truncated. That works - this new "first half" of the file compiles.
However, the new "second half" causes a segmentation fault, even if there is
no functions in the file. Only a "database XXXX" and a "globals XXXX" line
in the file. (No MAIN, and no FUNCTIONs are even in the "second half" file,
and segmentation fault occurs.)
3) In the Makefile file, I already tried the use of 'STACKFLAGS = -S 65536'
which was formerly set to 32768. This did not change where, or what file,
the segmentation fault occurs.
Has anyone seen anything like this before? I have been snooping around in
the 'c4gl' script for shell parameters that I might be able to hack with,
but there are quite a few. Any information on which ones I might be related
to limitations, and which ones are my best bet for getting past this
problem?
================================= Version Information
==================================
# c4gl -V
IBM INFORMIX-4GL Version 7.32.FC1
Software Serial Number RDS#N[XXXXXX]
# i4gl -V
IBM INFORMIX-4GL Version 7.32.FC1
Software Serial Number RDS#N[XXXXXX]
# chkenv
Checking shared environment configuration file: /informix/etc/informix.rc
Checking private environment configuration file: /home/djw/.informix
# chkengine
on
# chkserver
on
# uname -va
AIX finch 2 5 000AB86D4C00
# xlC_r
VisualAge C++ Professional / C for AIX Compiler, Version 6
# onstat -VInformix Dynamic Server Version 7.31.FD6 Software Serial Number
ACP#J[XXXXXX]
# onstat -p
Informix Dynamic Server Version 7.31.FD6 -- On-Line -- Up 5 days
22:43:36 -- 36752 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
2391 3442 7434936 99.97 6044 9801 205175 97.05
isamtot open start read write rewrite delete commit
rollbk
4734910 88990 398907 3116655 36281 659 493 11406 0
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 247.72 155.96 8 3428
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
557 0 6124529 0 0 3 120 11203
ixda-RA idx-RA da-RA RA-pgsused lchwaits
196 0 196 392 17
-Darrin
darrin.wolf at provia dot com
Please just reply to the newsgroup--share the knowledge--thanks!
"Darrin Wolf" <phreud@hotmail.com> wrote in message
news:vfgpt98oqcpsf1@corp.supernews.com...
> Hi guys,
>
> I'm affraid that I have run into another unsolvable porting problem today.
> We have a 4GL file in one of our libraries that, when built via the 'c4gl'
> INFORMIX script, causes a segmentation fault.
>
> Here is what it looks like during the build:
>
Sorry, I missed the 'paste' here typical when I have too many interuptions
and meetings to attend :-0
--------------------------------------
[snip - many files built by c4gl successfully...]
c4gl -s -DAIX -I/testinf/viaware/wms/4glrfclient/h -I/informix//incl -I/info
rmix//incl/tools -I/testinf/viaware/wms/4glrfclient/glo
bals -c cpordcan.4gl
rm -f cpordcan.ec
rm -f cpordcan.c
ar -r -v -X64 /testinf/viaware/lib/cmplib.a cpordcan.o
r - cpordcan.o
rm -f cpordcan.o
ls /testinf/viaware/lib/cmplib.a
/testinf/viaware/lib/cmplib.a
c4gl -s -DAIX -I/testinf/viaware/wms/4glrfclient/h -I/informix//incl -I/info
rmix//incl/tools -I/testinf/viaware/wms/4glrfclient/glo
bals -c cpcntman.4gl
rm -f cpcntman.ec
rm -f cpcntman.c
ar -r -v -X64 /testinf/viaware/lib/cmplib.a cpcntman.o
r - cpcntman.o
rm -f cpcntman.o
ls /testinf/viaware/lib/cmplib.a
/testinf/viaware/lib/cmplib.a
c4gl -s -DAIX -I/testinf/viaware/wms/4glrfclient/h -I/informix//incl -I/info
rmix//incl/tools -I/testinf/viaware/wms/4glrfclient/glo
bals -c cputilfn.4gl
rm -f cputilfn.ec
rm -f cputilfn.c
ar -r -v -X64 /testinf/viaware/lib/cmplib.a cputilfn.o
r - cputilfn.o
rm -f cputilfn.o
ls /testinf/viaware/lib/cmplib.a
/testinf/viaware/lib/cmplib.a
c4gl -s -DAIX -I/testinf/viaware/wms/4glrfclient/h -I/informix//incl -I/info
rmix//incl/tools -I/testinf/viaware/wms/4glrfclient/glo
bals -c cpbchrecfly.4gl
/informix/bin/c4gl[283]: 331808 Segmentation fault(coredump)
gmake: *** [/testinf/viaware/lib/cmplib.a(cpbchrecfly.o)] Error 139
finch /testinf/viaware/wms/4glrfclient/cmp
--------------------------------------
NOTE: The 'ls' that appears after every 'rm' is the new $(RANLIB) make
rule. It used to be 'ranlib' which I am told is no longer necessary.
> And here is what 'dbx' is giving me for information:
>
> # dbx ./i4glc1 ./core
> Type 'help' for help.
> [using memory image in ./core]
> reading symbolic information ...warning: no source compiled with -g
>
>
> Segmentation fault in effldflg_newICBEntry at 0x100024240 ($t1)
> 0x100024240 (effldflg_newICBEntry+0xd0) 4082000c bne 0x10002424c
> (effldflg_newICBEntry+0xdc)
> (dbx) where
> effldflg_newICBEntry() at 0x100024240
> ix_extract() at 0x100023bb8
> ix_mkprefix() at 0x10000fe00
> ix_incfile() at 0x1000032d0
>
> Diagnosis and observations so far:
>
> 1) I get a *.err file before the segmentation fault, and this file is
> truncated. About half of the file is there, but it is truncated in the
> middle of a function.
> 2) It always seems to truncated the file at the same point, so I figured
I
> would try breaking the file out into two files. I did this, keeping the
> "first half" of the new file shorter than the point where the file was
> truncated. That works - this new "first half" of the file compiles.
> However, the new "second half" causes a segmentation fault, even if there
is
> no functions in the file. Only a "database XXXX" and a "globals XXXX"
line
> in the file. (No MAIN, and no FUNCTIONs are even in the "second half"
file,
> and segmentation fault occurs.)
> 3) In the Makefile file, I already tried the use of 'STACKFLAGS = -S
65536'
> which was formerly set to 32768. This did not change where, or what file,
> the segmentation fault occurs.
>
>
> Has anyone seen anything like this before? I have been snooping around in
> the 'c4gl' script for shell parameters that I might be able to hack with,
> but there are quite a few. Any information on which ones I might be
related
> to limitations, and which ones are my best bet for getting past this
> problem?
>
> ================================= Version Information
> ==================================
> # c4gl -V
> IBM INFORMIX-4GL Version 7.32.FC1
> Software Serial Number RDS#N[XXXXXX]
>
> # i4gl -V
> IBM INFORMIX-4GL Version 7.32.FC1
> Software Serial Number RDS#N[XXXXXX]
>
> # chkenv
> Checking shared environment configuration file: /informix/etc/informix.rc
> Checking private environment configuration file: /home/djw/.informix
>
> # chkengine
> on
>
> # chkserver
> on
>
> # uname -va
> AIX finch 2 5 000AB86D4C00
>
> # xlC_r
> VisualAge C++ Professional / C for AIX Compiler, Version 6
>
> # onstat -V> Informix Dynamic Server Version 7.31.FD6 Software Serial Number
> ACP#J[XXXXXX]
>
> # onstat -p>
> Informix Dynamic Server Version 7.31.FD6 -- On-Line -- Up 5 days
> 22:43:36 -- 36752 Kbytes
>
> Profile
> dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
> 2391 3442 7434936 99.97 6044 9801 205175 97.05
>
> isamtot open start read write rewrite delete commit
> rollbk
> 4734910 88990 398907 3116655 36281 659 493 11406 0
>
> gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
> 0 0 0 0 0 0 0
>
> ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
> 0 0 0 247.72 155.96 8 3428
>
> bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
> 557 0 6124529 0 0 3 120 11203
>
> ixda-RA idx-RA da-RA RA-pgsused lchwaits
> 196 0 196 392 17
>
>
> -Darrin
> darrin.wolf at provia dot com
>
> Please just reply to the newsgroup--share the knowledge--thanks!
>
>
>
>