[omniORB] RE: serious stability problems with omniORB4 snapshots on Solaris 8: bug located!

Bastiaan Bakker Bastiaan.Bakker@lifeline.nl
Tue, 5 Feb 2002 10:42:48 +0100


This is a multi-part message in MIME format.

------_=_NextPart_001_01C1AE29.78A64B6A
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi,

I've created a small patch to work around the EBADF problem. As I =
suggested yesterday, it simply retries the fd_set creation and select() =
in case of EBADF. In a couple of quick tests, using 20 concurrent =
eg2_clts it retries once every 1000 to 4000 SocketCollection::Select() =
calls. Of course on very busy systems this figure may become =
impractically worse.

Please let me know what you think.

Cheers,

Bastiaan Bakker
LifeLine Networks bv




=20


------_=_NextPart_001_01C1AE29.78A64B6A
Content-Type: application/octet-stream;
	name="omniORB4.EBADF.patch"
Content-Transfer-Encoding: base64
Content-Description: omniORB4.EBADF.patch
Content-Disposition: attachment;
	filename="omniORB4.EBADF.patch"

SW5kZXg6IHNyYy9saWIvb21uaU9SQi9vcmJjb3JlL1NvY2tldENvbGxlY3Rpb24uY2MKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvb21uaS9zcmMvbGliL29tbmlPUkIvb3JiY29yZS9BdHRp
Yy9Tb2NrZXRDb2xsZWN0aW9uLmNjLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEuMi40CmRpZmYg
LXUgLXIxLjEuMi40IFNvY2tldENvbGxlY3Rpb24uY2MKLS0tIFNvY2tldENvbGxlY3Rpb24uY2MJ
MjAwMS8wOC8yNCAxNTo1Njo0NAkxLjEuMi40CisrKyBTb2NrZXRDb2xsZWN0aW9uLmNjCTIwMDIv
MDIvMDUgMDk6MjQ6MjIKQEAgLTIwNiw1NSArMjA2LDYyIEBACiAgIHN0cnVjdCB0aW1ldmFsIHRp
bWVvdXQ7CiAgIGZkX3NldCAgICAgICAgIHJmZHM7CiAgIGludCAgICAgICAgICAgIHRvdGFsOwor
ICBpbnQgICAgICAgICAgICBucmVhZHk7CiAgIAotICAvLyAocGRfYWJzX3NlYyxwZF9hYnNfbnNl
YykgZGVmaW5lIHRoZSBhYnNvbHV0ZSB0aW1lIHdoZW4gd2Ugc3dpdGNoIGZkc2V0Ci0gIFNvY2tl
dFNldFRpbWVPdXQocGRfYWJzX3NlYyxwZF9hYnNfbnNlYyx0aW1lb3V0KTsKLQotICBpZiAodGlt
ZW91dC50dl9zZWMgPT0gMCAmJiB0aW1lb3V0LnR2X3VzZWMgPT0gMCkgewotCi0gICAgb21uaV90
aHJlYWQ6OmdldF90aW1lKCZwZF9hYnNfc2VjLCZwZF9hYnNfbnNlYywKLQkJCSAgc2Nhbl9pbnRl
cnZhbF9zZWMsc2Nhbl9pbnRlcnZhbF9uc2VjKTsKLSAgICB0aW1lb3V0LnR2X3NlYyA9IHNjYW5f
aW50ZXJ2YWxfc2VjOwotICAgIHRpbWVvdXQudHZfdXNlYyA9IHNjYW5faW50ZXJ2YWxfbnNlYyAv
IDEwMDA7Ci0KLSAgICBvbW5pX3RyYWNlZG11dGV4X2xvY2sgc3luYyhwZF9mZHNldF9sb2NrKTsK
LSAgICByZmRzICA9IHBkX2Zkc2V0XzI7Ci0gICAgdG90YWwgPSBwZF9uX2Zkc2V0XzI7Ci0gICAg
cGRfZmRzZXRfMiA9IHBkX2Zkc2V0XzE7Ci0gICAgcGRfbl9mZHNldF8yID0gcGRfbl9mZHNldF8x
OwotICB9Ci0gIGVsc2UgewotCi0gICAgb21uaV90cmFjZWRtdXRleF9sb2NrIHN5bmMocGRfZmRz
ZXRfbG9jayk7Ci0gICAgcmZkcyAgPSBwZF9mZHNldF8yOwotICAgIHRvdGFsID0gcGRfbl9mZHNl
dF8yOwotICB9CisgIGZvciAoYm9vbCBkb25lID0gZmFsc2U7ICFkb25lOyAvKiovKSB7CisgICAg
CisgICAgLy8gKHBkX2Fic19zZWMscGRfYWJzX25zZWMpIGRlZmluZSB0aGUgYWJzb2x1dGUgdGlt
ZSB3aGVuIHdlIHN3aXRjaCBmZHNldAorICAgIFNvY2tldFNldFRpbWVPdXQocGRfYWJzX3NlYyxw
ZF9hYnNfbnNlYyx0aW1lb3V0KTsKKworICAgIGlmICh0aW1lb3V0LnR2X3NlYyA9PSAwICYmIHRp
bWVvdXQudHZfdXNlYyA9PSAwKSB7CisKKyAgICAgIG9tbmlfdGhyZWFkOjpnZXRfdGltZSgmcGRf
YWJzX3NlYywmcGRfYWJzX25zZWMsCisJCQkgICAgc2Nhbl9pbnRlcnZhbF9zZWMsc2Nhbl9pbnRl
cnZhbF9uc2VjKTsKKyAgICAgIHRpbWVvdXQudHZfc2VjID0gc2Nhbl9pbnRlcnZhbF9zZWM7Cisg
ICAgICB0aW1lb3V0LnR2X3VzZWMgPSBzY2FuX2ludGVydmFsX25zZWMgLyAxMDAwOworICAgICAg
CisgICAgICBvbW5pX3RyYWNlZG11dGV4X2xvY2sgc3luYyhwZF9mZHNldF9sb2NrKTsKKyAgICAg
IHJmZHMgID0gcGRfZmRzZXRfMjsKKyAgICAgIHRvdGFsID0gcGRfbl9mZHNldF8yOworICAgICAg
cGRfZmRzZXRfMiA9IHBkX2Zkc2V0XzE7CisgICAgICBwZF9uX2Zkc2V0XzIgPSBwZF9uX2Zkc2V0
XzE7CisgICAgfQorICAgIGVsc2UgewogCi0gIGludCBtYXhmZCA9IDA7Ci0gIGludCBmZCA9IDA7
Ci0gIHdoaWxlICh0b3RhbCkgewotICAgIGlmIChGRF9JU1NFVChmZCwmcmZkcykpIHsKLSAgICAg
IG1heGZkID0gZmQ7Ci0gICAgICB0b3RhbC0tOworICAgICAgb21uaV90cmFjZWRtdXRleF9sb2Nr
IHN5bmMocGRfZmRzZXRfbG9jayk7CisgICAgICByZmRzICA9IHBkX2Zkc2V0XzI7CisgICAgICB0
b3RhbCA9IHBkX25fZmRzZXRfMjsKICAgICB9Ci0gICAgZmQrKzsKLSAgfQorICAgIAorICAgIGlu
dCBtYXhmZCA9IDA7CisgICAgaW50IGZkID0gMDsKKyAgICB3aGlsZSAodG90YWwpIHsKKyAgICAg
IGlmIChGRF9JU1NFVChmZCwmcmZkcykpIHsKKwltYXhmZCA9IGZkOworCXRvdGFsLS07CisgICAg
ICB9CisgICAgICBmZCsrOworICAgIH0KIAotICBpbnQgbnJlYWR5OwotICBpZiAoZmQgIT0gMCkg
eworICAgIGlmIChmZCAhPSAwKSB7CiAjaWZuZGVmIEdEQl9ERUJVRwotICAgIG5yZWFkeSA9IHNl
bGVjdChtYXhmZCsxLCZyZmRzLDAsMCwmdGltZW91dCk7CisgICAgICBucmVhZHkgPSBzZWxlY3Qo
bWF4ZmQrMSwmcmZkcywwLDAsJnRpbWVvdXQpOwogI2Vsc2UKLSAgICBucmVhZHkgPSBkb19zZWxl
Y3QobWF4ZmQrMSwmcmZkcywwLDAsJnRpbWVvdXQpOworICAgICAgbnJlYWR5ID0gZG9fc2VsZWN0
KG1heGZkKzEsJnJmZHMsMCwwLCZ0aW1lb3V0KTsKICNlbmRpZgotICB9Ci0gIGVsc2UgewotICAg
IG9tbmlfdGhyZWFkOjpzbGVlcChwZF9hYnNfc2VjLHBkX2Fic19uc2VjKTsKLSAgICAvLyBBbHRl
cm5hdGl2ZWx5IHdlIGNvdWxkIGJsb2NrIG9uIGEgY29uZGl0aW9uYWwgdmFyaWFibGUgYW5kIGJl
IHdva2VuIHVwCi0gICAgLy8gaW1tZWRpYXRlbHkgd2hlbiB0aGVyZSBpcyBzb21ldGhpbmcgdG8g
bW9uaXRvci4KLSAgICAvLyBBbHNvLCBvbmUgY2Fubm90IHVzZSBzZWxlY3QoMCwwLDAsMCwmdGlt
ZW91dCkgYmVjYXVzZSB3aW4zMiBkb2Vzbid0Ci0gICAgLy8gbGlrZSBpdC4KLSAgICBucmVhZHkg
PSAwOyAvLyBzaW11bGF0ZSBhIHRpbWVvdXQKKyAgICB9CisgICAgZWxzZSB7CisgICAgICBvbW5p
X3RocmVhZDo6c2xlZXAocGRfYWJzX3NlYyxwZF9hYnNfbnNlYyk7CisgICAgICAvLyBBbHRlcm5h
dGl2ZWx5IHdlIGNvdWxkIGJsb2NrIG9uIGEgY29uZGl0aW9uYWwgdmFyaWFibGUgYW5kIGJlIHdv
a2VuIHVwCisgICAgICAvLyBpbW1lZGlhdGVseSB3aGVuIHRoZXJlIGlzIHNvbWV0aGluZyB0byBt
b25pdG9yLgorICAgICAgLy8gQWxzbywgb25lIGNhbm5vdCB1c2Ugc2VsZWN0KDAsMCwwLDAsJnRp
bWVvdXQpIGJlY2F1c2Ugd2luMzIgZG9lc24ndAorICAgICAgLy8gbGlrZSBpdC4KKyAgICAgIG5y
ZWFkeSA9IDA7IC8vIHNpbXVsYXRlIGEgdGltZW91dAorICAgIH0KKworICAgIGRvbmUgPSAhKChu
cmVhZHkgPT0gUkNfU09DS0VUX0VSUk9SKSAmJiAoRVJSTk8gPT0gRUJBREYpKTsKKyAgICBpZiAo
IWRvbmUpCisgICAgICBvbW5pT1JCOjpsb2dzKDIwLCAiU29ja2V0Q29sbGVjdGlvbjogc2VsZWN0
KCkgcmV0dXJuZWQgRUJBREYsIHdpbGwgcmV0cnkuIik7IAogICB9CiAKICAgaWYgKG5yZWFkeSA9
PSBSQ19TT0NLRVRfRVJST1IpIHsK

------_=_NextPart_001_01C1AE29.78A64B6A--