Segfault when testing database error condition
"James B. Byrne via Aubit4gl-discuss" <[email protected]> Tue, 13 Jul 2021 15:23:51 -0400
| Newsgroups | gmane.comp.lang.4gl.aubit.general |
|---|---|
| Message-ID | <[email protected]> |
I deliberately gave a working 4gl program a non-existant database name. This
is what happened.
Internal Error - segmentation fault
Please note all circumstances and log with the Aubit4GL team
If possible - reproduce the error with the environment variable DEBUG
set to ALL :
$ export DEBUG=ALL
And enclose the last 100 lines from the resultant debug.out file
with your bug log.
Module : ex19.4gl Line : 61
4gl function call stack :
MAIN
It seems to me that the problem might be with the screen handler but that is
just a guess.
60 OPEN FORM f_customer FROM "f_customer"
61 DISPLAY FORM f_customer
62
In any case, a segfault seems a bit severe because of a typo in a DB name.
$ tail -100 debug.out
newpanels.c 2447 dbg ( 0, 0,0) A4GL_chkwin ()
chkwin
newpanels.c 2491 dbg ( 0, 0,0) A4GL_chkwin ()
API_ui Was screen mode..
newpanels.c 1526 dbg ( 0, 0,0) UILIB_A4GL_get_curr_form ()
currwinno=0
ioform.c 4624 dbg ( 0, 0,0) UILIB_A4GL_clr_form ()
Calling set_field_attr_with_attr for clearing..
ioform.c 747 dbg ( 0, 0,0)
A4GL_set_field_attr_with_attr() Passed in attribute: 0, determined attribute
should be 0
ioform.c 758 dbg ( 0, 0,0)
A4GL_set_field_attr_with_attr() MJA Calling A4GL_set_field_colour_attr -
do_reverse=0 attr=0
colours.c 162 dbg ( 0, 0,0)
A4GL_decode_colour_attr_aubit() MJA Decoding 0
attributes.c 266 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
Attr=0
attributes.c 273 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
col_int=0
colours.c 167 dbg ( 0, 0,0)
A4GL_decode_colour_attr_aubit() MJA Got colour as : BLACK -
colours.c 107 dbg ( 0, 0,0) A4GL_colour_code ()
MJA Returning color code (0+1)
ioform.c 798 dbg ( 0, 0,0) A4GL_set_field_colour_attr()
set_field_colour_attr - do_reverse=0 colour=0 - 0
API_form.c 180 dbg ( 0, 0,0) A4GL_has_bool_attribute ()
Call to int A4GL_has_bool_attribute(0x80192a900,2)
readforms.c 548 dbg ( 0, 0,0)
A4GLFORM_A4GL_has_bool_attribute() via A4GL_has_bool_attribute in lib
readforms.c 558 dbg ( 0, 0,0) real_has_bool_attribute ()
Checking 0x80192a900 for 2
readforms.c 563 dbg ( 0, 0,0) real_has_bool_attribute ()
2 0 1
readforms.c 569 dbg ( 0, 0,0) real_has_bool_attribute ()
Nope
API_form.c 188 dbg ( 0, 0,0) A4GL_has_bool_attribute ()
Returning '0'
attributes.c 266 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
Attr=0
attributes.c 273 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
col_int=0
colours.c 239 dbg ( 0, 0,0) A4GL_decode_aubit_attr ()
A=0 colour=BLACK attr= MJAMJAMJA
colours.c 162 dbg ( 0, 0,0)
A4GL_decode_colour_attr_aubit() MJA Decoding 0
attributes.c 266 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
Attr=0
attributes.c 273 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
col_int=0
colours.c 167 dbg ( 0, 0,0)
A4GL_decode_colour_attr_aubit() MJA Got colour as : BLACK -
colours.c 107 dbg ( 0, 0,0) A4GL_colour_code ()
MJA Returning color code (0+1)
colours.c 301 dbg ( 0, 0,0) A4GL_decode_aubit_attr ()
Returning ca = 0 0 (visible=1)
attributes.c 266 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
Attr=0
attributes.c 273 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
col_int=0
colours.c 239 dbg ( 0, 0,0) A4GL_decode_aubit_attr ()
A=0 colour=BLACK attr= MJAMJAMJA
colours.c 162 dbg ( 0, 0,0)
A4GL_decode_colour_attr_aubit() MJA Decoding 0
attributes.c 266 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
Attr=0
attributes.c 273 dbg ( 0, 0,0) A4GL_get_strings_from_attr()
col_int=0
colours.c 167 dbg ( 0, 0,0)
A4GL_decode_colour_attr_aubit() MJA Got colour as : BLACK -
colours.c 107 dbg ( 0, 0,0) A4GL_colour_code ()
MJA Returning color code (0+1)
colours.c 301 dbg ( 0, 0,0) A4GL_decode_aubit_attr ()
Returning ca = 0 0 (visible=1)
ioform.c 4632 dbg ( 0, 0,0) UILIB_A4GL_clr_form ()
Blanking field 0x802024480 MJAMJAMJA
newpanels.c 2447 dbg ( 0, 0,0) A4GL_chkwin ()
chkwin
newpanels.c 2491 dbg ( 0, 0,0) A4GL_chkwin ()
API_ui Was screen mode..
newpanels.c 1526 dbg ( 0, 0,0) UILIB_A4GL_get_curr_form ()
currwinno=0
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 1681 dbg ( 0, 0,0) A4GL_get_field_width_w ()
mno=3 formdets=0x8019ef980 f=0x802024480
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
newpanels.c 2447 dbg ( 0, 0,0) A4GL_chkwin ()
chkwin
newpanels.c 2491 dbg ( 0, 0,0) A4GL_chkwin ()
API_ui Was screen mode..
newpanels.c 1526 dbg ( 0, 0,0) UILIB_A4GL_get_curr_form ()
currwinno=0
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 1681 dbg ( 0, 0,0) A4GL_get_field_width_w ()
mno=3 formdets=0x8019ef980 f=0x802024480
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 3521 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
mja_set_field_buffer buff='' buff2='' (0,7)
newpanels.c 2447 dbg ( 0, 0,0) A4GL_chkwin ()
chkwin
newpanels.c 2491 dbg ( 0, 0,0) A4GL_chkwin ()
API_ui Was screen mode..
newpanels.c 1526 dbg ( 0, 0,0) UILIB_A4GL_get_curr_form ()
currwinno=0
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 1681 dbg ( 0, 0,0) A4GL_get_field_width_w ()
mno=3 formdets=0x8019ef980 f=0x802024480
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 3529 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
Adding padding
newpanels.c 2447 dbg ( 0, 0,0) A4GL_chkwin ()
chkwin
newpanels.c 2491 dbg ( 0, 0,0) A4GL_chkwin ()
API_ui Was screen mode..
newpanels.c 1526 dbg ( 0, 0,0) UILIB_A4GL_get_curr_form ()
currwinno=0
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 1681 dbg ( 0, 0,0) A4GL_get_field_width_w ()
mno=3 formdets=0x8019ef980 f=0x802024480
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
funcs_d.c 370 dbg ( 0, 0,0) A4GL_pad_string ()
Padding to size 7 by adding 7 spaces
newpanels.c 2447 dbg ( 0, 0,0) A4GL_chkwin ()
chkwin
newpanels.c 2491 dbg ( 0, 0,0) A4GL_chkwin ()
API_ui Was screen mode..
newpanels.c 1526 dbg ( 0, 0,0) UILIB_A4GL_get_curr_form ()
currwinno=0
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 1681 dbg ( 0, 0,0) A4GL_get_field_width_w ()
mno=3 formdets=0x8019ef980 f=0x802024480
ioform.c 1462 dbg ( 0, 0,0) A4GL_get_metric_for ()
In curr metric
ioform.c 1469 dbg ( 0, 0,0) A4GL_get_metric_for ()
Returning 3
ioform.c 3565 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
setting field buffer to .. 7
curslib.c 2393 dbg ( 0, 0,0) local_field_opts ()
UUU GOT 0x802024480 28f
ioform.c 4162 dbg ( 0, 0,0) A4GL_debug_print_field_opts()
UUU Field 0x802024480 attribs= O_VISIBLE O_ACTIVE O_PUBLIC O_EDIT O_NULLOK
O_STATIC: ( )
ioform.c 3571 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
Before trim:
ioform.c 3585 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
after trim:
ioform.c 3599 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
Setting 0x802024480 0 to (0)
ioform.c 3600 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
field buffer set to ' '
ioform.c 3601 dbg ( 0, 0,0) A4GL_mja_set_field_buffer()
Currwin=0x80204ddd0
iarray.c 1850 dbg ( 0, 0,0) A4GL_mja_pos_form_cursor ()
mja_pos_form_cursor called with form=0x802024480 field would be 0x802024500
fglwrap.c 1234 dbg ( 0, 0,0) A4GL_core_dump ()
In screen mode - ending curses - caught a core dump
API_ui.c 1089 dbg ( 0, 0,0) A4GL_gotolinemode ()
Call to void A4GL_gotolinemode()
API_sql.c 354 dbg ( 0, 0,0)
A4GLSQL_close_session_internal() Call to int
A4GLSQL_close_session_internal((default)))
pg8.c 766 dbg ( 0, 0,0)
A4GLSQLLIB_A4GLSQL_close_session_internal() Close session default
sql_common.c 323 dbg ( 0, 0,0) A4GL_set_status ()
A4GL_set_status(0,1)
sql_common.c 335 dbg ( 0, 0,0) A4GL_set_status ()
Status set to 0
API_sql.c 362 dbg ( 0, 0,0)
A4GLSQL_close_session_internal() Returning '1'
builtin.c 1070 dbg ( 0, 0,0) A4GL_close_errorlog_file ()
Close_errlog_file
API_ui.c 1551 dbg ( 0, 0,0) A4GL_ui_exit ()
Call to void A4GL_ui_exit(99)
builtin.c 1070 dbg ( 0, 0,0) A4GL_close_errorlog_file ()
Close_errlog_file
common_ui.c 68 dbg ( 0, 0,0) A4GL_fgl_die ()
End of program - exit(99).
--
*** e-Mail is NOT a SECURE channel ***
Do NOT transmit sensitive data via e-Mail
Unencrypted messages have no legal claim to privacy
Do NOT open attachments nor follow links sent by e-Mail
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3