printing, locking, etc in 2.2.0

Jeremy Allison jeremy at
Mon May 21 19:02:44 GMT 2001

Neil Hoggarth wrote:

> Did you ever get around to this review? I'm seeing a "phantom" lock,
> owned by an smbd process that bailed out several hours ago, and it
> doesn't appear that the remaining smbds are going going to break it or
> clear it up of its own accord.

Yes, I have now reviewed the code, and it shouldn't be
possible for a phantom lock to be left in the locking tdb.

On exit for any non-exceptional reason (non core-dump) then
smbd should be removing all locks from the locking tdb.

If it isn't then we have a logic bug we haven't yet tracked down.

> I'm running 2.2 CVS, checked out yesterday afternoon, on Solaris 2.6.
> The smbd process that bailed out with the following log messages:
> [2001/05/21 11:44:28, 0, pid=29514] lib/util_sock.c:write_socket_data(542)
>   write_socket_data: write failure. Error = Broken pipe
> [2001/05/21 11:44:28, 0, pid=29514] util_sock.c:write_socket(566)
>   Error writing 989 bytes to socket 4: ERRNO = Broken pipe
> [2001/05/21 11:44:28, 0, pid=29514] util_sock.c:send_smb(753)
>   Error writing 989 bytes to client. -1. Exiting
> It looks like the client went away unexpectedly, and smbd decided to
> quit?
> Is there any way to manually delete an entry from the locking database?

The locking db is swept and any non-existing pid entries
removed on smbd startup. So doing a smbclient connect to
localhost should do it.

Can you give me more details so I can try and track this
logic bug down ?



Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.

More information about the samba-technical mailing list