Re: 1.3.66: TCP sockets stuck in CLOSE

Thomas =?ISO-8859-1?Q?K=F6nig?= (Thomas.Koenig@ciw.uni-karlsruhe.de)
Sun, 18 Feb 1996 20:22:08 +0100 (MET)


I wrote:
>
>1.3.66 has a few sockets stuck in CLOSE after mail deliveries:
>
>tcp 1 54 129.13.110.66:25 18.72.1.2:4168 CLOSE root
>tcp 1 54 129.13.110.66:25 18.72.1.2:4464 CLOSE root

Looking at one of these sockets with gdb, I got:

(gdb) p/x (*tcp_prot.sock_array[25])
$1 = {opt = 0x0, wmem_alloc = 0x4a8, rmem_alloc = 0xdc, allocation = 0x3,
write_seq = 0xdd5cb981, sent_seq = 0xdd5cb981, acked_seq = 0x36061408,
copied_seq = 0x36061407, rcv_ack_seq = 0xdd5cb94b, window_seq = 0xdd5cc94b,
fin_seq = 0x36061408, urg_seq = 0x0, urg_data = 0x0, users = 0x0,
dead = 0x1, urginline = 0x0, intr = 0x0, blog = 0x0, done = 0x0,
reuse = 0x1, keepopen = 0x1, linger = 0x0, delay_acks = 0x1, destroy = 0x0,
ack_timed = 0x0, no_check = 0x0, zapped = 0x1, broadcast = 0x0,
nonagle = 0x0, bsdism = 0x0, lingertime = 0x0, proc = 0x0, next = 0xfddc00,
prev = 0x0, pair = 0x0, send_head = 0xf73b40, send_tail = 0x4efc48,
back_log = {next = 0x8a0a68, prev = 0x8a0a68, qlen = 0x0}, partial = 0x0,
partial_timer = {next = 0x0, prev = 0x0, expires = 0x4ffddb,
data = 0x8a0a04, function = 0x149800}, retransmits = 0x2, write_queue = {
next = 0x8a0a90, prev = 0x8a0a90, qlen = 0x0}, receive_queue = {
next = 0x4ef260, prev = 0x4ef260, qlen = 0x1}, prot = 0x1bce40,
sleep = 0xcbf4f4, daddr = 0x1c004512, saddr = 0x426e0d81,
rcv_saddr = 0x426e0d81, max_unacked = 0x77ff, window = 0x7321,
lastwin_seq = 0x36061408, ato = 0x0, lrcvtime = 0x4ffd8f, bytes_rcv = 0x0,
mtu = 0x218, mss = 0x218, user_mss = 0x0, max_window = 0x1000,
window_clamp = 0x0, num = 0x19, cong_window = 0x1, cong_count = 0x0,
ssthresh = 0x1, packets_out = 0x2, shutdown = 0x3, rtt = 0x18, mdev = 0x18,
rto = 0x28, backoff = 0x1, err = 0x68, err_soft = 0x0, protocol = 0x6,
state = 0x7, ack_backlog = 0x0, max_ack_backlog = 0xa, priority = 0x1,
debug = 0x0, rcvbuf = 0xffff, sndbuf = 0xffff, type = 0x1, localroute = 0x0,
protinfo = {af_unix = {family = 0x0, name = 0x0, locks = 0x0, inode = 0x0,
readsem = {count = 0x0, wait = 0x0}, other = 0x0}, af_packet = {
notifier = {notifier_call = 0x0, next = 0x0, priority = 0x0},
bound_dev = 0x0, dev_stamp = 0x0, prot_hook = 0x0, device_name = {
0x0 <repeats 15 times>}}}, ip_ttl = 0x40, ip_tos = 0x0, dummy_th = {
source = 0x1900, dest = 0xbc04, seq = 0x0, ack_seq = 0x0, res1 = 0x0,
doff = 0x5, fin = 0x0, syn = 0x0, rst = 0x0, psh = 0x0, ack = 0x1,
urg = 0x0, res2 = 0x0, window = 0x0, check = 0x0, urg_ptr = 0x0},
keepalive_timer = {next = 0x0, prev = 0x0, expires = 0x0, data = 0x0,
function = 0x0}, retransmit_timer = {next = 0x0, prev = 0x0,
expires = 0x0, data = 0x8a0a04, function = 0x14b8d4}, ack_timer = {
next = 0x0, prev = 0x0, expires = 0x0, data = 0x0, function = 0x0},
ip_xmit_timeout = 0x1, ip_route_cache = 0x1dd5a58, ip_hdrincl = 0x0,
timeout = 0x0, timer = {next = 0x0, prev = 0x0, expires = 0x0,
data = 0x8a0a04, function = 0x140428}, stamp = {tv_sec = 0x0,
tv_usec = 0x0}, socket = 0x0, state_change = 0x150230,
data_ready = 0x15024c, write_space = 0x150278, error_report = 0x150230}

Hope this is of use to somebody.

-- 
Thomas Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de, ig25@dkauni2.bitnet.
The joy of engineering is to find a straight line on a double
logarithmic diagram.