[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Race condition (was problem) in Mach/Hurd?



On Tue, May 10, 2011 at 11:18:21AM +0200, Richard Braun wrote:
> I'll check how glibc deals with POSIX timers. It could simply be that
> timer_create() is called with SIGEV_THREAD.
> 
> The invalid memory address is likely garbage at the top of the stack.
> I wouldn't worry about it.

So, after a quick glance at glibc, and also based on Thomas Bushnell's
reply, the output you pasted shows the signal thread (Thread 5), which
you can easily recognize because it calls _hurd_msgport_receive(), and
a POSIX timer thread, which you can also easily identify because it
calls timer_thread(). There aren't two signal threads. Everything
actually looks fine in your trace.

Also, in your original post, you mentioned finding "kernel threads" in
addition to the main thread. You *can't* see kernel threads with gdb.
Kernel threads run in the kernel. What you saw are really user space
threads.

Be as careful and rigorous as possible in your reports, in particular
when it involves system internals many people are not familiar with.
Don't hesitate asking about stuff you're not sure about though.

-- 
Richard Braun


Reply to: