DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 55NAF5Ix3611552 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 55NAF5Ix3611552 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=GERVQ4Kt X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5C01A3856DEE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1750673704; bh=/+N+UAuHhAUAP/LMSLdmIZkHz/lVFsw+8aSlJLFKb+k=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=GERVQ4Ktoo88NkFWMPr7ROvfbfTQmWLaTdQuLq5Jb0ilBGMSfh3sVDaDJMzuhjQ3s 0veMx6f5ummxcNMKnNGf8M3tErYy1qanmpW4A8cTHBybgsPxpqaUOhvnKKR26sGipF sXaXB1982C3hLLg6gvSRRBSDCEFgysWDKm8O4VjI= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 24FF43856DEE ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 24FF43856DEE ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750673678; cv=none; b=ujZ95NJTYIAQiymiGEfwr1x8HVogozROeyMUlXrsmsu69De0rxlHQwM12LvwKoF+ZMmepyWwK0ECT+jN4EjInWXL00jn2rtKmMKj3+IkRwEkfQdLKBM3xxih5sVeq0Vp4V2Dzi7pta4g9fsFiEnETXOpPbtxXJ2ddZbzn9sIQ5I= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750673678; c=relaxed/simple; bh=wcQcp8OVu+j/YpvVOaLURrEyVxC5XbkBdIQCVvF6p6I=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=q+fPeMWyN1+VcIDGc1tMmAwFZrk+7DdgQMCP9KoushkYgshn/o2fbGZwGEUL8pq6A4iynyowTb/HJqiAKaR9TkPAlEnAl2tPYpxhA4Iq2yBNhb0hmjW40ree4i1vaqwGTtn0WMhn1Q4p8Z8naJk5W0lkpyaEU/5ty5STVYnUsyY= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 24FF43856DEE X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750673677; x=1751278477; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sJc9ocsydAM4Bahqey8Y4qBT006t1UGWVnxvYFkXcyY=; b=HHYyXuOraA/jhdGctumbZTaddYHz3LC++5V3l0gQ9sR3+DwQHdkI8Xykl9F186/tts OtN2rOQQlvBCOcJsdyoC1b1+GSuGAnaK/WPpoa0wQuPqEuGsC1w64pAFtYPHz0dIsNOM 57Qtmts//16eCBUGRgJ+JOC9CtXIQJBy7DKQ2T+sD+Bur5LA1HCWH6XysVHz/2hJS7Yi 6JETCBlZQ8ln9qb/B7y8xT4Am9GUnUKh4tOmfL+qCMBxJKORGgXUYL62TwNOlO+rwn65 sPIBXg+luakhJ5jJ8UrzpTj5Xl3SUkND8ZRVolrbocXv1gY+8PxtTyy9TT03IxhSvXzQ nJ3g== X-Gm-Message-State: AOJu0YyQmzJ5rTY4kmBc0W0wTilCcLiHlxzR2zJIYZ/WtivJpAY7T941 HD+WLYrgGHX+LKmggCmpZha2xSpXlRff0qAeixMQqO68rAoFj+59zTDRJS92dF2EztWp70nBRvK /smzz6FPaPgxYV/GjnrmQL4AcvZb0W3zdDiEf X-Gm-Gg: ASbGncsfpwc2eIDVYeXmB3rMlFlIYB+M5Sri48rk1sLeQod86YHAZjrHnQwbW2A2SGE swhlyP7hZ80qw2iCbFkMqqgh0YZXScMWNpK0A7NwxNOb2xobmhZRnmRM0LnHbl8lcmcanW1SP6T aIrBrZLMt2RcqxxIdtnvTeZ3iR6w8KFfUIxrU9zCY6Us0= X-Google-Smtp-Source: AGHT+IF+LfCOkxGbsx2YLedsna+OxnXTbIytIBx7TEkcAiOUGjXrNxjiYjBjvDhnVmJC6aEG1hrRiUpA9wR6RxgUlXE= X-Received: by 2002:a05:6871:54c:b0:2ea:f11a:4ba2 with SMTP id 586e51a60fabf-2eeee5c29b0mr2584105fac.12.1750673676944; Mon, 23 Jun 2025 03:14:36 -0700 (PDT) MIME-Version: 1.0 References: <7a8fd4a7-e07c-4d09-9741-72d3b2b27b06 AT dronecode DOT org DOT uk> In-Reply-To: Date: Mon, 23 Jun 2025 19:14:00 +0900 X-Gm-Features: AX0GCFtJPBwceC-7kuHAG2Ck7nNr9-JW6ceBS19ti_6_syv6IVr2Shu1DFhGL4w Message-ID: Subject: Re: SIGSEGV in pthread_testcancel() likely due to NULL TLS access (Re: A process spawned inside gem command running on latest ruby segfaults) To: cygwin AT cygwin DOT com 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: Daisuke Fujimura via Cygwin Reply-To: Daisuke Fujimura Content-Type: text/plain; charset="utf-8" Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 55NAF5Ix3611552 I tried running a ruby program with openssl-3.0.16-2, and confirmed that the SIGSEGV no longer occurs. Thank you for the advice. On Mon, Jun 23, 2025 at 2:04 AM Jeremy Drake wrote: > > On Sun, 22 Jun 2025, Daisuke Fujimura via Cygwin wrote: > > > The reproduction procedure could be simplified. > > > > A segmentation fault (SIGSEGV) occurs when running a Ruby script using > > Ruby 3.4.2 (test package) on Cygwin 3.6.3-1 (x86_64), where Thread.new > > is used to require 'openssl' inside a thread. > > > > The crash path leads from OpenSSL’s OPENSSL_thread_stop() to > > CRYPTO_THREAD_write_lock() and then pthread_rwlock_wrlock(), which > > invokes pthread_testcancel(). At that point, a NULL pointer > > dereference seems to occur, possibly during access to TLS data. > > > > Thread 8 "repro.rb:1" received signal SIGSEGV, Segmentation fault. > > [Switching to Thread 7380.0x25e4] > > 0x0000000000000000 in ?? () > > (gdb) where > > #0 0x0000000000000000 in ?? () > > #1 0x00007ffe4ad2a0e4 in pthread_testcancel () at > > /usr/src/debug/cygwin-3.6.3-1/winsup/cygwin/thread.cc:399 > > #2 pthread_rwlock_wrlock (rwlock=0xa002a9010) at > > /usr/src/debug/cygwin-3.6.3-1/winsup/cygwin/thread.cc:4352 > > #3 0x00007ffe4ae0b0d4 in _sigfe () at sigfe.s:35 > > #4 0x00000003ff54e3f9 in CRYPTO_THREAD_write_lock (lock= > out>) at crypto/threads_pthread.c:110 > > #5 0x00000003ff541922 in init_thread_remove_handlers > > (handsin=handsin AT entry=0x0) at crypto/initthread.c:178 > > #6 0x00000003ff541d43 in OPENSSL_thread_stop () at crypto/initthread.c:235 > > #7 0x00000003ff53fdd3 in DllMain (hinstDLL=, > > fdwReason=, lpvReserved=) > > at crypto/dllmain.c:38 > > #8 0x00007ffe8f2fd6ac in ?? () > > #9 0x00007ffe8f38b590 in ?? () > > #10 0x00007ffe8f38b590 in ?? () > > #11 0x0000000000000000 in ?? () > > This should be fixed by test release openssl-3.0.16-2 > (https://cygwin.com/pipermail/cygwin-announce/2025-May/012341.html). I > don't know what the plan is for making that stable, or getting a patch > upstream. -- 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