Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jan 2000 12:20:26 -0700 (MST)
From:      Chad David <davidc@guild.ab.ca>
To:        John Polstra <jdp@polstra.com>
Cc:        hackers@freebsd.org
Subject:   Re: java -> ld-elf.so.1: assert failed: ... lockdflt.c:55
Message-ID:  <Pine.BSF.4.21.0001281218380.75457-100000@lodge.guild.ab.ca>
In-Reply-To: <200001281827.KAA05467@vashon.polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Yes this fixed it.  Thanks.

Chad


On Fri, 28 Jan 2000, John Polstra wrote:

> In article <Pine.BSF.4.21.0001271831060.73216-100000@lodge.guild.ab.ca>,
> Chad David  <davidc@guild.ab.ca> 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 <dlfcn.h>
> @@ -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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0001281218380.75457-100000>