RE: Threads continued ...

From: Essel Dr.Hans-Georg (H.Essel@gsi.de)
Date: Wed Aug 25 1999 - 17:05:38 MEST


h.essel@gsi.de

Hi Valery,
thanks for your very informative and helpful comments to the thread topic.
Lets recall some facts.
At the Fermilab meeting Rene stated in public that threads are supported
in current root and that multithread canvas access works. He asked for
people to test that and to report errors.
So we did. The result was published in roottalk (July, 22) and in the Web
where you can find a very detailed report. At that time we had only
SMP machines available.
The new information now is that some of the observed errors are due to 
bugs in Linux SMP which we could verify by simple X test programs.
To summarize:
1. As we expected from the beginning and as you confirmed, root is not
threadsave in general. One reason is object instantiation.
2. The concurrent canvas update from threads works on single CPU
machines. On SMP machines it crashes with Linux kernel 2.0.
Otto Schaile run our test program and found it crashing on SMP
with kernel 2.2.10 and libc-2.0.7, but running with libc-2.1.1.
Martin Purschke reported it running on kernel 2.2.2 and libc-2.07.
3. The root timer stops on SMP after some time, but runs on single
CPU machines.
Of cause we do not intend to run arbitrary root classes in threads.
But to use root GUI online it would be very useful to handle the
communication with the outside world in dedicated threads which in turn
can update GUI widgets. We verified that this concept can work,
when the SMP problem is solved.
Cheers, Hans



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:38 MET