X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type; q=dns; s=default; b=HSUx+D 2mJv1NVR3E0vcjHKpA6i2NO0maLCqoTBXWResn9daIq7UZoA2gtDNqKuD97XLCuL xsYKzYO4PMGD4KH4KA+nDSsJx7n4wAHgRWZJiSopW7GG4S3F0eEb2WDGX8AE4PnP LeTNMuP/YCXa9xNot5A52Dne12QWL4zhGGuGg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type; s=default; bh=fzoPQNrTaava u3j0GEcd7x6RxFI=; b=KJ1AhqK8ScK4vMysnk/NS+ZvLNoW8YnY7Mu4ZeSs6bx1 CgAZka65cithB+FtyODgY+2kEDNQrzNTknv5Oo1rnsMJGEyBlW0SXVobdh6/xAoZ RsgM7rqnRfDQC4SUAd2GGas9+BVH66rtaP18IesrpkU3srJlNepnXi5omLe5lSI= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Message-ID: <54AAA9CB.5080604@redhat.com> Date: Mon, 05 Jan 2015 08:12:11 -0700 From: Eric Blake User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Cygwin 1.7 pthread hides segmentation fault References: In-Reply-To: OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="N8WVHc7PbAIeBCE46sgsKsk2VoDd3X7id" X-IsSubscribed: yes --N8WVHc7PbAIeBCE46sgsKsk2VoDd3X7id Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 01/04/2015 07:14 PM, Howard Guo wrote: > It seems that segfaults go unreported using pthread and Cygwin 1.7.33-2. >=20 > Here is a minimal code piece to reproduce: >=20 > #include >=20 > void* thread_run(void* _) { > int *p =3D 0; > *p =3D 1; > return NULL; > } >=20 > int main(int argc, char** argv) { > pthread_t t1; > pthread_create(&t1, NULL, thread_run, NULL); > pthread_join(t1, NULL); > return 0; > } >=20 > Simply compiled with gcc -pthread, and the result executable returns 0 > without reporting segmentation fault. >=20 > Could this be a bug? Your program induces undefined behavior, and therefore, it could be argued that the bug is in your program, not in cygwin. But you are correct that for optimal quality of implementation, we should be delivering a SIGSEGV at the point where you assign through the bogus pointer. (I'm the libsigsegv maintainer, and the only way to PORTABLY prove whether pthread is eating segfaults is to use mmap()/mprotect() and cause a fault through a valid pointer; as faulting through the NULL pointer is not portable.) --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --N8WVHc7PbAIeBCE46sgsKsk2VoDd3X7id Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJUqqnLAAoJEKeha0olJ0NqxVgIAI5jR5ZbWCZAj2Hi05F0N7U6 TgO8O/lvAvfziMS1VSiV5hmrh7AL+0ApXILCIw/4MbEuve6OgyajNv+Kb8Ln8fFq jGdKWpwdSGYcqNq0gGev2vKX7lzoUmPqL8fMFLEjOZjz8UjcZeFjvGGMkCqnwf/A v3LgMs1aV0/9jeAOxivim5Sm52dhgvYa2xiN0MhFKnmDd5BHzAFBK2ebXANWwsQ/ pt65H9Rgf3pKKdUi6WH+3+ANDJZJFThETAokUHSwj7/tPic6N+SCsZ/wPpq4cGsA 8Tb/YP350LyAxiYG+G5FlrRtcBCk0cMEpC5rUBDtnATBO5qDnW7w8RXP/mBTGss= =JDWq -----END PGP SIGNATURE----- --N8WVHc7PbAIeBCE46sgsKsk2VoDd3X7id--