Makedefs: added -g to CFLAGS
make iconx
cd tests/graphics
../../bin/icont gpxtest
gdb ../../src/runtime/iconx
run gpxtest
bt
#4 0xb7ab833e in munmap_chunk (p=<value optimized out>) at malloc.c:3541
#5 0x08087f92 in ZWAttrib (r_nargs=1, r_args=0xb35de300) at fwindow.r:2498
#6 0x08094fb4 in interp_0 (fsig=5, cargp=0xb35de298) at interp.r:1223
#7 0x080ac093 in Obang (r_args=0xb35de298) at oref.r:97
#8 0x080945b5 in interp_0 (fsig=0, cargp=0x0) at interp.r:257
#9 0x0808fb0f in main (argc=2, argv=0xbffff294) at imain.r:552
fwindow.r:2498 if (p != answer) free(p);
munmap_chunk(): invalid pointer: 0x08112fe9 ***
cvevans
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
replacing the free(p) with runerr(0) gives: Run-time error 0: File gpxtest.icn; Line 196
main(list_1 = [])
cell(procedure attribs) from line 111 in gpxtest.icn
attribs() from line 148 in gpxtest.icn
WAttrib("pattern") from line 196 in gpxtest.icn
cvevans
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
*** glibc detected *** ../../bin/iconx: munmap_chunk(): invalid pointer: 0x081167b0 ***
======= Backtrace: =========
/lib/libc.so.6[0xb7652845]
/lib/libc.so.6[0xb7653949]
../../bin/iconx(ZWAttrib+0x8d6)[0x8088c79]
../../bin/iconx(interp_0+0x1a38)[0x8096caa]
../../bin/iconx(Obang+0x13e6)[0x80ae280]
../../bin/iconx(interp_0+0xe0d)[0x809607f]
../../bin/iconx(main+0x5aa)[0x80913c0]
/lib/libc.so.6(__libc_start_main+0xe5)[0xb75fe455]
../../bin/iconx[0x805f9f1]
======= Memory map: ========
08048000-08119000 r-xp 00000000 fd:04 38962 /icn/cvs/unicon/bin/iconx
08119000-08124000 rwxp 000d0000 fd:04 38962 /icn/cvs/unicon/bin/iconx
08124000-0817c000 rwxp 08124000 00:00 0 [heap]
b6254000-b625c000 r-xp 00000000 00:0f 1498 /usr/lib/libXrender.so.1.3.0
b625c000-b625d000 rwxp 00007000 00:0f 1498 /usr/lib/libXrender.so.1.3.0
b625d000-b6265000 r-xp 00000000 00:0f 1506 /usr/lib/libXcursor.so.1.0.2
b6265000-b6266000 rwxp 00007000 00:0f 1506 /usr/lib/libXcursor.so.1.0.2
b6266000-b72a2000 rwxp b6266000 00:00 0
b72a2000-b72a4000 r-xp 00000000 00:0f 4483 /lib/libx86.so.1
b72a4000-b72a5000 rwxp 00001000 00:0f 4483 /lib/libx86.so.1
b72a5000-b72ac000 r-xp 00000000 00:0f 1145 /lib/librt-2.7.so
b72ac000-b72ae000 rwxp 00006000 00:0f 1145 /lib/librt-2.7.so
b72ae000-b72b2000 r-xp 00000000 00:0f 1534 /usr/lib/libXdmcp.so.6.0.0
b72b2000-b72b3000 rwxp 00003000 00:0f 1534 /usr/lib/libXdmcp.so.6.0.0
b72b3000-b72b5000 r-xp 00000000 00:0f 1532 /usr/lib/libXau.so.6.0.0
b72b5000-b72b6000 rwxp 00001000 00:0f 1532 /usr/lib/libXau.so.6.0.0
b72b6000-b72b7000 rwxp b72b6000 00:00 0
b72b7000-b7308000 r-xp 00000000 00:0f 4449 /usr/lib/libvga.so.1.4.3
b7308000-b730f000 rwxp 00050000 00:0f 4449 /usr/lib/libvga.so.1.4.3
b730f000-b7318000 rwxp b730f000 00:00 0
b7318000-b732b000 r-xp 00000000 00:0f 140745 /usr/lib/libdirect-1.2.so.0.8.0
b732b000-b732c000 rwxp 00013000 00:0f 140745 /usr/lib/libdirect-1.2.so.0.8.0
b732c000-b7334000 r-xp 00000000 00:0f 140744 /usr/lib/libfusion-1.2.so.0.8.0
b7334000-b7335000 rwxp 00007000 00:0f 140744 /usr/lib/libfusion-1.2.so.0.8.0
b7335000-b73a7000 r-xp 00000000 00:0f 140742 /usr/lib/libdirectfb-1.2.so.0.8.0
b73a7000-b73a9000 rwxp 00071000 00:0f 140742 /usr/lib/libdirectfb-1.2.so.0.8.0
b73a9000-b73aa000 rwxp b73a9000 00:00 0
b73aa000-b746e000 r-xp 00000000 00:0f 1140 /usr/lib/libasound.so.2.0.0
b746e000-b7473000 rwxp 000c3000 00:0f 1140 /usr/lib/libasound.so.2.0.0
b7473000-b7474000 rwxp b7473000 00:00 0
b7474000-b747b000 r-xp 00000000 00:0f 1816 /usr/lib/libdrm.so.2.3.1
b747b000-b747c000 rwxp 00006000 00:0f 1816 /usr/lib/libdrm.so.2.3.1
b747c000-b7490000 r-xp 00000000 00:0f 1142 /lib/libpthread-2.7.so
b7490000-b7492000 rwxp 00013000 00:0f 1142 /lib/libpthread-2.7.so
b7492000-b7494000 rwxp b7492000 00:00 0
b7494000-b7498000 r-xp 00000000 00:0f 1492 /usr/lib/libXfixes.so.3.1.0
b7498000-b7499000 rwxp 00003000 00:0f 1492 /usr/lib/libXfixes.so.3.1.0
b7499000-b749b000 r-xp 00000000 00:0f 1490 /usr/lib/libXdamage.so.1.1.0
b749b000-b749c000 rwxp 00001000 00:0f 1490 /usr/lib/libXdamage.so.1.1.0
b749c000-b74a0000 r-xp 00000000 00:0f 2586 /usr/lib/libXxf86vm.so.1.0.0
b74a0000-b74a1000 rwxp 00003000 00:0f 2586 /usr/lib/libXxf86vm.so.1.0.0
b74a1000-b74a2000 rwxp b74a1000 00:00 0
b74a2000-b74af000 r-xp 00000000 00:0f 1496 /usr/lib/libXext.so.6.4.0
b74af000-b74b0000 rwxp 0000c000 00:0f 1496 /usr/lib/libXext.so.6.4.0
b74b0000-b74da000 r-xp 00000000 00:0f 138318 /lib/libgcc_s.so.1
b74da000-b74db000 rwxp 00029000 00:0f 138318 /lib/libgcc_s.so.1
b74db000-b75c1000 r-xp 00000000 00:0f 138322 /usr/lib/libstdc++.so.6.0.13
b75c1000-b75c5000 r-xp 000e6000 00:0f 138322 /usr/lib/libstdc++.so.6.0.13
b75c5000-b75c6000 rwxp 000ea000 00:0f 138322 /usr/lib/libstdc++.so.Aborted
Makedefs: added -g to CFLAGS
make iconx
cd tests/graphics
../../bin/icont gpxtest
gdb ../../src/runtime/iconx
run gpxtest
bt
#4 0xb7ab833e in munmap_chunk (p=<value optimized out>) at malloc.c:3541
#5 0x08087f92 in ZWAttrib (r_nargs=1, r_args=0xb35de300) at fwindow.r:2498
#6 0x08094fb4 in interp_0 (fsig=5, cargp=0xb35de298) at interp.r:1223
#7 0x080ac093 in Obang (r_args=0xb35de298) at oref.r:97
#8 0x080945b5 in interp_0 (fsig=0, cargp=0x0) at interp.r:257
#9 0x0808fb0f in main (argc=2, argv=0xbffff294) at imain.r:552
fwindow.r:2498 if (p != answer) free(p);
munmap_chunk(): invalid pointer: 0x08112fe9 ***
cvevans
replacing the free(p) with runerr(0) gives: Run-time error 0: File gpxtest.icn; Line 196
main(list_1 = [])
cell(procedure attribs) from line 111 in gpxtest.icn
attribs() from line 148 in gpxtest.icn
WAttrib("pattern") from line 196 in gpxtest.icn
cvevans
removing the
free(p)
changes the crash into a memory leak.
gpxtest now works.
(fixing the memory leak looks to need dozens if not hundreds of changes)
Fixed; Thanks!
Please close this bug.