Error in `/PSC/oe115dev/dlc/bin/_progres': free(): inval

Posted by Valeriy Bashkatov on 23-May-2016 05:49

Hello,

One of my clients faced with the following problem after upgrading to 11.5. when they run code in 11.5, which worked in OpenEdge 10.2B, they get the following error:

On Linux:

_progres: free(): invalid next size (fast)

On AIX

SYSTEM ERROR: Memory violation. (49)

They were able to identify a piece of code that causes the error, I checked and I have error too, there is:

DEF VAR mFld1 AS CHAR NO-UNDO.
DEF VAR mFld2 AS CHAR NO-UNDO.

FORM
   mFld1
      VIEW-AS FILL-IN
      FORMAT "X(30)"
   mFld2
      VIEW-AS FILL-IN
      FORMAT "X(30)"
WITH FRAME brw1 ROW 3 WIDTH 65 TITLE COLOR bright-white "" .

ACTION:
DO WHILE TRUE:
   DISP mFld1 mFld2 WITH FRAME brw1.
   VIEW FRAME brw1.

   FRAME brw1:TITLE = "[ " + FILL ("+", 40) + " ]".

   CHOOSE FIELD mFld1 mFld2
      GO-ON (Ctrl-G Esc)
      WITH FRAME brw1.

   IF LASTKEY EQ KEYCODE ("Esc") THEN
      LEAVE ACTION.
   ELSE
   IF LASTKEY EQ KEYCODE ("Ctrl-G") THEN
   DO:
      MESSAGE "Print"
      VIEW-AS ALERT-BOX.
      OUTPUT TO "bug.txt".
      DOWN WITH FRAME brw1.
      DISP mFld1 mFld2 WITH FRAME brw1 .
      OUTPUT CLOSE.
   END.
END.
OS-DELETE "bug.txt".

In this code the error ocured when the title size set to >=40 

  FRAME brw1:TITLE = "[ " + FILL ("+", 40) + " ]".

If set the size of the title less than 40, then there is no problem.

This is all what displays on the screen after error on my machine:

 *** Error in `/PSC/oe115dev/dlc/bin/_progres': free(): invalid next size (fast): 0x00000000025ee4f0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7d56d)[0x7f1677b2956d]
/PSC/oe115dev/dlc/bin/_progres[0x66cb60]
/PSC/oe115dev/dlc/bin/_progres[0x66df97]
/PSC/oe115dev/dlc/bin/_progres[0x66a50d]
/PSC/oe115dev/dlc/bin/_progres[0x5f9f9e]
/PSC/oe115dev/dlc/bin/_progres[0x5fa40a]
/PSC/oe115dev/dlc/bin/_progres[0x73f895]
/PSC/oe115dev/dlc/bin/_progres(rnexec_entry+0x18f)[0x7e9fdf]
/PSC/oe115dev/dlc/bin/_progres[0x7eb347]
/PSC/oe115dev/dlc/bin/_progres(umeDispatchEvent+0x86b)[0x62e5fb]
/PSC/oe115dev/dlc/bin/_progres[0x9ff152]
/PSC/oe115dev/dlc/bin/_progres[0x7453b6]
/PSC/oe115dev/dlc/bin/_progres[0x759c8f]
/PSC/oe115dev/dlc/bin/_progres(rnexec_entry+0x18f)[0x7e9fdf]
/PSC/oe115dev/dlc/bin/_progres[0x7eb347]
/PSC/oe115dev/dlc/bin/_progres[0x4bb5f0]
/PSC/oe115dev/dlc/bin/_progres[0x44e0e6]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f1677acdaf5]
/PSC/oe115dev/dlc/bin/_progres(realloc+0x261)[0x423499]
======= Memory map: ========
00400000-00c79000 r-xp 00000000 08:10 1316245                            /PSC/oe115dev/dlc/bin/_progres
00e79000-00fb6000 rwxp 00879000 08:10 1316245                            /PSC/oe115dev/dlc/bin/_progres
00fb6000-01132000 rwxp 00000000 00:00 0
0243b000-02601000 rwxp 00000000 00:00 0                                  [heap]
7f16774e8000-7f1677621000 rwxp 00000000 00:00 0
7f1677621000-7f167762c000 r-xp 00000000 fd:01 67226236                   /usr/lib64/libnss_files-2.17.so
7f167762c000-7f167782b000 ---p 0000b000 fd:01 67226236                   /usr/lib64/libnss_files-2.17.so
7f167782b000-7f167782c000 r-xp 0000a000 fd:01 67226236                   /usr/lib64/libnss_files-2.17.so
7f167782c000-7f167782d000 rwxp 0000b000 fd:01 67226236                   /usr/lib64/libnss_files-2.17.so
7f167782d000-7f16778a6000 r-xp 00000000 fd:01 67203109                   /usr/lib64/libfreebl3.so
7f16778a6000-7f1677aa6000 ---p 00079000 fd:01 67203109                   /usr/lib64/libfreebl3.so
7f1677aa6000-7f1677aa7000 r-xp 00079000 fd:01 67203109                   /usr/lib64/libfreebl3.so
7f1677aa7000-7f1677aa8000 rwxp 0007a000 fd:01 67203109                   /usr/lib64/libfreebl3.so
7f1677aa8000-7f1677aac000 rwxp 00000000 00:00 0
7f1677aac000-7f1677c62000 r-xp 00000000 fd:01 67226218                   /usr/lib64/libc-2.17.so
7f1677c62000-7f1677e62000 ---p 001b6000 fd:01 67226218                   /usr/lib64/libc-2.17.so
7f1677e62000-7f1677e66000 r-xp 001b6000 fd:01 67226218                   /usr/lib64/libc-2.17.so
7f1677e66000-7f1677e68000 rwxp 001ba000 fd:01 67226218                   /usr/lib64/libc-2.17.so
7f1677e68000-7f1677e6d000 rwxp 00000000 00:00 0
7f1677e6d000-7f1677e82000 r-xp 00000000 fd:01 67149960                   /usr/lib64/libgcc_s-4.8.2-20140120.so.1
7f1677e82000-7f1678081000 ---p 00015000 fd:01 67149960                   /usr/lib64/libgcc_s-4.8.2-20140120.so.1
7f1678081000-7f1678082000 r-xp 00014000 fd:01 67149960                   /usr/lib64/libgcc_s-4.8.2-20140120.so.1
7f1678082000-7f1678083000 rwxp 00015000 fd:01 67149960                   /usr/lib64/libgcc_s-4.8.2-20140120.so.1
7f1678083000-7f167816c000 r-xp 00000000 fd:01 67226264                   /usr/lib64/libstdc++.so.6.0.19
7f167816c000-7f167836b000 ---p 000e9000 fd:01 67226264                   /usr/lib64/libstdc++.so.6.0.19
7f167836b000-7f1678373000 r-xp 000e8000 fd:01 67226264                   /usr/lib64/libstdc++.so.6.0.19
7f1678373000-7f1678375000 rwxp 000f0000 fd:01 67226264                   /usr/lib64/libstdc++.so.6.0.19
7f1678375000-7f167838a000 rwxp 00000000 00:00 0
7f167838a000-7f167848b000 r-xp 00000000 fd:01 67226226                   /usr/lib64/libm-2.17.so
7f167848b000-7f167868a000 ---p 00101000 fd:01 67226226                   /usr/lib64/libm-2.17.so
7f167868a000-7f167868b000 r-xp 00100000 fd:01 67226226                   /usr/lib64/libm-2.17.so
7f167868b000-7f167868c000 rwxp 00101000 fd:01 67226226                   /usr/lib64/libm-2.17.so
7f167868c000-7f1678694000 r-xp 00000000 fd:01 67226222                   /usr/lib64/libcrypt-2.17.so
7f1678694000-7f1678893000 ---p 00008000 fd:01 67226222                   /usr/lib64/libcrypt-2.17.so
7f1678893000-7f1678894000 r-xp 00007000 fd:01 67226222                   /usr/lib64/libcrypt-2.17.so
7f1678894000-7f1678895000 rwxp 00008000 fd:01 67226222                   /usr/lib64/libcrypt-2.17.so
7f1678895000-7f16788c3000 rwxp 00000000 00:00 0
7f16788c3000-7f16788c6000 r-xp 00000000 fd:01 67226224                   /usr/lib64/libdl-2.17.so
7f16788c6000-7f1678ac5000 ---p 00003000 fd:01 67226224                   /usr/lib64/libdl-2.17.so
7f1678ac5000-7f1678ac6000 r-xp 00002000 fd:01 67226224                   /usr/lib64/libdl-2.17.so
7f1678ac6000-7f1678ac7000 rwxp 00003000 fd:01 67226224                   /usr/lib64/libdl-2.17.so
7f1678ac7000-7f1678add000 r-xp 00000000 fd:01 67226244                   /usr/lib64/libpthread-2.17.so
7f1678add000-7f1678cdd000 ---p 00016000 fd:01 67226244                   /usr/lib64/libpthread-2.17.so
7f1678cdd000-7f1678cde000 r-xp 00016000 fd:01 67226244                   /usr/lib64/libpthread-2.17.so
7f1678cde000-7f1678cdf000 rwxp 00017000 fd:01 67226244                   /usr/lib64/libpthread-2.17.so
7f1678cdf000-7f1678ce3000 rwxp 00000000 00:00 0
7f1678ce3000-7f1678d04000 r-xp 00000000 fd:01 67226211                   /usr/lib64/ld-2.17.so
7f1678d8d000-7f1678eef000 rwxp 00000000 00:00 0
7f1678f01000-7f1678f03000 rwxp 00000000 00:00 0
7f1678f03000-7f1678f04000 r-xp 00020000 fd:01 67226211                   /usr/lib64/ld-2.17.so
7f1678f04000-7f1678f05000 rwxp 00021000 fd:01 67226211                   /usr/lib64/ld-2.17.so
7f1678f05000-7f1678f06000 rwxp 00000000 00:00 0
7fff37f77000-7fff37f98000 rwxp 00000000 00:00 0                          [stack]
7fff37ffe000-7fff38000000 r-xp 00000000 00:00 0                          [vdso]
Received signal 6; handling as SIGHUP. (4375)00 00:00 0                  [vsyscaHANGUP signal received. (562)Aborted (core dumped)

Are there any ideas? It may be necessary to update any of the operating system  library?

Regards,
Valeriy

All Replies

Posted by Valeriy Bashkatov on 23-May-2016 06:10

I might add that it is not dependent on the bit mode of Linux (32 and 64) and does not depend on the version of the library (2.11 or 2.12, or as I have 2.17)

Posted by Matt Gilarde on 23-May-2016 06:55

I'm able to reproduce the crash in 11.5 and later versions on all platforms. This is a bug in OpenEdge. Please report it to Progress Technical Support. Updating OS libraries won't help in this case.

Posted by Valeriy Bashkatov on 23-May-2016 07:19

Thank you, Matt!

I open case #00347867.

Posted by Matt Gilarde on 23-May-2016 07:36

You can work around the bug by setting an initial title in the FORM statement which is as long or longer than the longest title you'll set with the TITLE attribute.

WITH FRAME brw1 ROW 3 WIDTH 65 TITLE COLOR bright-white FILL("x", 50).

This thread is closed