DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 54JAv82V1913922 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 54JAv82V1913922 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=dChcz7fU X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9E630385840E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1747652226; bh=8BRaNiRDNVg0TQViV0n6NGrPev1A+ErPVAYASOiIEXs=; h=Subject:To:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=dChcz7fUv+EPvhJAlo6RBnFnPg8cMQVyYyYIUseI76APv3T3SF96JY8S+FhnxbwIg C+J+pF8Ka267aB7rpFHD48ArzJpHd4e/dhPIyBeJ4/V5nY93rxastgNGXX6AkRwoY4 +25K7i5drPGwyc16JXP/Jaejzxed3srpNPhYDGjY= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BB5D83858D3C ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BB5D83858D3C ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1747652148; cv=none; b=sQpo/DCKd5QjaPkvWsGD5vHTBMv9voqHfKbjM2C406zAds4MMieUPxTfboteyUNUgosM0VRzdiEZdO/vzEnJ7BQYSMcLe3p1H7rjux/VzBN0JGjBMnblqgsLySxU3Q1gi6r0/LXEODqtzlUhOdzBXJ5R/gR/lWp0oAUa0mP6SF4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1747652148; c=relaxed/simple; bh=BArPemr5cACfKgD8QxyLpZ30FpZp7PbonFtErl6Cfg8=; h=From:Subject:To:Message-ID:Date:MIME-Version; b=oM+AhznwCGHcJ/7k8W33oPFpgTitkgMdJhs+6FPd2QOnPQZnj6RS+X2V0w9U/HKgfIY2vK5vk65mOa/WW1KsYWvVQZcha6NkA/3MVB62UOZ4FZ4wofsHycWsDO29rP+JkEvevgCCHu/h4acIWPkT7aY3Q4f0wwMW887IvCALEqA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BB5D83858D3C Subject: Crash or hang if SIGSEGV+SIGALRM are nested To: cygwin AT cygwin DOT com Message-ID: Date: Mon, 19 May 2025 12:55:46 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 SeaMonkey/2.53.20 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------050EBF00792121ED6F595968" X-TOI-EXPURGATEID: 150726::1747652145-F67FA4B3-9A59C5E6/0/0 CLEAN NORMAL X-TOI-MSGID: 6b98f6f1-a61c-4fbb-a8f6-8999290fdf79 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Christian Franke via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Christian Franke Sender: "Cygwin" This is a multi-part message in MIME format. --------------050EBF00792121ED6F595968 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit The attached testcase was originally intended to investigate why a SIGSEGV from non-signal code could interrupt an already running signal handler. https://sourceware.org/pipermail/cygwin-patches/2025q2/013703.html If run without strace, the testcase may crash silently (with exit status 0): $ uname -r 3.7.0-0.98.gb39b510c1ce6.x86_64 $ gcc -o sigsegvalrm sigsegvalrm.c $ while { ./sigsegvalrm; s=$?; echo exit $s; test $s = 42; }; do :; done ... [SEGV during ALRM] [SEGV] [ALRM during SEGV] [ALRM] 101 total, 24 ALRM during SEGV, 13 SEGV during ALRM exit 42 ... [SEGV during ALRM] [ALRM] [SEGV] [ALRM] [SEGV] [ALRM during SEGV] [SEGV] [ALRM] [SEGV] exit 0 If the above was run with 'strace ./sigsegvalrm', the result was an infinte loop: https://cygwin.com/pipermail/cygwin/2025-May/258144.html Fortunately this is fixed since b39b510c. A new result: ... [SEGV during ALRM]   205  556472 [main] sigsegvalrm 1342 fhandler_console::write: 19 = fhandler_console::write(...)    91  556563 [main] sigsegvalrm 1342 write: 19 = write(1, 0x100403020, 19)    81  556644 [main] sigsegvalrm 1342 clock_nanosleep: clock_nanosleep (0.001000000)  8396  565040 [itimer] sigsegvalrm 1342 timer_tracker::thread_func: 0x7FFE4CC69640 timer expired   230  565270 [main] sigsegvalrm 1342 clock_nanosleep: 0 = clock_nanosleep(1, 0, 0.001000000, 0.d)   123  565393 [itimer] sigsegvalrm 1342 timer_tracker::thread_func: 0x7FFE4CC69640 sending signal 14   230  565623 [main] sigsegvalrm 1342 set_signal_mask: setmask 2400, newmask 0, mask_bits 2400   147  565770 [main] sigsegvalrm 1342 pthread_sigmask: 0 = pthread_sigmask(0, 0x100407128, 0x0)   220  565990 [itimer] sigsegvalrm 1342 sig_send: sendsig 0x158, pid 1342, signal 14, its_me 1   278  566268 [main] sigsegvalrm 1342 pthread_sigmask: 0 = pthread_sigmask(0, 0x0, 0x100407128) --- Process 148 (pid: 1342), exception c0000005 at 0000000100401287  1579  567847 [sig] sigsegvalrm 1342 sigpacket::process: signal 14 processing   189  568036 [sig] sigsegvalrm 1342 init_cygheap::find_tls: sig 14   235  568271 [sig] sigsegvalrm 1342 sigpacket::process: using tls 0x7FFFFCE00   195  568466 [main] sigsegvalrm 1342 exception::handle: In cygwin_except_handler exception 0xC0000005 at 0x100401287 sp 0x7FFFFCBE0   131  568597 [sig] sigsegvalrm 1342 sigpacket::process: signal 14, signal handler 0x100401080    82  568679 [main] sigsegvalrm 1342 exception::handle: In cygwin_except_handler signal 11 at 0x100401287    79  568758 [sig] sigsegvalrm 1342 sigpacket::setup_handler: suspending thread, tls 0x7FFFFCE00, _main_tls 0x7FFFFCE00 [~30s delay] --- Process 148 (pid: 1342) thread 14964 created --- Process 148 (pid: 1342) thread 14048 created [~30s delay] --- Process 148 (pid: 1342) thread 5184 exited with status 0x0 --- Process 148 (pid: 1342) thread 5056 exited with status 0x0 [several minutes delay] --- Process 148 (pid: 1342) thread 9388 created The process then ignores SIGKILL. BTW, this testcase without a second signal now works as expected: https://sourceware.org/pipermail/cygwin/2025-March/257726.html -- Regards, Christian --------------050EBF00792121ED6F595968 Content-Type: text/plain; charset=UTF-8; name="sigsegvalrm.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sigsegvalrm.c" I2luY2x1ZGUgPHNldGptcC5oPg0KI2luY2x1ZGUgPHNpZ25hbC5oPg0KI2luY2x1ZGUgPHN0 ZGlvLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQoNCnN0YXRpYyB2b2xhdGlsZSBzaWdfYXRv bWljX3QgdG90YWwsIG5lc3QxLCBuZXN0MjsNCnN0YXRpYyB2b2xhdGlsZSBzaWdfYXRvbWlj X3QgaW5zaWcxLCBpbnNpZzI7DQpzdGF0aWMgc2lnam1wX2J1ZiBzamI7DQoNCnN0YXRpYyBj b25zdCBpbnQgZGVsYXkgPSAxMDAwOw0KDQpzdGF0aWMgdm9pZCBzaWdoYW5kbGVyMShpbnQg c2lnKQ0Kew0KICAodm9pZClzaWc7DQogIGluc2lnMSA9IDE7DQogIHRvdGFsKys7DQogIGlm IChpbnNpZzIpIHsNCiAgICB3cml0ZSgxLCAiW0FMUk0gZHVyaW5nIFNFR1ZdXG4iLCAxOSk7 DQogICAgbmVzdDErKzsNCiAgfQ0KICBlbHNlDQogICAgd3JpdGUoMSwgIltBTFJNXVxuIiwg Nyk7DQogIGluc2lnMSA9IDA7DQp9DQoNCnN0YXRpYyB2b2lkIHNpZ2hhbmRsZXIyKGludCBz aWcpDQp7DQogICh2b2lkKXNpZzsNCiAgaW5zaWcyID0gMTsNCiAgdG90YWwrKzsNCiAgaWYg KGluc2lnMSkgew0KICAgIGluc2lnMSA9IDA7DQogICAgd3JpdGUoMSwgIltTRUdWIGR1cmlu ZyBBTFJNXVxuIiwgMTkpOw0KICAgIG5lc3QyKys7DQogIH0NCiAgZWxzZQ0KICAgIHdyaXRl KDEsICJbU0VHVl1cbiIsIDcpOw0KICB1c2xlZXAoZGVsYXkpOw0KICBpbnNpZzIgPSAwOw0K ICBzaWdsb25nam1wKHNqYiwgMSk7DQogIHdyaXRlKDEsICJbRkFJTF1cbiIsIDcpOw0KfQ0K DQppbnQgbWFpbigpDQp7DQogIHNpZ25hbChTSUdBTFJNLCBzaWdoYW5kbGVyMSk7DQogIHNp Z25hbChTSUdTRUdWLCBzaWdoYW5kbGVyMik7DQogIHVhbGFybShkZWxheSwgZGVsYXkpOw0K DQogIHdoaWxlIChzaWdzZXRqbXAoc2piLCAxKSkNCiAgICA7DQoNCiAgLy8gbG9vcDoNCiAg aWYgKHRvdGFsIDwgMTAwKQ0KICAgICoodm9sYXRpbGUgY2hhciAqKTAgPSAwOyAvLyBnb3Rv IGxvb3A7DQoNCiAgdWFsYXJtKDAsIDApOw0KICBwcmludGYoIiVkIHRvdGFsLCAlZCBBTFJN IGR1cmluZyBTRUdWLCAlZCBTRUdWIGR1cmluZyBBTFJNXG4iLA0KICAgIHRvdGFsLCBuZXN0 MSwgbmVzdDIpOw0KICByZXR1cm4gNDI7DQp9DQo= --------------050EBF00792121ED6F595968 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 --------------050EBF00792121ED6F595968--