Package: gawk Version: 1:3.1.5.dfsg-4 Severity: important I got SEGABRT from gawk on amd64 with LANG is UTF-8.
First, create data file. $ LANG=C dpkg -l > dpkg-list.txt $ head dpkg-list.txt Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-=================================-===============================-====================================================== ii 915resolution 0.5.2-9 resolution modification tool for Intel graphic chipset ii a2ps-perl-ja 1.45-4 perl version of Miguel Santana's a2ps (supports KANJI) ii acpi 0.09-1 displays information on ACPI devices ii acpi-support 0.90-2 scripts for handling many ACPI events ii acpid 1.0.4-5 Utilities for using ACPI power management And, I try following commands: $ export LANG=en_US.UTF-8 $ /usr/bin/gawk '{print length($2)}' dpkg-list.txt > /dev/null *** glibc detected *** double free or corruption (fasttop): 0x000000000055cb60 *** Aborted following commands is OK (no errors): $ /usr/bin/gawk '{print $2}' dpkg-list.txt > /dev/null $ /usr/bin/gawk '{print length($1)}' dpkg-list.txt > /dev/null $ LANG=C /usr/bin/gawk '{print length($2)}' dpkg-list.txt > /dev/null I use LANG=ja_JP.UTF-8 env., segfaults too. I attached file that following command output: $ strace -f -F -o awk-trace.txt /usr/bin/gawk '{print length($2)}' dpkg-list.txt > /dev/null -- System Information: Debian Release: 4.0 APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-3-amd64 Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8) Versions of packages gawk depends on: ii libc6 2.3.6.ds1-10 GNU C Library: Shared libraries gawk recommends no packages. -- no debconf information
6028 execve("/usr/bin/gawk", ["/usr/bin/gawk", "{print length($2)}", "dpkg-list.txt"], [/* 36 vars */]) = 0 6028 uname({sys="Linux", node="mithril", ...}) = 0 6028 brk(0) = 0x55a000 6028 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 6028 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b32175ac000 6028 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 6028 open("/etc/ld.so.cache", O_RDONLY) = 3 6028 fstat(3, {st_mode=S_IFREG|0644, st_size=73003, ...}) = 0 6028 mmap(NULL, 73003, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b32175ae000 6028 close(3) = 0 6028 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 6028 open("/lib/libdl.so.2", O_RDONLY) = 3 6028 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\20\0\0"..., 640) = 640 6028 fstat(3, {st_mode=S_IFREG|0644, st_size=10392, ...}) = 0 6028 mmap(NULL, 1057000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b32176ad000 6028 mprotect(0x2b32176af000, 1048808, PROT_NONE) = 0 6028 mmap(0x2b32177ae000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x2b32177ae000 6028 close(3) = 0 6028 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 6028 open("/lib/libm.so.6", O_RDONLY) = 3 6028 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320=\0\0"..., 640) = 640 6028 fstat(3, {st_mode=S_IFREG|0644, st_size=531600, ...}) = 0 6028 mmap(NULL, 1577384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b32177b0000 6028 mprotect(0x2b3217831000, 1049000, PROT_NONE) = 0 6028 mmap(0x2b3217930000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x80000) = 0x2b3217930000 6028 close(3) = 0 6028 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 6028 open("/lib/libc.so.6", O_RDONLY) = 3 6028 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\305"..., 640) = 640 6028 lseek(3, 624, SEEK_SET) = 624 6028 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0"..., 32) = 32 6028 fstat(3, {st_mode=S_IFREG|0755, st_size=1282216, ...}) = 0 6028 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3217932000 6028 mmap(NULL, 2340808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3217933000 6028 mprotect(0x2b3217a54000, 1157064, PROT_NONE) = 0 6028 mmap(0x2b3217b53000, 98304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x120000) = 0x2b3217b53000 6028 mmap(0x2b3217b6b000, 14280, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b3217b6b000 6028 close(3) = 0 6028 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3217b6f000 6028 mprotect(0x2b3217b53000, 86016, PROT_READ) = 0 6028 arch_prctl(ARCH_SET_FS, 0x2b3217b6f6d0) = 0 6028 munmap(0x2b32175ae000, 73003) = 0 6028 brk(0) = 0x55a000 6028 brk(0x57b000) = 0x57b000 6028 open("/usr/lib/locale/locale-archive", O_RDONLY) = 3 6028 fstat(3, {st_mode=S_IFREG|0644, st_size=3545568, ...}) = 0 6028 mmap(NULL, 3545568, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3217b70000 6028 close(3) = 0 6028 rt_sigaction(SIGFPE, {0x4272a0, [FPE], SA_RESTORER|SA_RESTART, 0x2b3217962110}, {SIG_DFL}, 8) = 0 6028 rt_sigaction(SIGSEGV, {0x4272a0, [SEGV], SA_RESTORER|SA_RESTART, 0x2b3217962110}, {SIG_DFL}, 8) = 0 6028 rt_sigaction(SIGBUS, {0x4272a0, [BUS], SA_RESTORER|SA_RESTART, 0x2b3217962110}, {SIG_DFL}, 8) = 0 6028 fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 6028 fstat(1, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0 6028 fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 6028 getgroups(0, NULL) = 9 6028 getgroups(9, [0, 4, 20, 24, 25, 29, 44, 46, 1000]) = 9 6028 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff93513a00) = -1 ENOTTY (Inappropriate ioctl for device) 6028 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3 6028 fstat(3, {st_mode=S_IFREG|0644, st_size=21568, ...}) = 0 6028 mmap(NULL, 21568, PROT_READ, MAP_SHARED, 3, 0) = 0x2b3217ed2000 6028 close(3) = 0 6028 open("dpkg-list.txt", O_RDONLY) = 3 6028 fstat(3, {st_mode=S_IFREG|0644, st_size=161772, ...}) = 0 6028 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff935138c0) = -1 ENOTTY (Inappropriate ioctl for device) 6028 fstat(3, {st_mode=S_IFREG|0644, st_size=161772, ...}) = 0 6028 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 6028 read(3, "Desired=Unknown/Install/Remove/P"..., 4096) = 4096 6028 fstat(1, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0 6028 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff935134d0) = -1 ENOTTY (Inappropriate ioctl for device) 6028 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3217ed8000 6028 open("/dev/tty", O_RDWR|O_NONBLOCK|O_NOCTTY) = 4 6028 writev(4, [{"*** glibc detected *** ", 23}, {"double free or corruption (fastt"..., 35}, {": 0x", 4}, {"000000000055cb60", 16}, {" ***\n", 5}], 5) = 83 6028 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 6028 write(1, "0\n71\n", 5) = 5 6028 gettid() = 6028 6028 tgkill(6028, 6028, SIGABRT) = 0 6028 --- SIGABRT (Aborted) @ 0 (0) --- 6028 +++ killed by SIGABRT +++