Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Sep 2002 15:10:19 +0200 (CEST)
From:      Michal Mertl <mime@traveller.cz>
To:        current@freebsd.org
Cc:        alfred@freebsd.org
Subject:   bug in sysv semaphores on -CURRENT
Message-ID:  <Pine.BSF.4.41.0209061411380.77195-200000@prg.traveller.cz>

next in thread | raw e-mail | index | archive | help
  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.

--0-1618928097-1031317473=:77195
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.BSF.4.41.0209061505411.77195@prg.traveller.cz>

There seems to be bug in $SUBJ. When I run attached program on recent
-CURRENT, it always (after several seconds) triggers the bug. I first
suspected a problem in the program's logic but on stable in runs just
fine.

Esentially I use piece of shm memory to pass some data between several
processes. I implemented simple locking functions with semaphores and
noticed it behaves strange on -CURRENT and ok on -STABLE.

CCing Alfred because he made some changes into the kernel part of $SUBJ. I
don't expect the bug is new though.

May I ask someone with older -CURRENT to try running the program for a
minute?

-- 
Michal Mertl
mime@traveller.cz



--0-1618928097-1031317473=:77195
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="ipctest.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.4.41.0209061504330.77195@prg.traveller.cz>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="ipctest.c"

I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9pcGMuaD4N
CiNpbmNsdWRlIDxzeXMvc2VtLmg+DQojaW5jbHVkZSA8c3lzL3NobS5oPg0K
I2luY2x1ZGUgPGVycm5vLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5j
bHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRl
IDx1bmlzdGQuaD4NCg0KI2RlZmluZSBNWV9TSE1fTUFHSUMgMHg1NmQ5ZjEz
Yg0KDQp0eXBlZGVmIHN0cnVjdCB7DQoJc3RydWN0IHNobWlkX2RzCSBzaG1f
ZHM7DQoJc3RydWN0IHNlbWlkX2RzCSBzZW1fZHM7DQoJcGlkX3QJCSBzZW1f
b3duZXI7DQoJaW50CQkgc2VtX2lkOw0KCWludAkJIHNobV9pZDsNCglpbnQJ
CSBzaXplOw0KfSBzX2lwY19jZmc7DQoNCnNfaXBjX2NmZyAqaXBjX2NmZyA9
IE5VTEw7DQoNCmludA0KaXBjX3NldHVwKGludCBzaXplKQ0Kew0KCWludCBz
a2V5Ow0KCWludCBpcGNfdG9rOw0KCXZvaWQgKnNobV9hZGRyOw0KCXN0cnVj
dCBzaG1pZF9kcwkgc2htX2RzOw0KCXVuaW9uIHNlbXVuIHNlbV9hcmc7DQoN
CglpcGNfdG9rID0gSVBDX1BSSVZBVEU7DQoJaWYgKChza2V5ID0gc2htZ2V0
KGlwY190b2ssIHNpemUsIFNITV9SIHwgU0hNX1cNCgkJCXwgSVBDX0NSRUFU
KSkgPT0gLTEpIHsNCgkJZnByaW50ZihzdGRlcnIsICJzaG1nZXQoKVxuIik7
DQoJCXJldHVybiAoLTEpOw0KCX0NCglpZiAoKHNobWN0bChza2V5LCBJUENf
U1RBVCwgJnNobV9kcykpID09IC0xKSB7DQoJCWZwcmludGYoc3RkZXJyLCAi
c2htY3RsKClcbiIpOw0KCQlyZXR1cm4gKC0xKTsNCgl9DQoJaWYgKChzaG1f
YWRkciA9IHNobWF0KHNrZXksIE5VTEwsIDApKSA9PSAodm9pZCAqKS0xKSB7
DQoJCWZwcmludGYoc3RkZXJyLCAic2htYXQoKVxuIik7DQoJCXJldHVybiAo
LTEpOw0KCX0NCglpcGNfY2ZnID0gc2htX2FkZHI7DQoJaXBjX2NmZy0+c2l6
ZSA9IHNpemUgLSBzaXplb2Yoc19pcGNfY2ZnKTsNCgltZW1jcHkoaXBjX2Nm
ZywgJnNobV9kcywgc2l6ZW9mKHNobV9kcykpOw0KCWlwY19jZmctPnNobV9p
ZCA9IHNrZXk7DQoJaWYgKHNobWN0bChpcGNfY2ZnLT5zaG1faWQsIElQQ19S
TUlELCBOVUxMKSA9PSAtMSkgew0KCQlmcHJpbnRmKHN0ZGVyciwgInNobWN0
bCgpIElQQ19STUlEXG4iKTsNCgkJcmV0dXJuICgtMSk7DQoJfQ0KCWlmICgo
c2tleSA9IHNlbWdldChpcGNfdG9rLCAxLCBTRU1fUiB8IFNFTV9BIHwgSVBD
X0NSRUFUKSkgPT0gLTEpIHsNCgkJZnByaW50ZihzdGRlcnIsICJzZW1nZXQo
KVxuIik7DQoJCXJldHVybiAoLTEpOw0KCX0NCglpcGNfY2ZnLT5zZW1faWQg
PSBza2V5Ow0KCXNlbV9hcmcuYnVmID0gKHZvaWQgKikmaXBjX2NmZy0+c2Vt
X2RzOw0KCWlmIChzZW1jdGwoaXBjX2NmZy0+c2VtX2lkLCAwLCBJUENfU1RB
VCwgc2VtX2FyZykgPT0gLTEpIHsNCgkJZnByaW50ZihzdGRlcnIsICJzZW1j
dGwoKVxuIik7DQoJCXJldHVybiAoLTEpOw0KCX0NCglpcGNfY2ZnLT5zZW1f
b3duZXIgPSAtMTsNCglzZW1fYXJnLnZhbCA9IDE7DQoJc2VtY3RsKGlwY19j
ZmctPnNlbV9pZCwgMCwgU0VUVkFMLCBzZW1fYXJnKTsNCglyZXR1cm4gKDAp
Ow0KfQ0KDQp2b2lkDQppcGNfc2h1dGRvd24odm9pZCkNCnsNCglpZiAoaXBj
X2NmZykNCgkJc2VtY3RsKGlwY19jZmctPnNlbV9pZCwgMCwgSVBDX1JNSUQp
Ow0KfQ0KDQppbnQNCmlwY19sb2NrKGludCB3YWl0LCBpbnQgdW5kbykNCnsN
CglzdHJ1Y3Qgc2VtYnVmIHNlbV9idWY7DQoJaW50CQkgZXJyOw0KDQoJc2Vt
X2J1Zi5zZW1fbnVtID0gMDsNCglzZW1fYnVmLnNlbV9vcCA9IC0xOw0KCXNl
bV9idWYuc2VtX2ZsZyA9ICB3YWl0ID8gMCA6IElQQ19OT1dBSVQ7DQoJc2Vt
X2J1Zi5zZW1fZmxnIHw9IHVuZG8gPyBTRU1fVU5ETyA6IDA7DQoJZXJyID0g
c2Vtb3AoaXBjX2NmZy0+c2VtX2lkLCAmc2VtX2J1ZiwgMSk7DQoJaWYgKGVy
ciA9PSAtMSkgew0KCQlpZiAod2FpdCAmJiBlcnJubyA9PSBFQUdBSU4pDQoJ
CQlyZXR1cm4gKC0yKTsNCgkJZnByaW50ZihzdGRlcnIsICIlZDogc2Vtb3Ao
KVxuIiwgZ2V0cGlkKCkpOw0KCQlyZXR1cm4gKC0xKTsNCgl9DQoJcHJpbnRm
KCIlZDogaXBjX2xvY2soKVxuIiwgZ2V0cGlkKCkpOw0KCWlwY19jZmctPnNl
bV9vd25lciA9IGdldHBpZCgpOw0KCXJldHVybiAoMCk7DQp9DQoNCmludA0K
aXBjX3VubG9jayh2b2lkKQ0Kew0KCXN0cnVjdCBzZW1idWYJIHNlbV9idWY7
DQoJaW50CQkgZXJyOw0KDQoJaWYgKGlwY19jZmctPnNlbV9vd25lciAhPSBn
ZXRwaWQoKSkgew0KCQlmcHJpbnRmKHN0ZGVyciwgIiVkOiBjYW4ndCB1bmxv
Y2sgKGJ1ZyksIG93bmVyOiAlZFxuIiwNCgkJCWdldHBpZCgpLCBpcGNfY2Zn
LT5zZW1fb3duZXIpOw0KCQlyZXR1cm4gKC0xKTsNCgl9DQoJaWYgKHNlbWN0
bChpcGNfY2ZnLT5zZW1faWQsIDAsIEdFVFZBTCkgIT0gMCkgew0KCQlmcHJp
bnRmKHN0ZGVyciwgIiVkOiBjYW4ndCB1bmxvY2sgKGJ1ZyksIG5vdCBsb2Nr
ZWRcbiIsDQoJCQlnZXRwaWQoKSk7DQoJCXJldHVybiAoLTEpOw0KCX0NCglw
cmludGYoIiVkOiBpcGNfdW5sb2NrKClcbiIsIGdldHBpZCgpKTsNCglzZW1f
YnVmLnNlbV9udW0gPSAwOw0KCXNlbV9idWYuc2VtX29wID0gMTsNCglzZW1f
YnVmLnNlbV9mbGcgPSAwOw0KCWVyciA9IHNlbW9wKGlwY19jZmctPnNlbV9p
ZCwgJnNlbV9idWYsIDEpOw0KCWlmIChlcnIgPT0gLTEpIHsNCgkJZnByaW50
ZihzdGRlcnIsICIlZDogc2Vtb3AoKVxuIiwgZ2V0cGlkKCkpOw0KCQlyZXR1
cm4gKC0xKTsNCgl9DQoJaXBjX2NmZy0+c2VtX293bmVyID0gLTE7DQoJcmV0
dXJuICgwKTsNCn0NCg0KaW50DQppcGNfbG9ja2VkKHZvaWQpDQp7DQoJcmV0
dXJuIChzZW1jdGwoaXBjX2NmZy0+c2VtX2lkLCAwLCBHRVRWQUwpID8gMCA6
IDEpOw0KfQ0KDQppbnQNCmlwY19vd25lZCh2b2lkKQ0Kew0KCXJldHVybiAo
aXBjX2xvY2tlZCgpICYmDQoJCWlwY19jZmctPnNlbV9vd25lciA9PSBnZXRw
aWQoKSA/IDEgOiAwKTsNCn0NCg0KaW50DQppcGNfdXNlaXQodm9pZCkNCnsN
CglpZiAoIWlwY19vd25lZCgpKSB7DQoJCWlmIChpcGNfbG9jaygxLCAwKSA8
IDApIHsNCgkJCXByaW50ZigiJWQ6IF9pcGNfZ2V0cGFydCgpIGNhbid0IGxv
Y2tcbiIsDQoJCQkJCWdldHBpZCgpKTsNCgkJCXJldHVybiAoLTEpOw0KCQl9
DQoJfQ0KCWlmIChpcGNfdW5sb2NrKCkgPCAwKSB7DQoJCWZwcmludGYoc3Rk
ZXJyLCAiJWQ6IF9pcGNfZ2V0cGFydCgpIGNhbid0IHVubG9ja1xuIiwNCgkJ
CQlnZXRwaWQoKSk7DQoJCXJldHVybiAoLTEpOw0KCX0NCglyZXR1cm4gKDAp
Ow0KfQ0KDQppbnQNCmJlX2NoaWxkKHZvaWQpDQp7DQoJZm9yICg7Oykgew0K
CQl1c2xlZXAoMTAwMDAgKyByYW5kb20oKSAlIDUwMDApOw0KCQlpcGNfdXNl
aXQoKTsNCgl9DQoJcmV0dXJuICgwKTsNCn0NCg0KaW50DQptYWluKGludCBh
cmdjLCBjaGFyICphcmd2W10pDQp7DQoJc3JhbmRvbWRldigpOw0KCWlmIChp
cGNfc2V0dXAoMTAwMDApIDwgMCkgew0KCQlmcHJpbnRmKHN0ZGVyciwgImlw
Y19zZXR1cCBmYWlsZWRcbiIpOw0KCQlyZXR1cm4gKEVYSVRfRkFJTFVSRSk7
DQoJfQ0KCXN3aXRjaCAoZm9yaygpKSB7DQoJCWNhc2UgMDoNCgkJCS8qIGNo
aWxkICovDQoJCQliZV9jaGlsZCgpOw0KCQkJcmV0dXJuIChFWElUX1NVQ0NF
U1MpOw0KCQkJYnJlYWs7DQoJCWNhc2UgLTE6DQoJCQlmcHJpbnRmKHN0ZGVy
ciwgImZvcmsgZmFpbGVkXG4iKTsNCgkJCWlwY19zaHV0ZG93bigpOw0KCQkJ
cmV0dXJuIChFWElUX0ZBSUxVUkUpOw0KCQlkZWZhdWx0Og0KCQkJLyogcGFy
ZW50ICovDQoJCQk7DQoJfQ0KCWlmIChhdGV4aXQoaXBjX3NodXRkb3duKSA8
IDApIHsNCgkJZnByaW50ZihzdGRlcnIsICJhdGV4aXQoKVxuIik7DQoJCXJl
dHVybiAoRVhJVF9GQUlMVVJFKTsNCgl9DQoJZm9yICg7Oykgew0KCQl1c2xl
ZXAoMTUwMDAgKyByYW5kb20oKSAlIDUwMDApOw0KCQlpcGNfdXNlaXQoKTsN
Cgl9DQoJcmV0dXJuIChFWElUX1NVQ0NFU1MpOw0KfQ0KDQo=
--0-1618928097-1031317473=:77195--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.41.0209061411380.77195-200000>