[omniORB] Bug in omniOrb thread handling?

Thomas Richter thor at math.TU-Berlin.DE
Mon Jul 25 16:33:16 BST 2005


Hi Duncan,

> > I've scanned thru the source, but found nowhere any "pthread_join"
> > that could have been called. Thus to my analysis, the zombies remain
> > around here because they are never joined back when they die away, and
> > at some point the process table just overruns. At that point, the
> > communication from clients to the server breaks down because no
> > working thread can be allocated for a new task at hand.
> 
> The vast majority of the threads in omniORB, including all the ones
> created by the invoker, are detached, so they cannot be joined with
> pthread_join. That's why there's no code to join them. That is most
> definitely not the problem.
> 
> I have seen problems on old Linux kernel and glibc versions that cause
> threads to turn into zombies. One circumstance is if threads fork child
> processes, sometimes either the children or the threads end up
> zombified. You might like to see if there are updates for glibc and the
> kernel for your Linux version.
> 
> I don't think this can be a problem in omniORB, because if it was, it
> would happen for everyone, and clearly it doesn't.

Thanks for the hint, I tried on another machine. Aparently, the problem
does exist on SuSe 9.0, but it does no longer exist on SuSe 9.1 (at least
up to my preliminary testing). The major difference between 9.1 and 9.0
is that the major kernel release was updated from 2.4 to 2.6 and thus the
threading model got changed. 

Thus, this might also be an information for other people on the list that
observe the same problem.

So long,
	Thomas




More information about the omniORB-list mailing list