From jc@irbs.com  Sat Apr 27 08:46:23 1996
Received: from irbs.irbs.com (irbs.com [199.182.75.129])
          by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id IAA21786
          for <FreeBSD-gnats-submit@freebsd.org>; Sat, 27 Apr 1996 08:46:20 -0700 (PDT)
Received: (from jc@localhost) by irbs.irbs.com (8.7.5/8.6.6) id LAA24735; Sat, 27 Apr 1996 11:45:48 -0400 (EDT)
Message-Id: <199604271545.LAA24735@irbs.irbs.com>
Date: Sat, 27 Apr 1996 11:45:48 -0400 (EDT)
From: John Capo <jc@irbs.com>
Reply-To: jc@irbs.com
To: FreeBSD-gnats-submit@freebsd.org
Subject: NFS Client hangs in vm_object_terminate() - objtrm
X-Send-Pr-Version: 3.2

>Number:         1159
>Category:       kern
>Synopsis:       NFS Client hangs in vm_object_terminate() - objtrm
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    dyson
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Apr 27 08:50:01 PDT 1996
>Closed-Date:    Sat Jun 8 13:20:15 PDT 1996
>Last-Modified:  Sat Jun  8 13:21:14 PDT 1996
>Originator:     John Capo
>Release:        FreeBSD 2.1-STABLE i386
>Organization:
IRBS Engineering
>Environment:

FreeBSD 2.1-stable client and server both built with NFS_ASYNC from
sup around 4/18/96.

>Description:

Client hangs while building TeX on an NFS mounted /usr/ports tree:
0 19496     1  46 -18  0   172   12 objtrm D     p1    0:02.91 ../web2c/splitup mf

Restarting make hangs with this status:
0 19609     1  41 -18  0   164   12 vodead D     p1    0:00.07 ../web2c/splitup mf

>How-To-Repeat:

mount server:/usr/ports /usr/ports or somesuch
cd /usr/ports/print/tex
make

Hangs at:

cd mf; make   SHELL='/bin/sh' CC='gcc' CFLAGS='-g '      RANLIB='ranlib' LN='ln -s' DEFS=''                           CCLD='gcc' LDFLAGS='-g  ' LIBS=''                          x_extra_libs='' x_include_flags='-I/usr/X11R6/include'  x_lib_flags='-L/usr/X11R6/lib'  triptrap
/bin/sh ./../mf/convert

>Fix:
	


>Release-Note:
>Audit-Trail:

From: John Capo <jc@irbs.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc: FreeBSD-stable@freebsd.org
Subject: Re: kern/1159: NFS Client hangs in vm_object_terminate() - objtrm
Date: Sat, 27 Apr 1996 19:25:46 -0400 (EDT)

 nfs/nfs_bio.c: 241
                 bp = nfs_getcacheblk(vp, lbn, bufsize, p);
                 if (!bp)
                         return (EINTR);
                 if ((bp->b_flags & B_CACHE) == 0) {
                         bp->b_flags |= B_READ;
                         not_readin = 0;
                         vfs_busy_pages(bp, 0);
                         error = nfs_doio(bp, cred, p);
                         if (error) {
                             brelse(bp);
                             return (error);
                         }
                 }
 
 The buffer returned from nfs_getcacheblk() has B_DONE set in b_flags.
 nfs_doio() goes off and does its thing but biodone fails with
 "biodone: buffer already done".
 
 bread()/brwrite() always clear (B_DONE | B_ERROR | B_INVAL).  They
 both obtain a buffer from getblk() as does nfs_getcacheblk().
 
 Should nfs_doio() also clear (B_DONE | B_ERROR | B_INVAL)? 
 
 
 John Capo                                                   jc@irbs.com
 IRBS Engineering                       FreeBSD Servers and Workstations
 (954) 792-9551                 Unix/Internet Consulting - ISP Solutions
 
 John Capo writes:
 > 
 > >Number:         1159
 > >Category:       kern
 > >Synopsis:       NFS Client hangs in vm_object_terminate() - objtrm
 > >Confidential:   no
 > >Severity:       critical
 > >Priority:       medium
 > >Responsible:    freebsd-bugs
 > >State:          open
 > >Class:          sw-bug
 > >Submitter-Id:   current-users
 > >Arrival-Date:   Sat Apr 27 08:50:01 PDT 1996
 > >Last-Modified:
 > >Originator:     John Capo
 > >Organization:
 > IRBS Engineering
 > >Release:        FreeBSD 2.1-STABLE i386
 > >Environment:
 > 
 > FreeBSD 2.1-stable client and server both built with NFS_ASYNC from
 > sup around 4/18/96.
 > 
 > >Description:
 > 
 > Client hangs while building TeX on an NFS mounted /usr/ports tree:
 > 0 19496     1  46 -18  0   172   12 objtrm D     p1    0:02.91 ../web2c/splitup mf
 > 
 > Restarting make hangs with this status:
 > 0 19609     1  41 -18  0   164   12 vodead D     p1    0:00.07 ../web2c/splitup mf
 > 
 > >How-To-Repeat:
 > 
 > mount server:/usr/ports /usr/ports or somesuch
 > cd /usr/ports/print/tex
 > make
 > 
 > Hangs at:
 > 
 > cd mf; make   SHELL='/bin/sh' CC='gcc' CFLAGS='-g '      RANLIB='ranlib' LN='ln -s' DEFS=''                           CCLD='gcc' LDFLAGS='-g  ' LIBS=''                          x_extra_libs='' x_include_flags='-I/usr/X11R6/include'  x_lib_flags='-L/usr /X11R6/lib'  triptrap
 > /bin/sh ./../mf/convert
 > 
 > >Fix:
 > 	
 > 
 > 
 > >Audit-Trail:
 > >Unformatted:
 > 
Responsible-Changed-From-To: freebsd-bugs->dyson 
Responsible-Changed-By: jkh 
Responsible-Changed-When: Sat Apr 27 16:37:51 PDT 1996 
Responsible-Changed-Why:  
This is in John's area.. :) 
State-Changed-From-To: open->closed 
State-Changed-By: pst 
State-Changed-When: Sat Jun 8 13:20:15 PDT 1996 
State-Changed-Why:  
Fixed by recent commit to nfs_bio.c in -current, not yet fixed in -stable 
>Unformatted:
