From: Godmar Back (gback@cs.utah.edu)
Date: Sun Feb 07 1999 - 00:29:10 EST
>
> On Feb 7, 1999, Godmar Back <gback@cs.utah.edu> wrote:
>
> >> Yep. In fact, I've just got this problem with libio on Solaris :-(
>
> >> So delaying the initialization of the threading system doesn't really
> >> fix the problem, just hides it better.
>
> > Could the problem be the mmap()?
>
> Which mmap()? The one used by the new garbage collector? I don't
> think so, but it might be.
No, the mmap invoked by dlopen.
>
> >> But the problem is deep within dlopen, probably within the code that
> >> relocates the library jump table (I couldn't get function names :-(
>
> > I showed you how it screwed up the function table in LInux.
>
> One of the questions that remain unanswered is whether something
> really screws up the function table or if it's just partially fixed
> up.
If you think about the fact that the signal handler is in a shared
library, then it appears that simply invoking the handler has the
potential to reenter some of the functions doing the relocation or
whatever.
>
> > It wouldn't work with pthreads OSKit cause the threading system must be
> > initialized before we initialize locks in stringInit() etc.
>
> Then I'm not going to install it.
>
> > Well, in this case, simply try to explicitly block and unblock all
> > signals before and after the call to dlopen & friends.
>
> I'll wait for the new API calls. Actually, I'd be grateful if you'd
> make the test yourself, because I feel I must leave soon to get some
> sleep otherwise I won't be able to drive home :-(
>
That's cool. I have a buttload of outstanding changes anyway.
I'm implementing socket timeouts and make errno thread-safe.
I can test that too then.
Along those lines, I should probably pull the DNS functions into the
jsyscall interface. This has the disadvantage that we (like the early
netscape) will suffer from a delay when any threads tries to look up
a name, but we that's how it'll have to be. The alternative is to
spawn a new process (or steal a DNS impl in Java).
Btw, I bet that's what's bitten Archie's coworker in JServ, with I
assume makes extensive use of DNS.
- Godmar
This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:59 EDT