Hi again,
i'd like to provide additional information. described behavior can be
reproduced on multiple different machines. i tried it on following
setups:
2.4.27-2-386 [debian kernel],
2.6.11 [custom build kernel],
2.4.27 [debian kernel],
2.6.11.9 [custom build]
all computers have file 4.12-1 installed.
it was tested on computers with Xeon, P4, Celerons, AMD Athlon CPUs.
i attach whole log from strace.
--
regards,
Pawel Kudzia / .PaKud / http://pqd.one.pl
execve("/usr/bin/file", ["file", "test.txt"], [/* 16 vars */]) = 0
uname({sys="Linux", node="p2back1", ...}) = 0
brk(0) = 0x804b000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7fe9000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26950, ...}) = 0
old_mmap(NULL, 26950, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fe2000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/libmagic.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340 \0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=52452, ...}) = 0
old_mmap(NULL, 51420, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7fd5000
old_mmap(0xb7fe1000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0xc000) = 0xb7fe1000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/libz.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\25"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=72860, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7fd4000
old_mmap(NULL, 75816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7fc1000
old_mmap(0xb7fd3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x11000) = 0xb7fd3000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`Z\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1254468, ...}) = 0
old_mmap(NULL, 1264780, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7e8c000
old_mmap(0xb7fb6000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x129000) = 0xb7fb6000
old_mmap(0xb7fbf000, 7308, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fbf000
close(3) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fd4b00, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}) = 0
munmap(0xb7fe2000, 26950) = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=290576, ...}) = 0
mmap2(NULL, 290576, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e45000
close(3) = 0
brk(0) = 0x804b000
brk(0x806c000) = 0x806c000
brk(0) = 0x806c000
stat64("/root/.magic", 0xbffff120) = -1 ENOENT (No such file or directory)
open("/etc/magic.mgc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or
directory)
open("/etc/magic", O_RDONLY|O_LARGEFILE) = 3
mmap2(NULL, 528384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7dc4000
fstat64(3, {st_mode=S_IFREG|0644, st_size=111, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7da4000
read(3, "# Magic local data for file(1) c"..., 131072) = 111
read(3, "", 131072) = 0
close(3) = 0
munmap(0xb7da4000, 131072) = 0
munmap(0xb7dc4000, 528384) = 0
open("/usr/share/misc/file/magic.mgc", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=810880, ...}) = 0
mmap2(NULL, 810880, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0xb7d7f000
close(3) = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=45278, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7d5f000
read(3, "# GNU libc iconv configuration.\n"..., 131072) = 45278
read(3, "", 131072) = 0
close(3) = 0
munmap(0xb7d5f000, 131072) = 0
open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\6\0\000"..., 512) =
512
fstat64(3, {st_mode=S_IFREG|0644, st_size=5920, ...}) = 0
old_mmap(NULL, 8860, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7d7c000
old_mmap(0xb7d7e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1000) = 0xb7d7e000
close(3) = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7d7b000
lstat64("test.txt", {st_mode=S_IFREG|0644, st_size=68, ...}) = 0
open("test.txt", O_RDONLY|O_LARGEFILE) = 3
read(3, "I am interested in what he think"..., 65536) = 68
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++