From owner-freebsd-hackers Fri Jan 28 10:27:35 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (Postfix) with ESMTP id 40FB014F6F for ; Fri, 28 Jan 2000 10:27:31 -0800 (PST) (envelope-from jdp@polstra.com) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.3/8.9.3) with ESMTP id KAA05580; Fri, 28 Jan 2000 10:27:30 -0800 (PST) (envelope-from jdp@polstra.com) From: John Polstra Received: (from jdp@localhost) by vashon.polstra.com (8.9.3/8.9.1) id KAA05467; Fri, 28 Jan 2000 10:27:29 -0800 (PST) (envelope-from jdp@polstra.com) Date: Fri, 28 Jan 2000 10:27:29 -0800 (PST) Message-Id: <200001281827.KAA05467@vashon.polstra.com> To: davidc@guild.ab.ca Subject: Re: java -> ld-elf.so.1: assert failed: ... lockdflt.c:55 In-Reply-To: References: Organization: Polstra & Co., Seattle, WA Cc: hackers@freebsd.org Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In article , Chad David wrote: > > Since the ~Jan 25 I have been getting an error while > running any java programs on 3.4-stable. I cvsup'd,and > ran a make world this afternoon and it still fails. It doesn't > always hit... about 50% of the time. > > The errors is: > > ld-elf.so.1: assert failed: /usr/src/libexec/rtld-elf/lockdflt.c:55 [...] > FreeBSD stronghold.guild.ab.ca 3.4-STABLE FreeBSD 3.4-STABLE #0: Thu Jan > 27 17:04:43 MST 2000 I believe I fixed this one in -current 3 days ago, but I haven't merged it into -stable yet. I would appreciate it if you would try the patch below and let me know whether it clears up the problem for you. John Index: lockdflt.c =================================================================== RCS file: /home/ncvs/src/libexec/rtld-elf/lockdflt.c,v retrieving revision 1.3.2.1 diff -u -r1.3.2.1 lockdflt.c --- lockdflt.c 2000/01/21 02:31:50 1.3.2.1 +++ lockdflt.c 2000/01/28 18:25:01 @@ -28,10 +28,9 @@ /* * Default thread locking implementation for the dynamic linker. It * is used until the client registers a different implementation with - * dllockinit(). The default implementation does mutual exclusion - * by blocking the SIGVTALRM, SIGPROF, and SIGALRM signals. This is - * based on the observation that most userland thread packages use one - * of these signals to support preemption. + * dllockinit(). The default implementation does mutual exclusion by + * blocking almost all signals. This is based on the observation that + * most userland thread packages use signals to support preemption. */ #include @@ -63,10 +62,13 @@ l = NEW(LockDflt); l->depth = 0; - sigemptyset(&l->lock_mask); - sigaddset(&l->lock_mask, SIGVTALRM); - sigaddset(&l->lock_mask, SIGPROF); - sigaddset(&l->lock_mask, SIGALRM); + sigfillset(&l->lock_mask); + sigdelset(&l->lock_mask, SIGTRAP); + sigdelset(&l->lock_mask, SIGABRT); + sigdelset(&l->lock_mask, SIGBUS); + sigdelset(&l->lock_mask, SIGSEGV); + sigdelset(&l->lock_mask, SIGKILL); + sigdelset(&l->lock_mask, SIGSTOP); return l; } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message