[omniORB] Server causes segmentation fault, but no core file

Duncan Grisby dgrisby@uk.research.att.com
Mon, 12 Feb 2001 15:53:18 +0000


On Monday 12 February, Mike Mascari wrote:

> I am new to both CORBA in general and omniORB specifically. I have a server 
> application which, after a period of inactivity on the client side, causes 
> a segmentation fault on the next method invocation. I have tried everything 
> I know to get the server to dump core, but can't. I have set the core limit 
[...]

Linux cannot produce valid core files from multi-threaded programs.
Sometimes it succeeds in writing a file called "core", but when it
does, it is always corrupt. You have to run the program under gdb so
you can catch the error as soon as it occurs.

[...]
> This is omniORB 3.0.2 on Linux RedHat 6.0 (kernel 2.2.5-15), using the 
> downloaded binaries. I'm attempting to use thread-specific data. Is there 
> something perhaps wrong in the way the thread is being destroyed?

It could be due to that. Are you registering a destructor for your
thread specific data?  Perhaps something is being corrupted when
omniORB stops a thread, causing the segfault the next time it tries to
create a thread.

Try running under gdb with command line arguments of -ORBtraceLevel 15
-ORBtraceInvocations, to see if that shows what's going on more.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --