Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
A user on AIX reported that c4gl segfaulted (core dump) when compiling a 4GL program containing "SELECT * INTO w_prov.* FROM prov WHERE order9 = orders[i]", where w_prov is a RECORD LIKE a 238-column table; commenting the statement out let it compile. One reply suggested a similar bug seen when DBTEMP was set; another suggested assigning the subscripted array element to a temporary variable first (this didn't help) and checking the compiler's subscript-range-checking flag. Jonathan Leffler noted a compiler core dump is always a bug and urged reporting it to IBM support with a minimal test case. No fix is recorded in the thread.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Hi
I am trying to compile a 4gl file (Informix) in AIX server.
The syntex is :
c4gl -c same_task.4gl
But it is giving "Segmentation Fault (coredump)"
If i am commenting this line in same file :
SELECT * INTO w_prov.* FROM prov WHERE order9 = orders[i]
then it is getting compiled successfully.
about w_prov :
w_prov RECORD LIKE prov.*,
We are using prov table that contains 238 feild and around 2500
records.
Help me in resolving this issue.
Thanks
with regards,
Arbind Singh
9880290290
getarbind@gmail.com wrote:
> Hi
> I am trying to compile a 4gl file (Informix) in AIX server.
> The syntex is :
>
> c4gl -c same_task.4gl
>
> But it is giving "Segmentation Fault (coredump)"
>
> If i am commenting this line in same file :
>
> SELECT * INTO w_prov.* FROM prov WHERE order9 = orders[i]>
> then it is getting compiled successfully.
>
> about w_prov :
> w_prov RECORD LIKE prov.*,
>
> We are using prov table that contains 238 feild and around 2500
> records.
>
> Help me in resolving this issue.
> Thanks
>
> with regards,
> Arbind Singh
> 9880290290
hello,
see similar bug when DBTEMP was set.
regards,
getarbind@gmail.com wrote:
> Hi
> I am trying to compile a 4gl file (Informix) in AIX server.
> The syntex is :
>
> c4gl -c same_task.4gl
>
> But it is giving "Segmentation Fault (coredump)"
>
> If i am commenting this line in same file :
>
> SELECT * INTO w_prov.* FROM prov WHERE order9 = orders[i]>
> then it is getting compiled successfully.
>
> about w_prov :
> w_prov RECORD LIKE prov.*,
>
> We are using prov table that contains 238 feild and around 2500
> records.
>
> Help me in resolving this issue.
> Thanks
>
> with regards,
> Arbind Singh
> 9880290290
>
Try:
LET tmp_order = orders[i]
select .... where order9 = tmp_order
I remember having some problems with subscripted variables so time ago.
HTH
Michael
Michael Krzepkowski a écrit :
> getarbind@gmail.com wrote:
> > Hi
> > I am trying to compile a 4gl file (Informix) in AIX server.
> > The syntex is :
> >
> > c4gl -c same_task.4gl
> >
> > But it is giving "Segmentation Fault (coredump)"
> >
> > If i am commenting this line in same file :
> >
> > SELECT * INTO w_prov.* FROM prov WHERE order9 = orders[i]> >
> > then it is getting compiled successfully.
> >
> > about w_prov :
> > w_prov RECORD LIKE prov.*,
> >
> > We are using prov table that contains 238 feild and around 2500
> > records.
> >
> > Help me in resolving this issue.
> > Thanks
> >
> > with regards,
> > Arbind Singh
> > 9880290290
> >
> Try:
>
> LET tmp_order = orders[i]
> select .... where order9 = tmp_order
>
> I remember having some problems with subscripted variables so time ago.
>
> HTH
>
>
> Michael
Hi Michael
Thanks for ur reply. I have tried this one but again same error has
come.
"Segmentation Fault (coredump)"
I think u are correct that there is some problem with subscripted
variables .
But this is nt working.
getarbind@gmail.com wrote:
> Michael Krzepkowski a 'crit :
>
>> getarbind@gmail.com wrote:
>>> Hi
>>> I am trying to compile a 4gl file (Informix) in AIX server.
>>> The syntex is :
>>>
>>> c4gl -c same_task.4gl
>>>
>>> But it is giving "Segmentation Fault (coredump)"
>>>
>>> If i am commenting this line in same file :
>>>
>>> SELECT * INTO w_prov.* FROM prov WHERE order9 = orders[i]>>>
>>> then it is getting compiled successfully.
>>>
>>> about w_prov :
>>> w_prov RECORD LIKE prov.*,
>>>
>>> We are using prov table that contains 238 feild and around 2500
>>> records.
>>>
>>> Help me in resolving this issue.
>>> Thanks
>>>
>>> with regards,
>>> Arbind Singh
>>> 9880290290
>>>
>> Try:
>>
>> LET tmp_order = orders[i]
>> select .... where order9 = tmp_order
>>
>> I remember having some problems with subscripted variables so time ago.
>>
>> HTH
>>
>>
>> Michael
>
> Hi Michael
> Thanks for ur reply. I have tried this one but again same error has
> come.
> "Segmentation Fault (coredump)"
>
> I think u are correct that there is some problem with subscripted
> variables .
> But this is nt working.
>
There is a flag for c4gl to control subscript ranges (and show error).
I don't have 4GL compiler handy, but check your docs.
Recompile program with that flag set and try again. Default is not to
check subscript ranges.
HTH
Michael
On 8 Aug 2006 04:44:45 -0700, getarbind@gmail.com <getarbind@gmail.com>
wrote:
>
> Hi
> I am trying to compile a 4gl file (Informix) in AIX server.
> The syntex is :
>
> c4gl -c same_task.4gl
>
> But it is giving "Segmentation Fault (coredump)"
That is a bug in the compiler -- core dumps almost always are.
The compiler may refuse to compile a program, and generate error messages,
but it may bit crash.
Contact IBM Technical Support.
The rest of the discussion may help you work around the bug, but unless you
report the bug, it may never be fixed. Try to make a minimal test case that
reproduces the program. The ideal test case does't need a database at all
and consists of about 20 lines of I4GL code. Often, you can't achieve that
minimu, but you need to provide the SQL to create the database (no data
neede; just the schema - for compiler problems), plus whatever code is
necessary. In this context (of a compiler error) you should only need a
single source file (unless globals files are an irreducible part of the
problem).
If i am commenting this line in same file :
>
> SELECT * INTO w_prov.* FROM prov WHERE order9 = orders[i]>
> then it is getting compiled successfully.
>
> about w_prov :
> w_prov RECORD LIKE prov.*,
>
> We are using prov table that contains 238 feild and around 2500
> records.
>
--
Jonathan Leffler #include <disclaimer.h>
Email: jleffler@earthlink.net, jleffler@us.ibm.com
Guardian of DBD::Informix v2005.02 -- http://dbi.perl.org/
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.