[omniORB] gdb segmentation fault on omniORB_2.8 (pre2) RedHat 6.0

Duane Griffin duane@router.econz.co.nz
Mon, 06 Sep 1999 08:45:05 +1200


There is a bug in the gdb shipped with RH6.0 (and with other utilities,
try nm --demangle on the omniORB library). If you get the gdb-4.18
source code you can fix the bug in the libiberty/cplus-dem.c file. You
need to add "work -> typevec_size = 0;" at line 883, or just use the
diff at the end of this message.

However, even after you stop gdb seg-faulting, it still won't work. GDB
does not have support for debugging multi-threaded applications on Linux
by default, and none of the patches and work-arounds that I have seen
will work for Linux Threads, which you are probably using. Cygnus is in
the process of folding in their patches to get gdb working with Linux
Threads, so hopefully support will be forthcoming soon.

BTW, if anyone knows of a way to get gdb working now with omniORB
applications, I would be very interested to hear it :)

Cheers,
Duane.

*** libiberty/cplus-dem.c~	Fri Apr  2 08:37:06 1999
--- libiberty/cplus-dem.c	Mon Aug 16 16:51:15 1999
***************
*** 880,885 ****
--- 880,886 ----
      {
        free ((char *) work -> typevec);
        work -> typevec = NULL;
+       work -> typevec_size = 0;
      }
    if (work->tmpl_argvec)
      {

> 
> Hi, All,
> 
> Apologies in advance if this issue has already been beaten to death.  I am a
> newcomer to this list.
> 
> I am having problems debugging with 'gdb', and for that matter also with
> 'ups' on a RedHat Linux 6.0 (gdb-4.182, egcs-1.1.2-12, glibc-2.1.1.6)
> system.
> 
> Here is what I did:
> 
> #cd ....src/examples/echo
> #gdb eg1
> <gdb>run
> Reading symbols from .......libomniORB2.so.8...Segmentation fault
> 
> Thanks,
> 
> -Gopa