Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Bug#245678: zsh: built-in rm -rf fills up the memory



> When I do a rm -rf on a big maildir directory, zsh fills up the
> memory, which makes the whole machine unresponsive (the load of
> the machine becomes very high according to "xload", and the mouse
> pointer no longer moves) and random processes be killed, before
> zsh itself dies. According to "top", the used memory by zsh was
> up to 583 MB. And nothing was actually removed.

I can reproduce the memory consumption with a 7210-file Maildir, except
that my kernel does the right thing and kills the runaway zsh.

If I abort the rm before it OOMs, zsh will continue to take up a large
amount of memory until it exits.

Here's some valgrind output from one such run.

==31822== Memcheck, a memory error detector for x86-linux.
==31822== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward.
==31822== Using valgrind-2.1.1, a program supervision framework for x86-linux.
==31822== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward.
==31822== 
==31822== My PID = 31822, parent PID = 1021.  Prog and args are:
==31822==    zsh
==31822==    -f
==31822== 
==31822== Valgrind library directory: /usr/lib/valgrind
==31822== Command line
==31822==    zsh
==31822==    -f
==31822== Startup, with flags:
==31822==    --tool=memcheck
==31822==    --logfile=/tmp/zshremove
==31822==    -v
==31822==    --leak-check=yes
==31822==    --show-reachable=yes
==31822==    --
==31822== Reading syms from /bin/zsh4 (0x8048000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/ld-2.3.2.so (0x3C000000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/ld-2.3.2.so (0xB0000000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libdl-2.3.2.so (0xB0020000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libc-2.3.2.so (0xB0023000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /usr/lib/valgrind/vgskin_memcheck.so (0xB035D000)
==31822== Reading syms from /usr/lib/valgrind/stage2 (0xB8000000)
==31822== Reading suppressions file: /usr/lib/valgrind/default.supp
==31822== REDIRECT soname:libc.so.6(__GI___errno_location) to soname:libpthread.so.0(__errno_location)
==31822== REDIRECT soname:libc.so.6(__errno_location) to soname:libpthread.so.0(__errno_location)
==31822== REDIRECT soname:libc.so.6(__GI___h_errno_location) to soname:libpthread.so.0(__h_errno_location)
==31822== REDIRECT soname:libc.so.6(__h_errno_location) to soname:libpthread.so.0(__h_errno_location)
==31822== REDIRECT soname:libc.so.6(__GI___res_state) to soname:libpthread.so.0(__res_state)
==31822== REDIRECT soname:libc.so.6(__res_state) to soname:libpthread.so.0(__res_state)
==31822== REDIRECT soname:libc.so.6(stpcpy) to *vgpreload_memcheck.so*(stpcpy)
==31822== REDIRECT soname:libc.so.6(strnlen) to *vgpreload_memcheck.so*(strnlen)
==31822== REDIRECT soname:ld-linux.so.2(stpcpy) to *vgpreload_memcheck.so*(stpcpy)
==31822== REDIRECT soname:ld-linux.so.2(strchr) to *vgpreload_memcheck.so*(strchr)
==31822== 
==31822== Reading syms from /usr/lib/valgrind/vg_inject.so (0x3C01A000)
==31822== Reading syms from /usr/lib/valgrind/vgpreload_memcheck.so (0x3C01D000)
==31822== Reading syms from /lib/libcap.so.1.10 (0x3C02E000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libdl-2.3.2.so (0x41179000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libnsl-2.3.2.so (0x3C033000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/libncurses.so.5.4 (0x3C049000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libm-2.3.2.so (0x41154000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libc-2.3.2.so (0x41019000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libnss_compat-2.3.2.so (0x3C2AE000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libnss_nis-2.3.2.so (0x3C2B7000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /lib/tls/i686/cmov/libnss_files-2.3.2.so (0x3C2C2000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==  Address 0x4FFFE0D4 is on thread 1's stack
==31822== TRANSLATE: 0x41092130 redirected to 0x3C01EC70
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x0: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1F: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3F: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7F: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== Reading syms from /usr/lib/zsh/4.1.1/zsh/zle.so (0x3C2CD000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /usr/lib/zsh/4.1.1/zsh/complete.so (0x3C2FC000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /usr/lib/zsh/4.1.1/zsh/compctl.so (0x3C31A000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== Reading syms from /usr/lib/zsh/4.1.1/zsh/files.so (0x3C329000)
==31822==    object doesn't have a symbol table
==31822==    object doesn't have any debug info
==31822== 
==31822== Invalid read of size 4
==31822==    at 0x4103003B: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7CC is 8 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== Invalid write of size 4
==31822==    at 0x4103004E: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7CC is 8 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== Invalid read of size 4
==31822==    at 0x41030053: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7E4 is 32 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== Invalid read of size 4
==31822==    at 0x4103005A: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7C4 is 0 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== discard syms at 0x3C2AE000-0x3C2B6000 in /lib/tls/i686/cmov/libnss_compat-2.3.2.so due to munmap()
==31822== discard syms at 0x3C2B7000-0x3C2C1000 in /lib/tls/i686/cmov/libnss_nis-2.3.2.so due to munmap()
==31822== discard syms at 0x3C2C2000-0x3C2CC000 in /lib/tls/i686/cmov/libnss_files-2.3.2.so due to munmap()
==31822== 
==31822== ERROR SUMMARY: 110 errors from 36 contexts (suppressed: 32 from 1)
==31822== 
==31822== 1 errors in context 1 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 2 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 3 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 4 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 5 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 6 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 7 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 8 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 9 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 10 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 11 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 12 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 13 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 14 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 15 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 16 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 17 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 18 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 19 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 20 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7F: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 21 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3F: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 22 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1F: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 23 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 24 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 1 errors in context 25 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 2 errors in context 26 of 36:
==31822== Invalid read of size 4
==31822==    at 0x4103005A: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7C4 is 0 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 2 errors in context 27 of 36:
==31822== Invalid read of size 4
==31822==    at 0x41030053: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7E4 is 32 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 2 errors in context 28 of 36:
==31822== Invalid write of size 4
==31822==    at 0x4103004E: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7CC is 8 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 2 errors in context 29 of 36:
==31822== Invalid read of size 4
==31822==    at 0x4103003B: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==  Address 0x3C0BD7CC is 8 bytes inside a block of size 60 free'd
==31822==    at 0x3C01F918: free (vg_replace_malloc.c:127)
==31822==    by 0x41030DBB: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 2 errors in context 30 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0xFFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 2 errors in context 31 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x7FFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 2 errors in context 32 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x1FFFFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 2 errors in context 33 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3FFF: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 2 errors in context 34 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x0: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 2 errors in context 35 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==    by 0x3: ???
==31822==  Address 0x4FFFE75C is on thread 1's stack
==31822== 
==31822== 65 errors in context 36 of 36:
==31822== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s)
==31822==    at 0x3C000C02: (within /lib/ld-2.3.2.so)
==31822==  Address 0x4FFFE0D4 is on thread 1's stack
--31822-- 
--31822-- supp:   32 Ugly strchr error in /lib/ld-2.3.2.so
==31822== 
==31822== IN SUMMARY: 110 errors from 36 contexts (suppressed: 32 from 1)
==31822== 
==31822== malloc/free: in use at exit: 51472 bytes in 932 blocks.
==31822== malloc/free: 3294 allocs, 2362 frees, 175556 bytes allocated.
==31822== 
==31822== searching for pointers to 932 not-freed blocks.
==31822== checked 2918772 bytes.
==31822== 
==31822== 
==31822== 6 bytes in 1 blocks are still reachable in loss record 1 of 24
==31822==    at 0x3C01FD01: realloc (vg_replace_malloc.c:162)
==31822==    by 0x3C07086F: _nc_doalloc (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0737AE: (within /lib/libncurses.so.5.4)
==31822==    by 0x3C073401: tparm (in /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 12 bytes in 2 blocks are still reachable in loss record 2 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x41091DAA: strdup (in /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 
==31822== 24 bytes in 1 blocks are still reachable in loss record 3 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x3C070AB5: _nc_home_terminfo (in /lib/libncurses.so.5.4)
==31822==    by 0x3C077A72: _nc_read_entry (in /lib/libncurses.so.5.4)
==31822==    by 0x3C071FBE: (within /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 28 bytes in 1 blocks are still reachable in loss record 4 of 24
==31822==    at 0x3C01FC03: calloc (vg_replace_malloc.c:141)
==31822==    by 0x3C07709F: (within /lib/libncurses.so.5.4)
==31822==    by 0x3C0777E4: _nc_read_file_entry (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0778A1: (within /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 36 bytes in 1 blocks are definitely lost in loss record 5 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x41104618: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 
==31822== 40 bytes in 2 blocks are still reachable in loss record 6 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x3C01FC88: realloc (vg_replace_malloc.c:154)
==31822==    by 0x3C007D08: (within /lib/ld-2.3.2.so)
==31822==    by 0x3C007E8E: _dl_lookup_symbol (in /lib/ld-2.3.2.so)
==31822== 
==31822== 
==31822== 40 bytes in 5 blocks are still reachable in loss record 7 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x4110418D: __nss_lookup_function (in /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==    by 0x3C2B0A2E: ???
==31822== 
==31822== 
==31822== 44 bytes in 1 blocks are still reachable in loss record 8 of 24
==31822==    at 0x3C01FC03: calloc (vg_replace_malloc.c:141)
==31822==    by 0x3C0770EB: (within /lib/libncurses.so.5.4)
==31822==    by 0x3C0777E4: _nc_read_file_entry (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0778A1: (within /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 76 bytes in 1 blocks are still reachable in loss record 9 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x41125906: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 
==31822== 78 bytes in 1 blocks are still reachable in loss record 10 of 24
==31822==    at 0x3C01FC03: calloc (vg_replace_malloc.c:141)
==31822==    by 0x3C077152: (within /lib/libncurses.so.5.4)
==31822==    by 0x3C0777E4: _nc_read_file_entry (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0778A1: (within /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 79 bytes in 1 blocks are still reachable in loss record 11 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x3C0708A7: _nc_doalloc (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0733B5: _nc_tparm_analyze (in /lib/libncurses.so.5.4)
==31822==    by 0x3C073631: (within /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 80 bytes in 5 blocks are still reachable in loss record 12 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x410F1D9B: tsearch (in /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 
==31822== 131 bytes in 4 blocks are still reachable in loss record 13 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x3C00913E: (within /lib/ld-2.3.2.so)
==31822==    by 0x3C004C8B: (within /lib/ld-2.3.2.so)
==31822==    by 0x3C0064A5: _dl_map_object (in /lib/ld-2.3.2.so)
==31822== 
==31822== 
==31822== 131 bytes in 4 blocks are still reachable in loss record 14 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x3C0064EB: _dl_map_object (in /lib/ld-2.3.2.so)
==31822==    by 0x4112502E: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==    by 0x3C00BF25: _dl_catch_error (in /lib/ld-2.3.2.so)
==31822== 
==31822== 
==31822== 172 bytes in 1 blocks are still reachable in loss record 15 of 24
==31822==    at 0x3C01FC03: calloc (vg_replace_malloc.c:141)
==31822==    by 0x3C072307: setupterm (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0727FE: tgetent (in /lib/libncurses.so.5.4)
==31822==    by 0x8073BD9: init_term (in /bin/zsh4)
==31822== 
==31822== 
==31822== 256 bytes in 1 blocks are still reachable in loss record 16 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x80820C6: zrealloc (in /bin/zsh4)
==31822==    by 0x80939C7: patcompile (in /bin/zsh4)
==31822==    by 0x805F32F: evalcond (in /bin/zsh4)
==31822== 
==31822== 
==31822== 272 bytes in 4 blocks are still reachable in loss record 17 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x3C00AE9A: _dl_map_object_deps (in /lib/ld-2.3.2.so)
==31822==    by 0x411250D5: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==    by 0x3C00BF25: _dl_catch_error (in /lib/ld-2.3.2.so)
==31822== 
==31822== 
==31822== 352 bytes in 4 blocks are still reachable in loss record 18 of 24
==31822==    at 0x3C01FC03: calloc (vg_replace_malloc.c:141)
==31822==    by 0x3C00D232: _dl_check_map_versions (in /lib/ld-2.3.2.so)
==31822==    by 0x411255E8: (within /lib/tls/i686/cmov/libc-2.3.2.so)
==31822==    by 0x3C00BF25: _dl_catch_error (in /lib/ld-2.3.2.so)
==31822== 
==31822== 
==31822== 352 bytes in 1 blocks are still reachable in loss record 19 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x4107AC0A: _IO_fdopen (in /lib/tls/i686/cmov/libc-2.3.2.so)
==31822== 
==31822== 
==31822== 1168 bytes in 1 blocks are still reachable in loss record 20 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x3C076FD8: (within /lib/libncurses.so.5.4)
==31822==    by 0x3C0777E4: _nc_read_file_entry (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0778A1: (within /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 1656 bytes in 1 blocks are still reachable in loss record 21 of 24
==31822==    at 0x3C01FC03: calloc (vg_replace_malloc.c:141)
==31822==    by 0x3C0771C9: (within /lib/libncurses.so.5.4)
==31822==    by 0x3C0777E4: _nc_read_file_entry (in /lib/libncurses.so.5.4)
==31822==    by 0x3C0778A1: (within /lib/libncurses.so.5.4)
==31822== 
==31822== 
==31822== 2387 bytes in 4 blocks are still reachable in loss record 22 of 24
==31822==    at 0x3C01FC03: calloc (vg_replace_malloc.c:141)
==31822==    by 0x3C008F23: (within /lib/ld-2.3.2.so)
==31822==    by 0x3C004C8B: (within /lib/ld-2.3.2.so)
==31822==    by 0x3C0064A5: _dl_map_object (in /lib/ld-2.3.2.so)
==31822== 
==31822== 
==31822== 19716 bytes in 264 blocks are still reachable in loss record 23 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x8081DBA: zshcalloc (in /bin/zsh4)
==31822==    by 0x8075721: zsh_main (in /bin/zsh4)
==31822==    by 0x805210A: main (in /bin/zsh4)
==31822== 
==31822== 
==31822== 24336 bytes in 621 blocks are still reachable in loss record 24 of 24
==31822==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==31822==    by 0x8081C95: zalloc (in /bin/zsh4)
==31822==    by 0x809A725: ztrdup (in /bin/zsh4)
==31822==    by 0x8073387: parseargs (in /bin/zsh4)
==31822== 
==31822== LEAK SUMMARY:
==31822==    definitely lost: 36 bytes in 1 blocks.
==31822==    possibly lost:   0 bytes in 0 blocks.
==31822==    still reachable: 51436 bytes in 931 blocks.
==31822==         suppressed: 0 bytes in 0 blocks.
--31822--     TT/TC: 0 tc sectors discarded.
--31822--            8091 chainings, 0 unchainings.
--31822-- translate: new     11409 (178624 -> 2283438; ratio 127:10)
--31822--            discard 180 (2199 -> 30012; ratio 136:10).
--31822--  dispatch: 13550000 jumps (bb entries), of which 201341 (1%) were unchained.
--31822--            1497/21775 major/minor sched events.  12377 tt_fast misses.
--31822-- reg-alloc: 1808 t-req-spill, 417567+11458 orig+spill uis, 56546 total-reg-r.
--31822--    sanity: 1419 cheap, 57 expensive checks.
--31822--    ccalls: 39857 C calls, 56% saves+restores avoided (132048 bytes)
--31822--            54348 args, avg 0.86 setup instrs each (14802 bytes)
--31822--            0% clear the stack (119064 bytes)
--31822--            15881 retvals, 31% of reg-reg movs avoided (9546 bytes)



Messages sorted by: Reverse Date, Date, Thread, Author