Subject: Re: current pthread/sa buglist
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Sergio Jimenez Romero <tripledes@eslack.org>
List: current-users
Date: 02/26/2003 00:12:56
--=.658GZkBSEDCTgM
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On 07 Feb 2003 17:59:39 -0500
"Nathan J. Williams" <nathanw@wasabisystems.com> wrote:

> 
> Here's my list of known issues with pthread and/or SA stuff, as of the
> latest fixes I've done today.
> 
> Did I miss anything?
>         
>         - Nathan
> 
> 
>  * SA + MP -> boom (variety of reports).
> 
>  * preempt() in a SA process can lose state in the kernel (Nick
>    Hudson: glib2 maintest, src/regress/lib/libpthread/preempt1).
> 
>  * mozilla "acts funny":
>     * hangs sometimes when printing (Tom Ivar Helbekkmo on current-users)
>     * hangs sometimes when switching tabs (Steve Bellovin on
>       current-users).
>     * hangs sometimes when writing mail (Marti Kuparinen and Daniel
>       Carosone on wcurrent-users).
>     * on alpha, dies without core dumping or displaying anything
>       (Jarkko Teppo on current-users).
> 
>  * mozilla won't build on powerpc platforms due to gcc's weird option
>    handling (accepting -pthread when it's not valid) and mozilla's
>    semi-bogus "just see if -pthread errors out" configure test for
>    -pthread.
> 
>  * glib's configure test for a OSF/1 dlopen("libpthread.so") problem
>    fails and it concludes that RTLD_GLOBAL doesn't work. This breaks
>    the gmodule interface (and is the root cause of PR 20050, galeon
>    failing).
>    Details: glib has a configure test that dlopen's libpthread.so,
>    which causes __isthreaded to be set to 1, which causes the mutex
>    stubs in libc to abort. The abort exit is nonzero and causes the
>    configure test to believe that RTLD_GLOBAL is broken. The pthread
>    library is unlikely to support being dlopen'd (conflicts between
>    libpthread's routines and libc's weak stubs), and this configure
>    test probably exists in several packages. Should
>    dlopen("libpthread") be allowed to fail more quietly?
> 
>  * sem_wait() in a single-threaded process fails with an
>    assertion. Needs handling similar to pthread_cond_timedwait().
> 
>  * stack of main thread is smaller than ulimit suggests (breaks some
>    Python stuff; reported by Matthias Drochner).
> 
>  * vfork() + exec*() leaves libc environment lock locked in parent
>    process (root cause of PR 20214, analyzed by Matthias Drochner).
> 
>  * vfork() should stop all LWPs in the parent (problem found by
>    inspection by Matthias Drochner, while working on the above problem).
> 
>  * ld.elf_so is not thread-safe.
> 
>  * stub resolver in libc is not thread-safe.
> 

I have some similar problems (like mozilla) with phoenix, but it's a bit strange because it's phoenix-linux. It doesn't make any core file and doesn't print any error.

If it hasn't any point with pthreads, I'm sorry.

Best Regards.

-- 
TripleDES <TripleDES@eSlack.org>

Do you BSD?

http://www.hispabsd.org

--=.658GZkBSEDCTgM
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (NetBSD)

iD8DBQE+W/h97+miUKRu9UMRAk56AJ9v+ucuYp4b1nlk7gsBMJG6TNnS3QCcCtji
I5z0qEKSB+oiuRfAt822AuU=
=xuXZ
-----END PGP SIGNATURE-----

--=.658GZkBSEDCTgM--