Re: PROBLEM: Sending mail-attachment > 45k with Netscape via sendmail hangs

Matthias Moeller (mattes@ice.robin.de)
Thu, 25 Feb 1999 17:48:38 +0100 (CET)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--8323584-1857001571-919961318=:4285
Content-Type: TEXT/PLAIN; charset=US-ASCII

> That stall is clean - the one end isnt reading data. That means either there
> is a problem where the kernel forgot to wake the other end (quite possible)
> or the user application is selecting on the wrong thing/busy/whatever

Well, strace says for the receiver:

select(4, [3], NULL, NULL, NULL) = 1 (in [3])
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 15) = 15
select(4, [3], NULL, NULL, NULL) = 1 (in [3])
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 15) = 15
select(4, [3], NULL, NULL, NULL) = 1 (in [3])
read(3, "\0\0\0\0\0\0\0\0\0\0", 15) = 10
select(4, [3], NULL, NULL, NULL <unfinished ...>

The blocking select() call is the same as the select()
calls before. And even if the receiver would be busy,
netstat should report data in the Recv-Q, right? It doesn't.
Instead it reports data in the Send-Q of the sender.

>
> You said you had a simple demo app, for this - can you let me have a look at
> it

I have attached client.c, serv.c and Makefile. Serv listens on port 3333
and forks on incoming connections. Then it sends about 5Mb of data.
Usually the client stalls after reading 30kb.
Note the #define READ_SIZE 15. When increasing READ_SIZE to >>100 bytes,
the connection does not stall.

Matthias

--8323584-1857001571-919961318=:4285
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=Makefile
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990225174838.4285B@ice.robin.de>
Content-Description:

V0FSTlMgPSAtV2FsbCAtV3NoYWRvdw0KI0NGTEFHUyAgPSAtYyAtTzIgJChX
QVJOUykNCkNGTEFHUyAgPSAtYyAtZyAkKFdBUk5TKQ0KI0xERkxBR1MgPSAt
cyANCk1LREVQICAgPSBnY2MgPi5kZXBlbmQgLU1NICQoQ0ZMQUdTKQ0KDQpP
QkpTID0gc2Vydi5vIGNsaWVudC5vDQoNCmFsbDogc2VydiBjbGllbnQNCg0K
c2Vydjogc2Vydi5vDQoJJChDQykgJChMREZMQUdTKSBzZXJ2Lm8gLW8gJEAN
Cg0KY2xpZW50OiBjbGllbnQubw0KCSQoQ0MpICQoTERGTEFHUykgY2xpZW50
Lm8gLW8gJEANCg0KJChPQkpTKTogJS5vOiAlLmMNCgkkKENDKSAkKENGTEFH
UykgJDwgLW8gJEANCg0KY2xlYW46Og0KCXJtIC1mICoubyAqfiBzZXJ2IGNs
aWVudA0KDQpkZXBlbmQ6OiANCgkkKE1LREVQKSAqLmMNCg0KaWZlcSAoLmRl
cGVuZCwkKHdpbGRjYXJkIC5kZXBlbmQpKQ0KaW5jbHVkZSAuZGVwZW5kDQpl
bmRpZg0K
--8323584-1857001571-919961318=:4285
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="client.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990225174838.4285C@ice.robin.de>
Content-Description: client.c

I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5j
bHVkZSA8ZmNudGwuaD4NCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNs
dWRlIDx1bmlzdGQuaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KI2luY2x1ZGUg
PG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxuZXRkYi5oPg0KI2luY2x1ZGUg
PHN5cy90aW1lLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KDQojZGVm
aW5lIFBPUlQgMzMzMw0KI2RlZmluZSBSRUFEX1NJWkUgMTUNCnN0YXRpYyBj
aGFyIGJ1ZmZlcltSRUFEX1NJWkVdOw0KDQppbnQgbWFpbigpDQp7DQogICAg
c3RydWN0IHNvY2thZGRyX2luIGFkZHI7DQogICAgc3RydWN0IGhvc3RlbnQg
Kmhvc3RlbnQ7DQogICAgaW50IHNvY2ssIGZsZ3MsIGxlbiwgY250LCBpOw0K
ICAgIGZkX3NldCByZmRzOw0KDQogICAgaWYoIShob3N0ZW50ID0gZ2V0aG9z
dGJ5bmFtZSgibG9jYWxob3N0IikpKQ0KICAgIHsgcHJpbnRmKCJDb3VsZCBu
b3QgcmVzb2x2ZSBob3N0IVxuIik7IGV4aXQoMSk7IH0NCg0KICAgIGFkZHIu
c2luX3BvcnQgPSBodG9ucyhQT1JUKTsNCiAgICBhZGRyLnNpbl9mYW1pbHkg
PSBob3N0ZW50LT5oX2FkZHJ0eXBlOw0KICAgIG1lbWNweSgmYWRkci5zaW5f
YWRkciwgaG9zdGVudC0+aF9hZGRyLCBob3N0ZW50LT5oX2xlbmd0aCk7DQoN
CiAgICBpZigoc29jayA9IHNvY2tldChhZGRyLnNpbl9mYW1pbHksIFNPQ0tf
U1RSRUFNLCAwKSkgPCAwKQ0KICAgIHsgcGVycm9yKCJzb2NrZXQoKSIpOyBl
eGl0KDEpOyB9DQoNCiAgICB3aGlsZSggKGkgPSBjb25uZWN0KHNvY2ssIChz
dHJ1Y3Qgc29ja2FkZHIqKSZhZGRyLCBzaXplb2YoYWRkcikpKSA8IDANCgkg
ICAmJiBlcnJubyA9PSBFSU5UUiApDQoJOw0KICAgIGlmKGkgIT0gMCkNCiAg
ICB7IHBlcnJvcigiY29ubmVjdCgpIik7IGV4aXQoMSk7IH0NCg0KICAgIGZs
Z3MgPSBmY250bChzb2NrLCBGX0dFVEZMLCAwKTsNCiAgICBmY250bChzb2Nr
LCBGX1NFVEZMLCBmbGdzfE9fTk9OQkxPQ0spOw0KDQogICAgY250ID0gMDsN
Cg0KICAgIGRvDQogICAgew0KCUZEX1pFUk8oJnJmZHMpOw0KCUZEX1NFVChz
b2NrLCAmcmZkcyk7DQoJaWYoc2VsZWN0KHNvY2sgKyAxLCAmcmZkcywgTlVM
TCwgTlVMTCwgTlVMTCkgPD0gMCkNCgl7IHBlcnJvcigic2VsZWN0KCkiKTsg
ZXhpdCgxKTsgfQ0KDQoJbGVuID0gcmVhZChzb2NrLCBidWZmZXIsIFJFQURf
U0laRSk7DQoJaWYobGVuID4gMCkNCgkgICAgY250ICs9IGxlbjsNCg0KICAg
IH0gd2hpbGUobGVuPjApOw0KDQogICAgY2xvc2Uoc29jayk7DQogICAgcHJp
bnRmKCJHb3QgJWQgYnl0ZXMuXG5Db25uZWN0aW9uIGNsb3NlZFxuIiwgY250
KTsNCiAgICANCg0KICAgIHJldHVybiAwOw0KfQ0K
--8323584-1857001571-919961318=:4285
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="serv.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990225174838.4285D@ice.robin.de>
Content-Description: serv.c

I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5j
bHVkZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8c3lzL3RpbWUuaD4NCiNpbmNs
dWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNsdWRlIDx1bmlzdGQuaD4NCiNpbmNs
dWRlIDxuZXRpbmV0L2luLmg+DQojaW5jbHVkZSA8c3lzL3VuLmg+DQojaW5j
bHVkZSA8ZXJybm8uaD4NCiNpbmNsdWRlIDxmY250bC5oPg0KI2luY2x1ZGUg
PHN5cy93YWl0Lmg+DQojaW5jbHVkZSA8c2lnbmFsLmg+DQoNCiNkZWZpbmUg
UE9SVCAzMzMzDQojZGVmaW5lIFdSSVRFX1NJWkUgMTU4NQ0KDQpzdGF0aWMg
Y29uc3QgY2hhciBzdHJbV1JJVEVfU0laRV07DQoNCnN0YXRpYyBpbnQgbWFp
blNvY2s7DQpzdGF0aWMgdm9pZCBzaWdpbnQoaW50IHMpDQp7DQogICAgcHJp
bnRmKCIqKipTSUdJTlRcbiIpOw0KICAgIGZmbHVzaChzdGRvdXQpOw0KICAg
IGNsb3NlKG1haW5Tb2NrKTsNCiAgICBleGl0KDApOw0KfQ0KDQppbnQgbWFp
bigpDQp7DQogICAgaW50IHBpZCwgc29jazsNCiAgICBzdHJ1Y3Qgc29ja2Fk
ZHJfaW4gYWRkciwgYWNjZXB0X2FkZHI7DQogICAgaW50IGFkZHJsZW4gPSAw
Ow0KDQogICAgYWRkci5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiAgICBhZGRy
LnNpbl9wb3J0ID0gaHRvbnMoUE9SVCk7DQogICAgYWRkci5zaW5fYWRkci5z
X2FkZHIgPSBJTkFERFJfQU5ZOw0KDQogICAgaWYoKG1haW5Tb2NrID0gc29j
a2V0KGFkZHIuc2luX2ZhbWlseSwgU09DS19TVFJFQU0sIDApKSAgPCAwKQ0K
ICAgIHsgcGVycm9yKCJzb2NrZXQoKSIpOyBleGl0KDEpOyB9DQoNCiAgICBz
aWduYWwoU0lHSU5ULCBzaWdpbnQpOw0KDQogICAgaWYoIGJpbmQobWFpblNv
Y2ssICZhZGRyLCBzaXplb2YoYWRkcikpIDwgMCkNCiAgICB7IHBlcnJvcigi
YmluZCgpIik7ICAgZXhpdCgxKTsgfQ0KDQogICAgaWYoIGxpc3RlbihtYWlu
U29jaywgMSkgPCAwKSANCiAgICB7IHBlcnJvcigibGlzdGVuKCkiKTsgZXhp
dCgxKTsgfQ0KDQogICAgd2hpbGUoMSkNCiAgICB7DQoJc29jayA9IGFjY2Vw
dChtYWluU29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSZhY2NlcHRfYWRkciwg
JmFkZHJsZW4pOw0KCWlmKHNvY2sgPCAwKSB7IHBlcnJvcigiYWNjZXB0KCki
KTsgZXhpdCgxKTsgfQ0KDQoJaWYoKHBpZCA9IGZvcmsoKSkgPiAwKQ0KCXsN
CgkgICAgaW50IHN0YXR1czsNCgkgICAgY2xvc2Uoc29jayk7DQoNCgkgICAg
d2FpdCgmc3RhdHVzKTsgLyogV2FpdCBmb3IgY2hpbGQgKi8NCgkgICAgcHJp
bnRmKCJjaGlsZCBnb25lXG4iKTsNCgkgICAgY29udGludWU7DQoJfQ0KCWlm
KCFwaWQpIC8qIENoaWxkIHByb2MgKi8NCgl7DQoJICAgIGludCBpLCBzaXpl
LCB3cml0dGVuLCBmbGdzOw0KCSAgICBjb25zdCBjaGFyICpwdHI7DQoJICAg
IGZkX3NldCB3ZmRzOw0KDQoJICAgIGZsZ3MgPSBmY250bChzb2NrLCBGX0dF
VEZMLCAwKTsNCgkgICAgZmNudGwoc29jaywgRl9TRVRGTCwgZmxnc3xPX05P
TkJMT0NLKTsNCg0KCSAgICBwcmludGYoInNlbmRpbmcgZGF0YS4uLlxuIik7
DQoJICAgIGZvcihpID0gMDsgaSA8IDMyMDA7IGkrKykNCgkgICAgew0KCQlz
aXplID0gc2l6ZW9mKHN0cik7DQoJCXB0ciA9IHN0cjsNCgkJd2hpbGUoc2l6
ZSkNCgkJew0KCQkgICAgRkRfWkVSTygmd2Zkcyk7DQoJCSAgICBGRF9TRVQo
c29jaywgJndmZHMpOw0KCQkgICAgaWYoc2VsZWN0KHNvY2srMSwgTlVMTCwg
JndmZHMsIE5VTEwsIE5VTEwpIDwgMCkNCgkJICAgIHsgcGVycm9yKCJzZWxl
Y3QoKSIpOyBhYm9ydCgpOyB9DQoNCgkJICAgIGlmKCh3cml0dGVuID0gd3Jp
dGUoc29jaywgcHRyLCBzaXplKSkgPCAwKQ0KCQkgICAgeyBwZXJyb3IoIndy
aXRlKCkiKTsgIGFib3J0KCk7IH0NCg0KCQkgICAgc2l6ZSAtPSB3cml0dGVu
Ow0KCQkgICAgcHRyICs9IHdyaXR0ZW47DQoJCX0NCgkgICAgfQ0KDQoJICAg
IHByaW50ZigicmVhZHlcbiIpO2ZmbHVzaChzdGRvdXQpOw0KCSAgICBjbG9z
ZShzb2NrKTsNCgkgICAgYWJvcnQoKTsNCgl9DQogICAgfQ0KDQogICAgcmV0
dXJuIDA7DQp9DQo=
--8323584-1857001571-919961318=:4285--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/