[omniORB] problem using gdb

Sai-Lai Lo S.Lo@uk.research.att.com
Wed, 01 Sep 1999 09:51:28 +0100


To be fair with egcs, it has come a long way in the support of MT C++
applications. Having said that, I do see occasional SEGV on Redhat 5.2
(glibc-2.0) with egcs. This happens with Code Fusion as well. Trouble is
there is no core dump to examine so I haven't got a clue what has gone
wrong. On occasions I see the SEGV under gdb, it is always inside the
iostream library and happens when two threads are writing at the same
time. This makes me wonder if the iostream library is not designed to allow
concurrent write to the same output stream (cerr).

It doesn't help when egcs might be built without --enable-threads. Although
egcs installation notes tells you that --enable-threads is only applicable
to Objective C, I'm certain that you must use this flag to build or else
you got MT exception handling problem. Can we be sure all the linux
distributions built their egcs compiler with the flag? I'm not sure and
tend to believe that some don't (SuSe for example).

With a debugger that works with MT applications, it should be easier to
find out where the bug is. If linux has a working core dump for MT
programs, it will be even better.


I don't think you need to worry too much about reliably. So far the problem
I have is confined to concurrent writes to iostream cerr. 

Sai-Lai


>>>>> Helmut Swaczinna writes:

> is it right, that you say in your statement below, that multi-threaded
> application, eg omniORB-progs, built with egcs 1.1.2 or Code Fusion are
> *not* really reliable!? Or is this only right for glibc-2.0? This is a very 
> important question for me, because reliability is a very important goal in
> our 
> project.






-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND