Date: Mon, 1 Sep 2008 14:12:15 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Andriy Gapon <avg@icyb.net.ua> Cc: Daniel Eischen <deischen@freebsd.org>, David Xu <davidxu@freebsd.org>, freebsd-threads@freebsd.org Subject: Re: mysterious hang in pthread_create Message-ID: <20080901111215.GS2038@deviant.kiev.zoral.com.ua> In-Reply-To: <48BBC9A3.1050905@icyb.net.ua> References: <Pine.GSO.4.64.0808291223240.5086@sea.ntplx.net> <20080829190506.GA2038@deviant.kiev.zoral.com.ua> <Pine.GSO.4.64.0808301128410.9898@sea.ntplx.net> <20080830155622.GF2038@deviant.kiev.zoral.com.ua> <Pine.GSO.4.64.0808301200460.9898@sea.ntplx.net> <20080830184512.GH2038@deviant.kiev.zoral.com.ua> <48BBA369.9010108@freebsd.org> <48BBA925.1000303@icyb.net.ua> <20080901084548.GQ2038@deviant.kiev.zoral.com.ua> <48BBC9A3.1050905@icyb.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--I30T0A8abtL/6dyk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Sep 01, 2008 at 01:53:23PM +0300, Andriy Gapon wrote: > on 01/09/2008 11:45 Kostik Belousov said the following: > >On Mon, Sep 01, 2008 at 11:34:45AM +0300, Andriy Gapon wrote: > >>on 01/09/2008 11:10 David Xu said the following: > >>>The ancient bug is in rtld, rlock_acquire() and wlock_acquire() test > >>>thread_flag as a boolean value, because pt_iterate_phdr() tries to > >>>lock two locks at same time, this test will always fail once it > >>>acquired first lock. > >>> > >>>The following silly patch fixes the problem Andriy encountered: > >>I can confirm - this fixed the issue for me. > >>David, thanks! > > > >Does libc_r still work with patch applied ? >=20 > In what sense? > The test program that I posted seems to hang in both cases (patched and= =20 > unpatched rtld). The David' patch changes the code used to support libc_r operations. Even on CURRENT, if you run 4.x-compiled binary with the support of compat-4x libraries, this code from /libexec/ld-elf.so.1 (installed by CURRENT buildworld) provides locking for rtld. --I30T0A8abtL/6dyk Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAki7zg8ACgkQC3+MBN1Mb4gT7ACcDy0jhMtJwBDPwvaJM+fRm8fW 4dUAn08j/3qJf8x59JTuJr01uJ4AXJPl =fZwf -----END PGP SIGNATURE----- --I30T0A8abtL/6dyk--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080901111215.GS2038>