DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 50S81TaP2277530 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 50S81TaP2277530 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=KegrCpFW X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3B5823858027 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1738051287; bh=50/2Mimsy1IGw6yISZ9+nhD3wSUj4KYU5EKsZJ37dWw=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=KegrCpFW5/gMOo1XmtRNCyDlMNPZuTei8U0wfMRFuVbPlkotdOTBf1rSVXX6xvECF mT+VDeNY4zp1i+zvHWf5XH4kgQgusYavDrg2WHSz/rLA76lNq8csGvjLDt1UvA1X5q DSWUK2x+qDnbSkCbFcfdi2JJYSP8TM5CZh57nxHQ= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A0D113858D1E ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A0D113858D1E ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738051225; cv=none; b=ll0ENDerzwThCGSo6LDKA6TbL1avmDC/tSUwtO+o1ngBhfI2IrKb4NVDOaCWjzGHssQ/jY+KvMzHxKcY0KS9V5oba3NVyO75qIsMhNUi5ZyxTmiuxoku9nyp43lygH8ZvtaQ9mX5BwpEtTLohmlGa3oR3V05R8e9gXQpYPWWqTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738051225; c=relaxed/simple; bh=Dl5BmGckjaZcgr4+yVoElTVfWhWn3aF+oI/f6bumjM8=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=Ntjh+WRDydtbHleKbz6YGIY7dWA7X4/20MXJ+1ZfK/uF5rmwJnHqdfECcJLLBMJFT4YpUSWqXXHNwKcN+bYbK39v+9vBM7UTPvOlqiFwjdengRSXKhLGEpUOjUZ9qymaJQEcLPxv3vUP7wnrP5RNqEC2zOmsFs7WAaAut7wY+EE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A0D113858D1E Subject: Re: mq_send()/mq_receive() may never return if used from threads To: cygwin AT cygwin DOT com References: <838238ed-0bf4-9374-fb8a-bc6a47c512a9 AT t-online DOT de> Message-ID: Date: Tue, 28 Jan 2025 09:00:21 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 SeaMonkey/2.53.20 MIME-Version: 1.0 In-Reply-To: X-TOI-EXPURGATEID: 150726::1738051223-217F9B9C-A2DD8A60/0/0 CLEAN NORMAL X-TOI-MSGID: fd7726c8-1d13-4322-a73a-9538d8630016 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Christian Franke via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Christian Franke Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 50S81TaP2277530 Corinna Vinschen via Cygwin wrote: > On Jan 27 20:35, Corinna Vinschen via Cygwin wrote: >> On Jan 27 19:59, Christian Franke via Cygwin wrote: >>> Christian Franke wrote: >>>> 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 >>>> >>> The problem is also reproducible with 3.5.6-1 and recent >>> 3.6.0-0.345.gb940faa144ca >> Yes, because I didn't have the time to look into it yet. >> >> I just did, and I think I see what's going on. This should be fixed >> in 3.5.7. > I just pushed a patch, please try cygwin-3.6.0-0.346.gfe6ddc15a356. $ uname -r 3.6.0-0.346.gfe6ddc15a356.x86_64 $ time ./mqhang mq_send... mq_send = 0 mq_receive... mq_receive = 8 mq_receive... mq_send... mq_receive = 8 mq_send = 0 real    0m5.002s user    0m0.000s sys     0m0.000s $ stress-ng --workload 16 --timeout 60 --verify stress-ng: info:  [4873] setting to a 1 min run per stressor stress-ng: info:  [4873] dispatching hogs: 16 workload stress-ng: info:  [4874] workload: running with 2 threads per stressor instance stress-ng: info:  [4873] skipped: 0 stress-ng: info:  [4873] passed: 16: workload (16) stress-ng: info:  [4873] failed: 0 stress-ng: info:  [4873] metrics untrustworthy: 0 stress-ng: info:  [4873] successful run completed in 1 min, 3.31 secs Looks good! Thanks, Christian -- 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