delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/01/17/10:58:16

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 50HFwGwO736205
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 50HFwGwO736205
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=uAYhWDz2
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8AA353871029
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1737129493;
bh=cCgq2VgsH6u9Gp/xSvsSkeOSLOXQSj6tZ76FbN+COJg=;
h=Subject:To:Date:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:Cc:From;
b=uAYhWDz2c50CXS4bAsbmizjZC5zU6lQFlb5YFyaiYyoP/eNZK4XRSoyazSPuSpB1g
mQmXGzx0lYSdWuUSneUvDxj4tezXlcGL4WFn0sx+iXBqyO7jnditR+aYWmUdUQMl5C
XJaJH9h7upUlMIGq1tMFTgsXmA+LNRQIJS7SOdW4=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5B8D3386F017
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5B8D3386F017
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1737129422; cv=none;
b=sAf3tQ9BUj3fU+7FvP2tvRf/p5P/EX2gfmfwbYGpat4XrnxuzB7T4XQY60vltOZgZ30u4kSNHNUn9ojWjJXKnV7Ee9pXUc+kMsIELa72CXcNW3IfSTvqjm2zAcuTl9gfjm/qn6hTbhMG4iAajj0MNOxaTwPGYP7mPMC4+uEzQLI=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1737129422; c=relaxed/simple;
bh=2HraUjudUmuq8RvhkqagL4TKfLnBMYJgjJroIMnaY70=;
h=From:Subject:To:Message-ID:Date:MIME-Version;
b=MlId/xC+UZP29DQCRnKtOdvl6v2XXZiuWiq41bw8S2QbCf9y2+fWwUmNNQ8OEHlsiB5OWKed2+u/LFBbF7eRhn0cFTmIKlW5cprkZrdjw/DijMRD/O9jm8LtZhDGSbKmTWlA00STwZfH4Z8+tex7EvR81ftbY+kwT2pUdVtIPgE=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B8D3386F017
Subject: mq_send()/mq_receive() may never return if used from threads
To: cygwin AT cygwin DOT com
Message-ID: <838238ed-0bf4-9374-fb8a-bc6a47c512a9@t-online.de>
Date: Fri, 17 Jan 2025 16:56:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
SeaMonkey/2.53.19
MIME-Version: 1.0
X-TOI-EXPURGATEID: 150726::1737129420-14FF69FE-1296B0A2/0/0 CLEAN NORMAL
X-TOI-MSGID: d1633271-0f6b-4bbe-941e-24020b60c4e6
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Christian Franke via Cygwin <cygwin AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
Cc: Christian Franke <Christian DOT Franke AT t-online DOT de>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

This is a multi-part message in MIME format.
--------------C8EC8C10613E75B9E85C0F3C
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Found with 'stress-ng --workload ...':

If mq_receive is called on an empty queue and mq_send is called later 
from a different thread, both functions never return and signals 
(including SIGKILL) are no longer processed.

Testcase (attached):

$ uname -r
3.5.5-1.x86_64

$ gcc -o mqhang mqhang.c

$ ./mqhang
mq_send...
mq_send = 0
mq_receive...
mq_receive = 8
mq_receive...
mq_send...
[...hangs...]

Problem does not occur if mq_receive() is called from a fork()ed process 
instead of a thread.

-- 
Regards,
Christian


--------------C8EC8C10613E75B9E85C0F3C
Content-Type: text/plain; charset=UTF-8;
 name="mqhang.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="mqhang.c"

I2luY2x1ZGUgPGZjbnRsLmg+DQojaW5jbHVkZSA8bXF1ZXVlLmg+DQojaW5jbHVkZSA8cHRo
cmVhZC5oPg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQoNCnN0
YXRpYyB2b2lkICpyZWNlaXZlcih2b2lkICphcmcpDQp7DQogIG1xZF90IG1xID0gKihtcWRf
dCopYXJnOw0KICB1bnNpZ25lZCBwcmlvOw0KICBjaGFyIG1zZ1s0Ml07DQogIGZvciAoaW50
IGkgPSAwOyBpIDwgMjsgaSsrKSB7DQogICAgaWYgKGkgPT0gMCkNCiAgICAgIHNsZWVwKDIp
Ow0KICAgIHByaW50ZigibXFfcmVjZWl2ZS4uLlxuIik7IGZmbHVzaChzdGRvdXQpOw0KICAg
IHNzaXplX3QgcmV0ID0gbXFfcmVjZWl2ZShtcSwgbXNnLCBzaXplb2YobXNnKSwgJnByaW8p
Ow0KICAgIHByaW50ZigibXFfcmVjZWl2ZSA9ICV6ZFxuIiwgcmV0KTsgZmZsdXNoKHN0ZG91
dCk7DQogIA0KICB9DQogIHJldHVybiBOVUxMOw0KfQ0KDQppbnQgbWFpbigpDQp7DQogIGNv
bnN0IGNoYXIgbXFfbmFtZVtdID0gIi9tcXRlc3QiOw0KICBzdHJ1Y3QgbXFfYXR0ciBhdHRy
ID0geyAwLCAxMCwgNDIsIDAgfTsNCiAgbXFkX3QgbXEgPSBtcV9vcGVuKG1xX25hbWUsIE9f
Q1JFQVQgfCBPX1JEV1IsIFNfSVJVU1IgfCBTX0lXVVNSLCAmYXR0cik7DQogIGlmIChtcSA9
PSAobXFkX3QpLTEpIHsNCiAgICBwZXJyb3IoIm1xX29wZW4iKTsgcmV0dXJuIDE7DQogIH0N
Cg0KICBwdGhyZWFkX3QgdDsNCiAgaWYgKHB0aHJlYWRfY3JlYXRlKCZ0LCBOVUxMLCByZWNl
aXZlciwgJm1xKSkgew0KICAgIGZwcmludGYoc3RkZXJyLCAicHRocmVhZF9jcmVhdGUgZmFp
bGVkXG4iKTsgcmV0dXJuIDE7DQogIH0NCg0KICBjb25zdCBjaGFyIG1zZ1tdID0gIk1lc3Nh
Z2UiOw0KICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgew0KICAgIGlmIChpID09IDEp
DQogICAgICBzbGVlcCg1KTsNCiAgICBwcmludGYoIm1xX3NlbmQuLi5cbiIpOyBmZmx1c2go
c3Rkb3V0KTsNCiAgICBpbnQgcmV0ID0gbXFfc2VuZChtcSwgbXNnLCBzaXplb2YobXNnKSwg
MCk7DQogICAgcHJpbnRmKCJtcV9zZW5kID0gJWRcbiIsIHJldCk7IGZmbHVzaChzdGRvdXQp
Ow0KICB9DQoNCiAgcHRocmVhZF9qb2luKHQsIE5VTEwpOw0KICBtcV9jbG9zZShtcSk7DQog
IG1xX3VubGluayhtcV9uYW1lKTsgLy8gRmFpbHMsIHNlZSBzZXBhcmF0ZSBwb3N0DQogIHJl
dHVybiAwOw0KfQ0K
--------------C8EC8C10613E75B9E85C0F3C
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--------------C8EC8C10613E75B9E85C0F3C--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019