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