delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/05/19/06:57:09

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: <c4335d1d-5394-2a41-f06b-feb5c9fb1398@t-online.de>
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
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 <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.
--------------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--

- Raw text -


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