BIND TCP problem solved
Mark Tinguely
tinguely at plains.UUCP
Mon Feb 12 15:17:34 AEST 1990
Murphy was working against me again. I worked to a point of desperation, posted
a question to the net and found the solution a few hours later.
The bogus file descriptors and hash structure trashing were related,
if a resolution does a forward and queues the qstream structure on a
linked qinfo structure, and then before the forward can timeout out the TCP
connection is severed (detected by ns_main and initiates the removal of the
qstream in sqrm). Eventually, the timer associated with the forward tries
to use the now released qstream havoc will follow with the error in the write
to a now bogus (and even if it was not bogus, it is at lease a closed) socket.
(this is not too serious).
The ns_forw code also writes on the old qstream space -- overwriting some
unfortunate structure that has since allocated that space. This is a critical
write when the new structure in this space is a hashbuf structure, causing
a bus or seqmentation error on the first occurrance of the structure.
I solved the problem, here, by checking and removing all qinfo entries
that refer to the qstream being deleted in sqrm(). I will provived the patches
to those that are interested, but this problem is for TCP CONNECTIONS ONLY,
and the symptom of this problem is FREQUENT coring of the name server.
--
Mark Tinguely North Dakota State University, Fargo, ND 58105
UUCP: ...!uunet!plains!tinguely
BITNET: tinguely at plains.bitnet
INTERNET: tinguely at plains.NoDak.edu
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list