[OpenAFS] Crash in volserver when restoring volume from backup.

Anders Magnusson ragge@ltu.se
Wed, 26 Aug 2009 18:39:50 +0200


Derrick Brashear wrote:
> looks like you already lost by the time it crashes.
>
>
>   
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 0x4aafd940 (LWP 30735)]
>> 0x0000003c13078d60 in strlen () from /lib64/libc.so.6
>> (gdb) bt
>> #0  0x0000003c13078d60 in strlen () from /lib64/libc.so.6
>> #1  0x0000000000430092 in afs_vsnprintf (p=0x4aafc3ba "4BF+0", avail=999,
>>   fmt=<value optimized out>, ap=0x4aafc7c0) at ../util/snprintf.c:395
>> #2  0x0000000000416a60 in vFSLog (
>>   format=0x467838 "1 Volser: ReadVnodes: IH_CREATE: %s - restore aborted\n",
>>   args=0x4) at ../util/serverLog.c:135
>> #3  0x000000000042550e in Log (
>>   format=0x1311e7ec <Address 0x1311e7ec out of bounds>) at
>> ../vol/common.c:41
>>     
>
> []
>
>   
>> (gdb)
>>     
> up
> up
> up
> up
> print errno.
>   
(gdb) up
#1  0x0000000000430092 in afs_vsnprintf (p=0x4489c3ba "4BF+0", avail=999,
    fmt=<value optimized out>, ap=0x4489c7c0) at ../util/snprintf.c:395
395     ../util/snprintf.c: No such file or directory.
        in ../util/snprintf.c
(gdb) up
#2  0x0000000000416a60 in vFSLog (
    format=0x467838 "1 Volser: ReadVnodes: IH_CREATE: %s - restore
aborted\n",
    args=0x4) at ../util/serverLog.c:135
135     ../util/serverLog.c: No such file or directory.
        in ../util/serverLog.c
(gdb) up
#3  0x000000000042550e in Log (
    format=0x1311e7ec <Address 0x1311e7ec out of bounds>) at
../vol/common.c:41
41      ../vol/common.c: No such file or directory.
        in ../vol/common.c
(gdb) up
#4  0x000000000040e60c in RestoreVolume (call=<value optimized out>,
    avp=0x169410f0, incremental=<value optimized out>,
    cookie=<value optimized out>) at ../volser/dumpstuff.c:1214
1214    ../volser/dumpstuff.c: No such file or directory.
        in ../volser/dumpstuff.c
(gdb) print errno
$1 = 22

Is this the system errno? RHEL 5.3, 22 = EINVAL, doesn't sound so good.

> Now, why
> Log("1 Volser: ReadVnodes: IH_CREATE: %s - restore aborted\n",
> afs_error_message(errno));
> is SEGVing is a different question.
>   
Yes... :-)

Hartmud asked about vnode:

(gdb) print *vnode
No symbol "vnode" in current context.
(gdb) print vnodeNumber
$3 = 613646341
(gdb)

Unfortunately it doesn't tell me much...

-- Ragge