--- Begin Message ---
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 +++
--- End Message ---