[OpenAFS] SEGV in fs listacl, but maybe my own fault

Sidney Cammeresi sac@cheesecake.org
Tue, 21 Feb 2006 12:00:59 -0600

Hello, I am an AFS newbie setting up a client and server for the
first time on an SuSE 10.0 machine (amd64_linux26).  I have followed
the directions for setting things up with no problems up to the section
Configuring the Top Levels of the AFS Filespace, but when I run fs setacl,
fs segfaults.  It also happens with fs listacl.

I did one possibly weird thing in my setup in that the AFS machine name I
initially gave to bos setcellname didn't match the hostname for its IP
in DNS, so I tried to fix that up after I hit this segfault by rerunning
bos setcellname and editing the CellServDB files.  (I did NOT change
the cell name, just the machine name.)

Here's the crash from gdb, doing listacl this time:

(gdb) run listacl /afs
Starting program: /home/sac/src/openafs-1.4.1-rc8/src/venus/fs listacl /afs
Program received signal SIGSEGV, Segmentation fault.
0x00002aaaaad465e0 in strlen () from /lib64/tls/libc.so.6
(gdb) bt
#0  0x00002aaaaad465e0 in strlen () from /lib64/tls/libc.so.6
#1  0x00002aaaaad18a90 in vfprintf () from /lib64/tls/libc.so.6
#2  0x00002aaaaad15dda in buffered_vfprintf () from /lib64/tls/libc.so.6
#3  0x00002aaaaad1618d in vfprintf () from /lib64/tls/libc.so.6
#4  0x00002aaaaad1ecf8 in fprintf () from /lib64/tls/libc.so.6
#5  0x000000000040aa29 in ListACLCmd (as=0x56ee50, arock=<value optimized out>)
    at fs.c:1152
#6  0x0000000000428f79 in cmd_Dispatch (argc=3, argv=0x7ffffff8bee8)
    at cmd.c:882
#7  0x000000000040786b in main (argc=3, argv=0x7ffffff8bee8) at fs.c:3445

I looked at ListACLCmd very quickly and saw that pioctl was failing, so
I ran an strace to see what it was returning:

open("/root/.AFSSERVER", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/.AFSSERVER", O_RDONLY)           = -1 ENOENT (No such file or directory)
open("/proc/fs/openafs/afs_ioctl", O_RDWR) = 3
ioctl(3, CAPI_REGISTER or SNDCTL_COPR_LOAD, 0x7fffffafaaf0) = -1 ETIMEDOUT (Connection timed out)
close(3)                                = 0
write(2, "fs:\'/afs\'", 9fs:'/afs')              = 9
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

Is this a bug or did I screw up stuff by trying to change the machine name?
What's the proper way to change the machine name?