Date: Tue, 23 Mar 2004 15:37:53 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: Joe Marcus Clarke <marcus@FreeBSD.org> Cc: "Russell D. Murphy Jr." <rdmurphy@vt.edu> Subject: Re: Mozilla crash and burn? Message-ID: <20040323153753.4805898a@Magellan.Leidinger.net> In-Reply-To: <1080050628.777.2.camel@gyros> References: <16479.30826.56912.226587@knock.econ.vt.edu> <20040322180728.F5352@carver.gumbysoft.com> <20040323121441.1e535e57@Magellan.Leidinger.net> <1080050628.777.2.camel@gyros>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --Multipart=_Tue__23_Mar_2004_15_37_53_+0100_VIrbLKse8dJ7HhMN Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 23 Mar 2004 09:03:48 -0500 Joe Marcus Clarke <marcus@FreeBSD.org> wrote: > Me, either. Mozilla works just fine for me. I've never seen any of the > crashes you describe. The URLs you mentioned above work fine for me (I > go to GnomeDesktop a lot). I'm running -CURRENT from yesterday with all > debugging disabled. Perhaps this is something triggered by WITNESS... - no kernel debugging (so no WITNESS...) - malloc.conf -> aj - sched ule - CFLAGS=-Os -pipe -fno-strict-aliasing - COPTFLAGS=-Os -pipe - CPUTYPE=athlon - WANT_COMPAT4_STDIO=YES - libmap: libc_r -> libpthread In the mean time I've set a breakpoint and noticed that the env lock doesn't get initialized. I changed nsprpub/pr/src/misc/prenv.c and are now compiling again... if someone with a faster machine (this is a 1 GHz Athlon-XP) wants to test it, the patch is attached. Bye, Alexander. -- I will be available to get hired in April 2004. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 --Multipart=_Tue__23_Mar_2004_15_37_53_+0100_VIrbLKse8dJ7HhMN Content-Type: text/plain; name="patch-nsprpub::pr::src::misc::prenv.c" Content-Disposition: attachment; filename="patch-nsprpub::pr::src::misc::prenv.c" Content-Transfer-Encoding: 8bit --- ./nsprpub/pr/src/misc/prenv.c.orig Fri Mar 15 00:21:00 2002 +++ ./nsprpub/pr/src/misc/prenv.c Tue Mar 23 14:42:11 2004 @@ -36,26 +36,12 @@ #include "primpl.h" /* Lock used to lock the environment */ -#if defined(_PR_NO_PREEMPT) -#define _PR_NEW_LOCK_ENV() -#define _PR_DELETE_LOCK_ENV() -#define _PR_LOCK_ENV() -#define _PR_UNLOCK_ENV() -#elif defined(_PR_LOCAL_THREADS_ONLY) -extern _PRCPU * _pr_primordialCPU; -static PRIntn _is; -#define _PR_NEW_LOCK_ENV() -#define _PR_DELETE_LOCK_ENV() -#define _PR_LOCK_ENV() if (_pr_primordialCPU) _PR_INTSOFF(_is); -#define _PR_UNLOCK_ENV() if (_pr_primordialCPU) _PR_INTSON(_is); -#else static PRLock *_pr_envLock = NULL; -#define _PR_NEW_LOCK_ENV() {_pr_envLock = PR_NewLock();} +#define _PR_NEW_LOCK_ENV() {_pr_envLock = PR_NewLock(); PR_ASSERT(NULL != _pr_envLock);} #define _PR_DELETE_LOCK_ENV() \ { if (_pr_envLock) { PR_DestroyLock(_pr_envLock); _pr_envLock = NULL; } } -#define _PR_LOCK_ENV() { if (_pr_envLock) PR_Lock(_pr_envLock); } -#define _PR_UNLOCK_ENV() { if (_pr_envLock) PR_Unlock(_pr_envLock); } -#endif +#define _PR_LOCK_ENV() { if (!_pr_envLock) _PR_NEW_LOCK_ENV(); PR_Lock(_pr_envLock); } +#define _PR_UNLOCK_ENV() { PR_ASSERT(NULL != _pr_envLock); PR_Unlock(_pr_envLock); } /************************************************************************/ --Multipart=_Tue__23_Mar_2004_15_37_53_+0100_VIrbLKse8dJ7HhMN--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040323153753.4805898a>