Subject: | free corruption in IXP.xs in xls() function |
Hi GomoR
Testing the ls.pl provoke a free corruption in xls() function of IXP.xs
with this following scenari:
% export WMII_ADDRESS="unix\!/tmp/ns.$USER.${DISPLAY%.0}/wmii"
% perl create-tag.pl
Count: 5
% perl ls.pl /
rbar/
lbar/
client/
tag/
ctl
colrules
event
keys
tagrules
% perl read-bar.pl
| 0.05 0.21 0.26 | Tue Dec 16 16:37:21 CET 2008
% perl write-bar.pl
Count: 4
% perl remove-tag.pl
Count: 1
% perl ls.pl /rbar/status
I paste the traceback :
*** glibc detected *** perl: double free or corruption (out): 0xb7f3e1a0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7e5da85]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7e614f0]
/usr/lib/perl5/auto/Lib/IXP/IXP.so(XS_Lib__IXP_xls+0x250)[0xb7c77aa0]
perl(Perl_pp_entersub+0x313)[0x80c22d3]
perl(Perl_runops_standard+0x1b)[0x80c0cab]
perl(perl_run+0x2db)[0x806727b]
perl(main+0x112)[0x8063792]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7e08450]
perl[0x8063611]
======= Memory map: ========
08048000-0814d000 r-xp 00000000 08:02 877319 /usr/bin/perl
0814d000-08151000 rw-p 00104000 08:02 877319 /usr/bin/perl
08151000-081f8000 rw-p 08151000 00:00 0 [heap]
b7b00000-b7b21000 rw-p b7b00000 00:00 0
b7b21000-b7c00000 ---p b7b21000 00:00 0
b7c52000-b7c5c000 r-xp 00000000 08:02 122901 /lib/libgcc_s.so.1
b7c5c000-b7c5d000 rw-p 0000a000 08:02 122901 /lib/libgcc_s.so.1
b7c70000-b7c7d000 r-xp 00000000 08:02 298782
/usr/lib/perl5/auto/Lib/IXP/IXP.so
b7c7d000-b7c7e000 rw-p 0000c000 08:02 298782
/usr/lib/perl5/auto/Lib/IXP/IXP.so
b7c7e000-b7c9f000 rw-p b7c7e000 00:00 0
b7c9f000-b7cde000 r--p 00000000 08:02 894147
/usr/lib/locale/en_US.utf8/LC_CTYPE
b7cde000-b7dbf000 r--p 00000000 08:02 894146
/usr/lib/locale/en_US.utf8/LC_COLLATE
b7dbf000-b7dc0000 rw-p b7dbf000 00:00 0
b7dc0000-b7dc9000 r-xp 00000000 08:02 140266
/lib/tls/i686/cmov/libcrypt-2.7.so
b7dc9000-b7dcb000 rw-p 00008000 08:02 140266
/lib/tls/i686/cmov/libcrypt-2.7.so
b7dcb000-b7df2000 rw-p b7dcb000 00:00 0
b7df2000-b7f3b000 r-xp 00000000 08:02 140264
/lib/tls/i686/cmov/libc-2.7.so
b7f3b000-b7f3c000 r--p 00149000 08:02 140264
/lib/tls/i686/cmov/libc-2.7.so
b7f3c000-b7f3e000 rw-p 0014a000 08:02 140264
/lib/tls/i686/cmov/libc-2.7.so
b7f3e000-b7f41000 rw-p b7f3e000 00:00 0
b7f41000-b7f55000 r-xp 00000000 08:02 140278
/lib/tls/i686/cmov/libpthread-2.7.so
b7f55000-b7f57000 rw-p 00013000 08:02 140278
/lib/tls/i686/cmov/libpthread-2.7.so
b7f57000-b7f5a000 rw-p b7f57000 00:00 0
b7f5a000-b7f7d000 r-xp 00000000 08:02 140268
/lib/tls/i686/cmov/libm-2.7.so
b7f7d000-b7f7f000 rw-p 00023000 08:02 140268
/lib/tls/i686/cmov/libm-2.7.so
b7f7f000-b7f81000 r-xp 00000000 08:02 140267
/lib/tls/i686/cmov/libdl-2.7.so
b7f81000-b7f83000 rw-p 00001000 08:02 140267
/lib/tls/i686/cmov/libdl-2.7.so
b7f85000-b7f86000 r--p 00000000 08:02 894152
/usr/lib/locale/en_US.utf8/LC_NUMERIC
b7f86000-b7f87000 r--p 00000000 08:02 894155
/usr/lib/locale/en_US.utf8/LC_TIME
b7f87000-b7f88000 r--p 00000000 08:02 894150
/usr/lib/locale/en_US.utf8/LC_MONETARY
b7f88000-b7f89000 r--p 00000000 08:02 901148
/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
b7f89000-b7f8a000 r--p 00000000 08:02 894153
/usr/lib/locale/en_US.utf8/LC_PAPER
b7f8a000-b7f8b000 r--p 00000000 08:02 894151
/usr/lib/locale/en_US.utf8/LC_NAME
b7f8b000-b7f8c000 r--p 00000000 08:02 894145
/usr/lib/locale/en_US.utf8/LC_ADDRESS
b7f8c000-b7f8d000 r--p 00000000 08:02 894154
/usr/lib/locale/en_US.utf8/LC_TELEPHONE
b7f8d000-b7f8e000 r--p 00000000 08:02 894149
/usr/lib/locale/en_US.utf8/LC_MEASUREMENT
b7f8e000-b7f95000 r--s 00000000 08:02 886350
/usr/lib/gconv/gconv-modules.cache
b7f95000-b7f96000 r--p 00000000 08:02 894148
/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
b7f96000-b7f98000 rw-p b7f96000 00:00 0
b7f98000-b7f99000 r-xp b7f98000 00:00 0 [vdso]
b7f99000-b7fb3000 r-xp 00000000 08:02 122892 /lib/ld-2.7.so
b7fb3000-b7fb5000 rw-p 00019000 08:02 122892 /lib/ld-2.7.so
bfdce000-bfde3000 rw-p bffeb000 00:00 0 [stack]
zsh: abort perl ls.pl /rbar/status
Test are done on Ubuntu 8.10 with wmii 3.6 and libixp 0.4-1
Regards
sbz