Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Nov 2006 03:09:36 +0100
From:      Pawel Worach <pawel.worach@gmail.com>
To:        Andre Oppermann <andre@FreeBSD.org>
Cc:        current@freebsd.org
Subject:   sendfile data corruption (was: cvs commit: src/sys/kern uipc_syscalls.c src/sys/sys libkern.h socket.h)
Message-ID:  <455530E0.5090000@gmail.com>
In-Reply-To: <200611021653.kA2GrRWx008044@repoman.freebsd.org>
References:  <200611021653.kA2GrRWx008044@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Andre Oppermann wrote:
> andre       2006-11-02 16:53:26 UTC
> 
>   FreeBSD src repository
> 
...
>   Rewrite kern_sendfile() to work in two loops, the inner which turns as many
...
>   
>   Revision  Changes    Path
>   1.240     +280 -242  src/sys/kern/uipc_syscalls.c
>   1.55      +2 -0      src/sys/sys/libkern.h
>   1.91      +2 -1      src/sys/sys/socket.h

Hi Andre,

I'm seeing some strange data corruption with this change.
Using apache 2.0.59 from ports, hardware is SMP i386.

0>root@cookie /usr/local/www/data# md5 sh
MD5 (sh) = e090ae9fc697b6ec84165af920034dc4
0>root@cookie /usr/local/www/data# unsetenv http_proxy
0>root@cookie /usr/local/www/data# fetch -o /tmp/sh http://127.0.0.1/sh
/tmp/sh                                       100% of  109 kB 6516 kBps
0>root@cookie /usr/local/www/data# md5 /tmp/sh
MD5 (/tmp/sh) = 1b6b9786ce7aa74b7ecbc7ee82c230dd

It seems to be consistent...
0>root@zero /usr/local/www/data# fetch -o /tmp/sh2 http://127.0.0.1/sh
/tmp/sh2                                      100% of  109 kB   41 MBps
0>root@zero /usr/local/www/data# md5 /tmp/sh2
MD5 (/tmp/sh2) = 1b6b9786ce7aa74b7ecbc7ee82c230dd

Checking with hd(1) the changed data always seems to start at offset 
0x0000e000.

cvs up -D '2006/11/02 17:00:00' OK
    Repository revision: 1.239 
/export/ctm/cvs/src/sys/kern/uipc_syscalls.c,v

cvs up -D '2006/11/02 18:00:00' BROKEN
    Repository revision: 1.240 
/export/ctm/cvs/src/sys/kern/uipc_syscalls.c,v

Files changed with update:
P geom/journal/g_journal.c
P kern/uipc_syscalls.c
P sys/libkern.h
P sys/socket.h

Any other information I can provide?

Regards
-- 
Pawel



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?455530E0.5090000>