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 +++

Reply via email to