Question about rtld-elf. Anyone?.. Anyone?
Daniel Eischen
eischen at pcnet1.pcnet.com
Wed Apr 30 17:39:53 PDT 2003
On Wed, 30 Apr 2003, Julian Elischer wrote:
> What would be cool would be a signal handler for SIGUSR1
> or something that dumps out (to somewhere) a full thread state table.
Where have you been? We've had that in libc_r, libthr (I
believe), and libpthread via SIGINFO :-)
The problem is that rtld-elf uses sigprocmask to block
all the signals within its critical regions, so only
SIGKILL works. I've made some local changes to rtld-elf
just to test out different theories, but it's beyond me
(well, I don't really want to devote lots of time trying
to understand all the inner workings of it) to make the
kind of changes that jdp had mentioned.
> On Wed, 30 Apr 2003, Terry Lambert wrote:
>
> > Daniel Eischen wrote:
> > > As an experiment, I made the dlfoo calls in rtld-elf weak
> > > (__dlfoo -> dlfoo) and then overrode them in libpthread
> > > and protected them with mutexes.
> > >
> > > I can get mozilla to work about 1/2 of the time now, but
> > > it still gets stuck in the same state the other 1/2 of
> > > the time. This is a bit of an improvement, and seems to
> > > indicate (at least to me) that rtld-elf is the culprit.
> >
> >
> > Is there maybe a way to get the thread that was running when
> > the process was involuntarily preempted run first, instead of
> > running it based on priority? Netscape, at least, made this
> > assumption for Java and Javascript pages.
> >
> > Alternately, you may try disabling Java* in Mozilla, and see
> > if that keeps you from crashing.
> >
> > Also try not moving the mouse until everything is loaded, and
> > see if that saves you, too.
> >
> > -- Terry
--
Dan Eischen
More information about the freebsd-threads
mailing list