[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