libkse and SMP (was Re: USB bulk read & pthreads)

Terry Lambert tlambert2 at mindspring.com
Thu May 22 09:25:37 PDT 2003


Daniel Eischen wrote:
> All of the ACE tests have been tested with libkse on both
> SMP and UP systems.  KDE and even mozilla work fine with
> libkse (although libkse needs a patch to work around rtld-elf
> not being thread-safe for mozilla to work).

Note that you should probably always apply this patch, since
the dl*() calls are not the only place that programs make
invalid assumptions about threads rescheduling following an
involuntary context switch: that's just where Mozilla has its
main problems in its invalid assumptions about the threads
implementation.

I've been able to construct two other assumption example cases
that cause lockup, even when the program is not dynamic linking
anything.

Of course, I'm not going to publish these, because if I did,
someone would go in and put training wheels in that code, too,
instead of fixing the offending threaded program's source code
like they should.

I'm trying to come up with an example that breaks, even if you
spew locking code all over libc; when/if I do that (I'm not
spending gobs of time on it), THEN I'll publish the example to
prove that spewing the locks won't fix all the logic problems
in the programs that use the threaded libraries.

-- Terry


More information about the freebsd-hackers mailing list