SOLARIS_2.6: request_oplock_break (PR#10919)

Douglas K. Fischer skeet at Bridgewater.EDU
Wed Nov 4 22:42:27 GMT 1998

On Tue, 3 Nov 1998, Jeremy Allison wrote:

> > Basically what it looks like to me is that an smbd process is spawning a
> > child which goes defunct for some reason I have yet to determine and the
> > smbd process hangs out there waiting for the child. Of course the child is
> > never going to answer being defunct, so the parent smbd process sticks
> > around and keeps its oplocks.
> > 
> If it's hanging - then it's doing so within the talktochild()
> call.
> Can you do a truss on the parent when it's in this
> state to see what system call(s) it's doing ?
> Trying this with p10 would also help track this
> one.

Okay, we're running p10 on this system now (some of the password change
problems were due to the chat script, but some still exist). I happened on
a request_oplock_break just a few minutes ago. The offending process was
the parent of a password change whose child went defunct (the password
change attempt simply froze up - never returned any response to the PC).
Upon logging in again, the user received the following oplock errors:

1998/11/04 17:34:03 request_oplock_break: no response received to oplock
break request to pid 705 on port 64662 for dev = 1980040, inode = 2325

PID 705 is an smbd process with a defunct child (pid 732). Trussing 705
produces the following:

705:    waitid(P_PID, 732, 0x08046F38, WEXITED|WTRAPPED) (sleeping...)

The part of the password change responsible for syncronizing passwords
worked fine (debugging in this program showed that all went properly and
it exited cleanly). The smbpasswd entry however was never updated.

Hope this helps.


  Douglas K. Fischer    DFischer at Bridgewater.EDU      (540) 828 - 5343
  Network Systems Engineer   C. E. Shull Information Technology Center
  College Box 36        Bridgewater College      Bridgewater, VA 22812

More information about the samba mailing list