i386/127095: Csup truncates files using RELENG_&

Thomas Laus lausts at acm.org
Thu Sep 4 19:40:07 UTC 2008


>Number:         127095
>Category:       i386
>Synopsis:       Csup truncates files using RELENG_&
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 04 19:40:06 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Laus
>Release:        RELENG_7
>Organization:
>Environment:
FreeBSD mail.laus.org 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #2: Tue Sep  2 20:02:09 EDT 2008     lausts at mail.laus.org:/usr/obj/usr/src/sys/MAIL  i386
>Description:
I have been tracking STABLE for about the last 5 years with only a few
build failures due to an update in the middle of a commit.  After
migrating to the RELENG_7 branch, I was never able to successfully build
after any csup updates.  I noticed that parts of edited files were
'missing'.  No syslog messages were observed.  After deleting the
truncated file and running csup again, the buildworld was mostly
successful.  Occasionaly I would have another truncated file, requiring
deletion and running csup again.  I remembered someting about 'write
cache enable' sysctl default getting changed at the start of the
RELENG_5 branch.  After turning off the write cache, I had no further
problems with building world after a csup of the source tree.  It has
been 4 weeks without any issues.  I do a weekly csup and buildworld.

My hard disk is a IBM Deskstar Model IC35L040AVVA07.

DMESG shows:

ad0: 39266MB <IC35L040AVVA07 0 VA2OA50K> at ata0-master UDMA100

I have been using this drive for several years and don't remember seeing this
truncation issue until I went to the RELENG_7 branch.  It is strange that
csup never detects that the file has been damaged in this way, requiring a download of the complete file from the CVS Server. The sysctl variable 'hw.ata.wc="0" in /boot/loader.conf cured my
problem.
>How-To-Repeat:
Csup with the sysctl variable hw.ata.wc set to 1
>Fix:
Csup with the sysctl variable hw.ata.wc set to 0

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-i386 mailing list