#3676 Core dump under AIX 5.3 by "string compare" 2 big buffer

obsolete: 8.4.14
closed-invalid
Jeffrey Hobbs
5
2007-03-28
2007-03-26
eax128
No

I found a problem of TCL under IBM AIX 5.3, if I use some tcl code to compare 2 big files(size > 18M) , I found the tcl will core dump and report message:
"unable to realloc 36882016 bytes
IOT/Abort trap (core dumped) "

I do a test and found maybe it is a special problem of TCL on AIX. Other Unix platforms(hpux,sunos,linux) do not have this problem.

The test code is as below:

--- test.tcl--
# test "compare 2 big file(>18M) with string compare"
# step 1 create 2 big files, size > 18M
set string ""
for {set i 0} {$i < 512} {incr i} {
append string test
}

if {[file exists ./BigFile1 ]} {
file delete ./BigFile1
}

if {[file exists ./BigFile2 ]} {
file delete ./BigFile2
}

set fd [open ./BigFile1 w]
for {set i 0} {$i < 9000} {incr i} {
puts $fd $string
}
close $fd
file copy ./BigFile1 ./BigFile2

# step 2 use string compare
set fd1 [open ./BigFile1]
set fd2 [open ./BigFile2]
set s1 [read -nonewline $fd1]
set s2 [read -nonewline $fd2]
string compare $s1 $s2 ;#then tcl will core dump

All the version of tcl 8.4.12, tcl8.4.13 , tcl8.4.14 and tcl 8.5 will occur this problem on AIX 5.3

I test this problem on 2 AIX boxs, both AIX 5.3, with default installation, both of them will core dump.

If it has no relation with AIX kernel configuration setting, I think it's a bug, maybe from tcl core,maybe from C lib of AIX.

Thanks a lot
eax.wang@gmail.com

Discussion

  • Jeffrey Hobbs
    Jeffrey Hobbs
    2007-03-28

    Logged In: YES
    user_id=72656
    Originator: NO

    ulimit -d 262144

     
  • Jeffrey Hobbs
    Jeffrey Hobbs
    2007-03-28

    • status: open --> closed-invalid