Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

4GL fails w/ segmentation fault

73 views
Skip to first unread message

Denis Melnikov

unread,
Jan 4, 2001, 9:11:48 AM1/4/01
to
Hi,
Happy New All!

Something strange happens in arbitrary places of 4GL code. Either
a program fails executing
OPEN FORM <formname> FROM <filename>
w/ '-1110 Form file not found' error, or the following
CLOSE FORM <formname>
causes program to terminate w/o explanation.
In both cases 'Segmentation Fault' displayed and core generated.
The named file does present, of course. Moreover, these commands with
the same form and file arguments execute correctly in other places of
the program.

4GL 7.30UC2 compiled w/ gcc 2.95.1 runs on SPARC Solaris 2.6


ROBERT B VORBROKER

unread,
Jan 4, 2001, 9:44:57 AM1/4/01
to
Just a few ideas come to mind...

Check the <formname> is not somehow duplicated in the executable. This used
to give me unusual results sometimes. Also check to make certain <filename>
is spelled correctly - I've been known to fat finger something and then look
at it ten times before finding out I left out a letter or switched two
letters, etc. Also check you PATH to insure that the directory the form
<filename> is located in is present.

Last advice would be to duplicate the form to a different <filename>, change
the program code and see if the program acts the same - don't ask me why I
don't know...

Rob Vorbroker
ro...@iiug.org
ro...@vorbroker.com
Vorbroker Consulting

Denis Melnikov <dme...@col.ru> wrote in message
news:9320ba$og2$1...@storm.comstar.ru...

Jonathan Leffler

unread,
Jan 4, 2001, 2:37:46 PM1/4/01
to

Over and above what Robert Vorbroker suggested, I'd recommend looking at
the compiler options you are providing -- specifically, you should use
-fwriteable-strings to tell GCC not to trigger core dumps when I4GL
carelessly tries to modify a string literal such as a form name.
Without that option, GCC places the string in read-only memory which
triggers a seg fault when I4GL tries to write to it.

--
Yours,
Jonathan Leffler (Jonathan...@Informix.com) #include <disclaimer.h>
Guardian of DBD::Informix v1.00.PC1 -- http://www.perl.com/CPAN
"I don't suffer from insanity; I enjoy every minute of it!"

David Williams

unread,
Jan 4, 2001, 4:09:28 PM1/4/01
to
In article <3A54D0E6...@informix.com>, Jonathan Leffler
<jlef...@informix.com> writes

>Denis Melnikov wrote:
>> Something strange happens in arbitrary places of 4GL code. Either
>> a program fails executing
>> OPEN FORM <formname> FROM <filename>
>> w/ '-1110 Form file not found' error, or the following
>> CLOSE FORM <formname>
>> causes program to terminate w/o explanation.
>> In both cases 'Segmentation Fault' displayed and core generated.
>> The named file does present, of course. Moreover, these commands with
>> the same form and file arguments execute correctly in other places of
>> the program.
>>
>> 4GL 7.30UC2 compiled w/ gcc 2.95.1 runs on SPARC Solaris 2.6
>
>Over and above what Robert Vorbroker suggested, I'd recommend looking at
>the compiler options you are providing -- specifically, you should use
>-fwriteable-strings to tell GCC not to trigger core dumps when I4GL
>carelessly tries to modify a string literal such as a form name.
>Without that option, GCC places the string in read-only memory which
>triggers a seg fault when I4GL tries to write to it.
>

Also 4gl 7.30 had a bug in string handling.

Check earlier posts but I think it was something like

Let str1 = str2 CLIPPED,str3 CLIPPED

resulted in possible memory corruption

This bug was fixed in 7.30.UC4.


--
David Williams

0 new messages