Messages in this thread |  | | | Date | Wed, 2 Feb 2000 18:49:50 +0100 | | From | Patrick Mau <> | | Subject | Re: 2.3.42: Strange memory corruption |
| |
On Wed, Feb 02, 2000 at 02:41:02PM +0100, Rik van Riel wrote: > On Wed, 2 Feb 2000, Patrick Mau wrote: > > > I have a really strange memory corruption problem with > > 2.3.42. My system configuration is as follows:
[snip]
> This looks a bit like there might be a race with the > pagetable mapping or read()ing of the file. It would > explain the three `suspicious' segfaults I've seen in > the last few days...
Hi Rik, Hi linux-kernel,
this is interessting, here's a small strace from bzip2 testing a small archieve. This time it does not fail, but notice the read() calls and the anonymous mapping.
BTW, all my fileutils, textutils ... etc. are using mmap(). Would it be better to compile them without mmap() support ?
Thanks, Patrick
--- strace output --- execve("/usr/bin/bzip2", ["bzip2", "-tv", "netfilter-0.1.17.tar.bz2"], [/* 52 vars */]) = 0 brk(0) = 0x8059416 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 4 fstat(4, {st_mode=0, st_size=0, ...}) = 0 mmap(0, 6184, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40015000 close(4) = 0 open("/lib/libc.so.6", O_RDONLY) = 4 fstat(4, {st_mode=0, st_size=0, ...}) = 0 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096 mmap(0, 983228, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40017000 mprotect(0x40100000, 28860, PROT_NONE) = 0 mmap(0x40100000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xe8000) = 0x40100000 mmap(0x40104000, 12476, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40104000 close(4) = 0 mprotect(0x40017000, 954368, PROT_READ|PROT_WRITE) = 0 mprotect(0x40017000, 954368, PROT_READ|PROT_EXEC) = 0 munmap(0x40015000, 6184) = 0 personality(PER_LINUX) = 0 getpid() = 16320 brk(0) = 0x8059416 brk(0x80595b6) = 0x80595b6 brk(0x805a000) = 0x805a000 SYS_174(0x2, 0xbffff6c4, 0xbffff638, 0x8, 0x2) = 0 SYS_174(0xf, 0xbffff6bc, 0xbffff630, 0x8, 0xf) = 0 SYS_174(0xb, 0xbffff6b4, 0xbffff628, 0x8, 0xb) = 0 SYS_174(0x1, 0xbffff6ac, 0xbffff620, 0x8, 0x1) = 0 SYS_174(0x7, 0xbffff6c4, 0xbffff638, 0x8, 0x7) = 0 open("netfilter-0.1.17.tar.bz2", O_RDONLY) = 4 close(4) = 0 lstat("netfilter-0.1.17.tar.bz2", {st_mode=0, st_size=0, ...}) = 0 open("netfilter-0.1.17.tar.bz2", O_RDONLY) = 4 write(2, " netfilter-0.1.17.tar.bz2: ", 28) = 28 brk(0x805c000) = 0x805c000 brk(0x806c000) = 0x806c000 fstat(4, {st_mode=0, st_size=0, ...}) = 0 mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 read(4, "BZh91AY&SY\214t\346\275\4\373\275"..., 4096) = 4096 read(4, "\262D\311\4\321\212\r\22\211\262"..., 4096) = 4096 mmap(0, 3600384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40108000 read(4, "I\351\f\231\205\341\314f\10\274~"..., 4096) = 4096 read(4, "\357\177\"3e\202\345\10`M\232\325"..., 4096) = 4096 read(4, "c?\255\237?f\3\350>SC\254\3016\376"..., 4096) = 4096 read(4, "\301\351\276\237\341\366\373\266"..., 4096) = 4096 read(4, "\361\25\304;\265`\274\241\323\361"..., 4096) = 4096 read(4, "\343T\311\302\20\221\310\206(\22"..., 4096) = 4096 read(4, "U+|\214\3546&H:\212^L\211\0\202\212"..., 4096) = 4096 read(4, "\317\327k\20\343J\31O&E\223c[_\31"..., 4096) = 4096 read(4, "\317\212\4\343\37\1\\\350\320c9v"..., 4096) = 4096 ... ... ... read(4, "", 4096) = 0 read(4, "", 4096) = 0 read(4, "", 4096) = 0 read(4, "", 4096) = 0 read(4, "", 4096) = 0 munmap(0x40108000, 3600384) = 0 read(4, "", 4096) = 0 close(4) = 0 munmap(0x40015000, 4096) = 0 write(2, "ok\n", 3) = 3 _exit(0) = ? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
|  |