DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4ANBrjoo782075 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 4ANBrjoo782075 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=cWDQwjYq X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6CCFC3858D37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1732362823; bh=giWJT2oyUoNfSRL9rpG579RiNqhq1fHW9keHT040JNA=; h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=cWDQwjYqufCgFH1Vgq/v+HL41nGcb3R9fL3MMJKntg7mxyQY7GA913rN4E9Qo5mZ+ 8EMOQRuYPpRs+Yba8HRtkEATxQ7duz+hIPzTX+wo+cxdCy9fO0xezr0hD0sRw4Uw/p DdEfRug8Z4Qn4B3Q2n+K7S/5sLqdgNxnuOT8o/D8= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CA3963858CDB ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CA3963858CDB ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732362792; cv=none; b=ezK7jG++KVDqQJ21Y5h7OyNjG/2glWE1RwBsFmCoXYDcDNGWCZ7JJv6pj03sB+hlzXPnECvu12qsj75cBAVRBIzhNptx3GYmCJv6NfuIFLHC/jbvXnG8K3XnDk+lDuz1OMRyBP6MOo7gfVRdWrpG71K+vc7KL8GyxoJwqSeiRfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732362792; c=relaxed/simple; bh=JaLa4Eq7jZ65qzNrAyXsofPJiYLk1HvOSF9zTp5UUCE=; h=Date:From:To:Subject:Message-Id:Mime-Version:DKIM-Signature; b=qyi9zqW97eK+dG9Hid9l3I0zqhqg4JNEx2gtfaeOCBmPIn3cam80ASy6RnMIR+GHAri7uoyvyPkz/12b62/7DrG6dhpTHGHvcnyGo5ynbmF/Jwev2S+Y/JUD80AwB4xRiyidziCWqTHN8rLfEuhs7jsPeYKH4kCvANkNjfdz1XM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CA3963858CDB Date: Sat, 23 Nov 2024 20:53:07 +0900 To: cygwin AT cygwin DOT com Subject: Re: SIGKILL may no longer work after many SIGCONT/SIGSTOP signals Message-Id: <20241123205307.80e08e9669cd3e1ee72043a1@nifty.ne.jp> In-Reply-To: <20241120224308.000a18e48c0b8926e82e5147@nifty.ne.jp> References: <20241119182152 DOT c2195f50ed7091fbed644606 AT nifty DOT ne DOT jp> <20241120224308 DOT 000a18e48c0b8926e82e5147 AT nifty DOT ne DOT jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Sat__23_Nov_2024_20_53_07_+0900_QBl.I3+A=Ys5UQSQ" 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: Takashi Yano via Cygwin Reply-To: Takashi Yano Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" This is a multi-part message in MIME format. --Multipart=_Sat__23_Nov_2024_20_53_07_+0900_QBl.I3+A=Ys5UQSQ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Wed, 20 Nov 2024 22:43:08 +0900 Takashi Yano wrote: > On Tue, 19 Nov 2024 18:21:52 +0900 > Takashi Yano wrote: > > On Tue, 12 Nov 2024 10:53:58 +0100 > > Christian Franke wrote: > > > Found with 'stress-ng --cpu-sched' from current stress-ng upstream HEAD: > > > > > > Testcase (attached): > > > > > > $ gcc -O2 -o manysignals manysignals.c > > > > > > $ ./manysignals > > > fork() = 1833 > > > ... > > > fork() = 1848 > > > ... > > > kill(1833, 17) > > > ... > > > kill(1848, 17) > > > kill(1833, 9) > > > ... > > > kill(1848, 9) > > > waitpid(1833, ., 0) > > > > > > > > > Run this in second terminal: > > > > > > $ watch "ps | sed -n '1p;/manysignals/{/sed/d;p}'" > > > > > > If 'S' appear in the first column, the child processes likely reached > > > the final SIGSTOP state. This takes some time. The parent process may > > > still hang in first waitpid() but should not. > > > > > > If the parent process is aborted with ^C, child processes may be stopped > > > or left behind. Occasionally a child process that can not be stopped by > > > Cygwin (kill -9) is left behind. > > > > > > Tested with ancient (i7-2600K) and more recent (i7-14700K) CPU :-) > > > > > > > > > Unrelated to the above, but related to 'stress-ng --cpu-sched' which > > > uses sched_get/setscheduler(): > > > > > > - sched_getscheduler() always returns SCHED_FIFO. As far as I understand > > > Linux sched(7), this is a non-preemptive real-time policy. The > > > preemptive SCHED_RR would possibly a more reasonable value. > > > Unfortunately SCHED_OTHER cannot be used because it would require to > > > ignore the priority. > > > > > > - sched_setscheduler() always fails with ENOSYS. It IMO should allow to > > > set 'param->sched_priority' if 'policy' is equal to the value returned > > > by sched_getscheduler(). > > > > Thanks for the report and the test case. I'm now looking into > > the issue. Please wait a while. > > Hopefully, I have found the cause. > > The deadlock happens between main thread and wait_sig thread. > The main thread is waiting for the wait_sig thread triggering > wakeup event while the wait_sig thread is waiting previous > signal being processed by main thread. > > Let me consider how to fix that. I'd like to report my progress for this issue. The patch attached almost solves the problem. However, your test case is paused for tens of seconds, then ends normally. If the code: cpu_set_t cpus; CPU_ZERO(&cpus); CPU_SET(0, &cpus); if (sched_setaffinity(getpid(), sizeof(cpus), &cpus)) perror("setaffinity"); for (;;) sched_yield(); is changed to just: for (;;) sleep(1); the test case runs without pause. I think there still is a bug in the signal handling. -- Takashi Yano --Multipart=_Sat__23_Nov_2024_20_53_07_+0900_QBl.I3+A=Ys5UQSQ Content-Type: application/octet-stream; name="signal202411232024.patch" Content-Disposition: attachment; filename="signal202411232024.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vZXhjZXB0aW9ucy5jYyBiL3dpbnN1cC9jeWd3aW4v ZXhjZXB0aW9ucy5jYwppbmRleCA2MGMxZjU5NGYuLjAzZTYzZGJiZSAxMDA2NDQKLS0tIGEvd2lu c3VwL2N5Z3dpbi9leGNlcHRpb25zLmNjCisrKyBiL3dpbnN1cC9jeWd3aW4vZXhjZXB0aW9ucy5j YwpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgYXBpX2ZhdGFsX2RlYnVnICgpCiAKIC8qIEF0dGVtcHQg dG8gY2FyZWZ1bGx5IGhhbmRsZSBTSUdDT05UIHdoZW4gd2UgYXJlIHN0b3BwZWQuICovCiB2b2lk Ci1fY3lndGxzOjpoYW5kbGVfU0lHQ09OVCAoKQorX2N5Z3Rsczo6aGFuZGxlX1NJR0NPTlQgKHRo cmVhZGxpc3RfdCAqICZ0bF9lbnRyeSkKIHsKICAgaWYgKE5PVFNUQVRFIChteXNlbGYsIFBJRF9T VE9QUEVEKSkKICAgICByZXR1cm47CkBAIC0xNDM0LDcgKzE0MzQsMTEgQEAgX2N5Z3Rsczo6aGFu ZGxlX1NJR0NPTlQgKCkKICAgd2hpbGUgKDEpCiAgICAgaWYgKHNpZykJCS8qIEFzc3VtZSB0aGF0 IGl0J3Mgb2sgdG8ganVzdCB0ZXN0IHNpZyBvdXRzaWRlIG9mIGEKIAkJCSAgIGxvY2sgc2luY2Ug c2V0dXBfaGFuZGxlciBkb2VzIGl0IHRoaXMgd2F5LiAgKi8KLSAgICAgIHlpZWxkICgpOwkJLyog QXR0ZW1wdCB0byBzY2hlZHVsZSBhbm90aGVyIHRocmVhZC4gICovCisgICAgICB7CisJY3lnaGVh cC0+dW5sb2NrX3RscyAodGxfZW50cnkpOyAvKiBVbmxvY2sgZm9yIG90aGVyIHRocmVhZHMgKi8K Kwl5aWVsZCAoKTsJLyogQXR0ZW1wdCB0byBzY2hlZHVsZSBhbm90aGVyIHRocmVhZC4gICovCisJ dGxfZW50cnkgPSBjeWdoZWFwLT5maW5kX3RscyAoX21haW5fdGxzKTsKKyAgICAgIH0KICAgICBl bHNlIGlmIChzaWdzZW50KQogICAgICAgYnJlYWs7CQkvKiBTSUdDT05UIGhhcyBiZWVuIHJlY29n bml6ZWQgYnkgb3RoZXIgdGhyZWFkICovCiAgICAgZWxzZQpAQCAtMTQ3MywxMCArMTQ3Nyw0NCBA QCBzaWdwYWNrZXQ6OnByb2Nlc3MgKCkKIAogICBteXNlbGYtPnJ1c2FnZV9zZWxmLnJ1X25zaWdu YWxzKys7CiAKKyAgLyogV2FpdCB1bnRpbCBhbm90aGVyIHNpZ25hbCBpcyBjb21wbGV0ZS4gKi8K KyAgRFdPUkQgdDA7CisgIHQwID0gR2V0VGlja0NvdW50ICgpOworICB0bF9lbnRyeSA9IGN5Z2hl YXAtPmZpbmRfdGxzIChfbWFpbl90bHMpOworICBfbWFpbl90bHMtPmxvY2sgKCk7CisgIHdoaWxl IChfbWFpbl90bHMtPnNpZykKKyAgICB7CisgICAgICBpZiAoR2V0VGlja0NvdW50ICgpIC0gdDAg PCAxMCkKKwl7CisJICBfbWFpbl90bHMtPnVubG9jayAoKTsKKwkgIGN5Z2hlYXAtPnVubG9ja190 bHMgKHRsX2VudHJ5KTsKKwkgIHlpZWxkKCk7CisJICB0bF9lbnRyeSA9IGN5Z2hlYXAtPmZpbmRf dGxzIChfbWFpbl90bHMpOworCSAgX21haW5fdGxzLT5sb2NrICgpOworCX0KKyAgICAgIGVsc2Ug aWYgKCFJc0V2ZW50U2lnbmFsbGVkIChfbWFpbl90bHMtPmdldF9zaWduYWxfYXJyaXZlZCAoKSkp CisJeworCSAgZGVidWdfcHJpbnRmKCJzaWcgPSAlZCwgICIKKwkJICAgICAgICJidXQgc2lnbmFs X2Fycml2ZWQgaXMgbm90IHJhaXNlZC4gV2h5PyBNYXliZSBhIGJ1Zz8iLAorCQkgICAgICAgX21h aW5fdGxzLT5zaWcpOworCSAgX21haW5fdGxzLT5zZXRfc2lnbmFsX2Fycml2ZWQgKCk7IC8qICEh IEV4cGVyaW1lbnRhbCAhISAqLworCSAgdDAgPSBHZXRUaWNrQ291bnQgKCk7CisJfQorICAgICAg ZWxzZQorCXsKKwkgIF9tYWluX3Rscy0+dW5sb2NrICgpOworCSAgY3lnaGVhcC0+dW5sb2NrX3Rs cyAodGxfZW50cnkpOworCSAgcmMgPSAtMTsKKwkgIGdvdG8gZG9uZTsKKwl9CisgICAgfQorICBf bWFpbl90bHMtPnVubG9jayAoKTsKKyAgY3lnaGVhcC0+dW5sb2NrX3RscyAodGxfZW50cnkpOwor CiAgIGlmIChzaS5zaV9zaWdubyA9PSBTSUdDT05UKQogICAgIHsKICAgICAgIHRsX2VudHJ5ID0g Y3lnaGVhcC0+ZmluZF90bHMgKF9tYWluX3Rscyk7Ci0gICAgICBfbWFpbl90bHMtPmhhbmRsZV9T SUdDT05UICgpOworICAgICAgX21haW5fdGxzLT5oYW5kbGVfU0lHQ09OVCAodGxfZW50cnkpOwog ICAgICAgY3lnaGVhcC0+dW5sb2NrX3RscyAodGxfZW50cnkpOwogICAgIH0KIApkaWZmIC0tZ2l0 IGEvd2luc3VwL2N5Z3dpbi9sb2NhbF9pbmNsdWRlcy9jeWd0bHMuaCBiL3dpbnN1cC9jeWd3aW4v bG9jYWxfaW5jbHVkZXMvY3lndGxzLmgKaW5kZXggZjY3ZTkxMzZjLi4wNjJlM2RlZmMgMTAwNjQ0 Ci0tLSBhL3dpbnN1cC9jeWd3aW4vbG9jYWxfaW5jbHVkZXMvY3lndGxzLmgKKysrIGIvd2luc3Vw L2N5Z3dpbi9sb2NhbF9pbmNsdWRlcy9jeWd0bHMuaApAQCAtMTU3LDYgKzE1Nyw4IEBAIHR5cGVk ZWYgc3RydWN0IHN0cnVjdF93YWl0cQogZXh0ZXJuICJDIiBpbnQgX19zamZhdWx0IChqbXBfYnVm KTsKIGV4dGVybiAiQyIgaW50IF9fbGpmYXVsdCAoam1wX2J1ZiwgaW50KTsKIAorc3RydWN0IHRo cmVhZGxpc3RfdDsKKwogdHlwZWRlZiB1aW50cHRyX3QgX190bHNzdGFja190OwogCiBjbGFzcyBf Y3lndGxzCkBAIC0yNjIsNyArMjY0LDcgQEAgcHVibGljOiAvKiBEbyBOT1QgcmVtb3ZlIHRoaXMg cHVibGljOiBsaW5lLCBpdCdzIGEgbWFya2VyIGZvciBnZW50bHNfb2Zmc2V0cy4gKi8KICAgewog ICAgIHdpbGxfd2FpdF9mb3Jfc2lnbmFsID0gZmFsc2U7CiAgIH0KLSAgdm9pZCBoYW5kbGVfU0lH Q09OVCAoKTsKKyAgdm9pZCBoYW5kbGVfU0lHQ09OVCAodGhyZWFkbGlzdF90ICogJik7CiAgIHN0 YXRpYyB2b2lkIGNsZWFudXBfZWFybHkoc3RydWN0IF9yZWVudCAqKTsKIHByaXZhdGU6CiAgIHZv aWQgY2FsbDIgKERXT1JEICgqKSAodm9pZCAqLCB2b2lkICopLCB2b2lkICosIHZvaWQgKik7CmRp ZmYgLS1naXQgYS93aW5zdXAvY3lnd2luL3NpZ3Byb2MuY2MgYi93aW5zdXAvY3lnd2luL3NpZ3By b2MuY2MKaW5kZXggOWUyMGFlNmY3Li4yZGZmMDY2NDAgMTAwNjQ0Ci0tLSBhL3dpbnN1cC9jeWd3 aW4vc2lncHJvYy5jYworKysgYi93aW5zdXAvY3lnd2luL3NpZ3Byb2MuY2MKQEAgLTc2NCw3ICs3 NjQsNyBAQCBzaWdfc2VuZCAoX3BpbmZvICpwLCBzaWdpbmZvX3QmIHNpLCBfY3lndGxzICp0bHMp CiAgIGlmICh3YWl0X2Zvcl9jb21wbGV0aW9uKQogICAgIHsKICAgICAgIHNpZ3Byb2NfcHJpbnRm ICgiV2FpdGluZyBmb3IgcGFjay53YWtldXAgJXAiLCBwYWNrLndha2V1cCk7Ci0gICAgICByYyA9 IFdhaXRGb3JTaW5nbGVPYmplY3QgKHBhY2sud2FrZXVwLCBXU1NDKTsKKyAgICAgIHJjID0gY3ln d2FpdCAocGFjay53YWtldXAsIFdTU0MpOwogICAgICAgRm9yY2VDbG9zZUhhbmRsZSAocGFjay53 YWtldXApOwogICAgIH0KICAgZWxzZQpAQCAtMTMyOSw2ICsxMzI5LDkgQEAgd2FpdF9zaWcgKFZP SUQgKikKICAgICAgIHNpZ3BhY2tldCBwYWNrID0ge307CiAgICAgICBpZiAoc2lncS5yZXRyeSkK IAlwYWNrLnNpLnNpX3NpZ25vID0gX19TSUdGTFVTSDsKKyAgICAgIGVsc2UgaWYgKCghUGVla05h bWVkUGlwZSAobXlfcmVhZHNpZywgTlVMTCwgMCwgTlVMTCwgJm5iLCBOVUxMKQorCQl8fCBuYiA9 PSAwKSAmJiBzaWdxLnN0YXJ0Lm5leHQpCisJcGFjay5zaS5zaV9zaWdubyA9IF9fU0lHRkxVU0g7 CiAgICAgICBlbHNlIGlmICghUmVhZEZpbGUgKG15X3JlYWRzaWcsICZwYWNrLCBzaXplb2YgKHBh Y2spLCAmbmIsIE5VTEwpKQogCVNsZWVwIChJTkZJTklURSk7CS8qIEFzc3VtZSB3ZXJlIGV4aXRp bmcuICBOZXZlciBleGl0IHRoaXMgdGhyZWFkICovCiAgICAgICBlbHNlIGlmIChuYiAhPSBzaXpl b2YgKHBhY2spIHx8ICFwYWNrLnNpLnNpX3NpZ25vKQpAQCAtMTQ2OCw2ICsxNDcxLDE3IEBAIHdh aXRfc2lnIChWT0lEICopCiAJCSAgICAgIHFuZXh0LT5zaS5zaV9zaWdubyA9IDA7CiAJCSAgICB9 CiAJCX0KKwkgICAgICAvKiBDbGVhbnVwIHNpZ3EgY2hhaW4uIFJlbW92ZSBlbnRyaWVzIGhhdmlu ZyBzaV9zaWdubyA9PSAwLgorCQkgVGhleSB3ZXJlIG9uY2UgY2xlYW5lZCBvYmV2ZSwgaG93ZXZl ciBzaWdwYWNrZXQ6OnByb2Nlc3MoKQorCQkgbWF5IHNldCBzaV9zaWdubyB0byAwIHVzaW5nIHNp Z19jbGVhcigpLiAqLworCSAgICAgIHEgPSAmc2lncS5zdGFydDsKKwkgICAgICB3aGlsZSAoKHFu ZXh0ID0gcS0+bmV4dCkpCisJCXsKKwkJICBpZiAocW5leHQtPnNpLnNpX3NpZ25vKQorCQkgICAg cSA9IHFuZXh0OworCQkgIGVsc2UKKwkJICAgIHEtPm5leHQgPSBxbmV4dC0+bmV4dDsKKwkJfQog CSAgICAgIC8qIEF0IGxlYXN0IG9uZSBzaWduYWwgc3RpbGwgcXVldWVkPyAgVGhlIGV2ZW50IGlz IHVzZWQgaW4gc2VsZWN0CiAJCSBvbmx5LCBhbmQgb25seSB0byBkZWNpZGUgaWYgV0ZNTyBzaG91 bGQgd2FrZSB1cCBpbiBjYXNlIGEKIAkJIHNpZ25hbGZkIGlzIHdhaXRpbmcgdmlhIHNlbGVjdC9w b2xsIGZvciBiZWluZyByZWFkeSB0byByZWFkIGEK --Multipart=_Sat__23_Nov_2024_20_53_07_+0900_QBl.I3+A=Ys5UQSQ 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 --Multipart=_Sat__23_Nov_2024_20_53_07_+0900_QBl.I3+A=Ys5UQSQ--