rpc.lockd segfault

Gilad Rom gilad_bsd at romat.com
Sun Jan 18 06:05:11 PST 2004


Antoine Jacoutot wrote:
> On Saturday 17 January 2004 23:01, Kris Kennaway wrote:
> 
>>Unfortunately that doesn't give any information.  You'll need to
>>recompile rpc.lockd with GDB debugging symbols (add -ggdb to CFLAGS).
>>See the developer's handbook on the website for more information about
>>debugging program failures with gdb (specifically, how to obtain a
>>useful backtrace).
> 
> 
> Well, I recompiled rpc.lockd using -ggdb and -g, but when I launch the 
> following command:
> $ gdb /usr/sbin/rpc.lockd
> ... I get:
> 
> GNU gdb 5.2.1 (FreeBSD)
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i386-unknown-freebsd"...(no debugging symbols 
> found)...
> 
> How come no debugging symbols are found ?
> 
> Here is how I compiled rpc.lockd
> ( CFLAGS= -g -ggdb -O -pipe ):
> $ rm -Rf /usr/obj/*
> $ cd /usr/src/usr.sbin/rpc.lockd
> $ make clean && make obj && make depend && make all install
> 
> rm -f nlm_prot_svc.c nlm_prot.h test rpc.lockd kern.o nlm_prot_svc.o lockd.o 
> lock_proc.o lockd_lock.o rpc.lockd.8.gz rpc.lockd.8.cat.gz
> /usr/obj/usr/src/usr.sbin/rpc.lockd created for /usr/src/usr.sbin/rpc.lockd
> rpcgen -L -C -m -o nlm_prot_svc.c /usr/include/rpcsvc/nlm_prot.x
> rm -f .depend
> mkdep -f .depend -a    -I. 
> -I/usr/include/rpcsvc  /usr/src/usr.sbin/rpc.lockd/kern.c 
> nlm_prot_svc.c /usr/src/usr.sbin/rpc.lockd/lockd.c /usr/src/usr.sbin/rpc.lockd/lock_proc.c /usr/src/usr.sbin/rpc.lockd/lockd_lock.c
> echo rpc.lockd: /usr/lib/libc.a /usr/lib/librpcsvc.a /usr/lib/libutil.a 
> 
>>>.depend
> 
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc  
> -c /usr/src/usr.sbin/rpc.lockd/kern.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc  -c 
> nlm_prot_svc.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc  
> -c /usr/src/usr.sbin/rpc.lockd/lockd.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc  
> -c /usr/src/usr.sbin/rpc.lockd/lock_proc.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc  
> -c /usr/src/usr.sbin/rpc.lockd/lockd_lock.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc   -o rpc.lockd 
> kern.o nlm_prot_svc.o lockd.o lock_proc.o lockd_lock.o -lrpcsvc -lutil
> gzip -cn /usr/src/usr.sbin/rpc.lockd/rpc.lockd.8 > rpc.lockd.8.gz
> install -s -o root -g wheel -m 555   rpc.lockd /usr/sbin

install -s uses strip(1), so all your debugging symbols are erased.
the original binary left in-place  should have debugging symbols.

Gilad.



More information about the freebsd-questions mailing list