Re: Segfault when testing database error condition

Mike Aubury <[email protected]> Wed, 14 Jul 2021 11:16:03 +0100
Newsgroups gmane.comp.lang.4gl.aubit.general
Message-ID <CAGAq4WF9Gfmhcpygz2=01+q7yRACU6Appui6=xdnjrm=u4EOsQ@mail.gmail.com>
I think this is already resolved in SVN - if you want to try updating and
recompiling.
If it still fails - can you provide a small self contained test case to
replicate the issue ?

<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Tue, 13 Jul 2021 at 20:24, James B. Byrne via Aubit4gl-discuss <
[email protected]> wrote:

> 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
>
>
>
> _______________________________________________
> Aubit4gl-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/aubit4gl-discuss
>

<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

_______________________________________________
Aubit4gl-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/aubit4gl-discuss