Jeffrey Altman wrote:
John Tang Boyland wrote:
OK I compiled the salvager with debugging and without optimization.
filip# /opt/SUNWspro/bin/dbx salvager.debug
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.5' in
your .dbxrc
Reading salvager.debug
Reading ld.so.1
Reading libresolv.so.2
Reading libsocket.so.1
Reading libnsl.so.1
Reading libintl.so.1
Reading libdl.so.1
Reading libc.so.1
(dbx) run /vicepa -debug -parallel 1
Running: salvager.debug /vicepa -debug -parallel 1 (process id 3491)
[after three hours, I pressed return]
Thu Apr 3 14:14:20 2008: Assertion failed! file vol-salvage.c, line
3175.
signal ABRT (Abort) in __lwp_kill at 0xfee21157
0xfee21157: __lwp_kill+0x0007: jae __lwp_kill+0x15 [
0xfee21165, .+0xe ]
Current function is AssertionFailed
48 abort();
(dbx) where
[1] __lwp_kill(0x1, 0x6), at 0xfee21157 [2] _thr_kill(0x1, 0x6),
at 0xfee1e8c9 [3] raise(0x6), at 0xfedcd163 [4] abort(0x804694a,
0x47f52c8c, 0x68540000, 0x70412075, 0x33202072, 0x3a343120), at
0xfedb0ba9 =>[5] AssertionFailed(file = 0x808b724 "vol-salvage.c",
line = 3175), line 48 in "assert.c"
[6] DistilVnodeEssence(rwVId = 536870912U, class = 1, ino =
21977313U, maxu = 0x8046bc4), line 3175 in "vol-salvage.c"
[7] SalvageVolume(rwIsp = 0x9ab0130, alinkH = 0x9ac0de8), line 3346
in "vol-salvage.c"
[8] DoSalvageVolumeGroup(isp = 0x9ab0130, nVols = 1), line 2104 in
"vol-salvage.c"
[9] SalvageFileSys1(partP = 0x80bacd8, singleVolumeNumber = 0), line
1357 in "vol-salvage.c"
[10] SalvageFileSys(partP = 0x80bacd8, singleVolumeNumber = 0), line
1192 in "vol-salvage.c"
[11] handleit(as = 0x80a9340), line 687 in "vol-salvage.c"
[12] cmd_Dispatch(argc = 6, argv = 0x80aaba8), line 902 in "cmd.c"
[13] main(argc = 5, argv = 0x8047650), line 845 in "vol-salvage.c"
(dbx) up
Current function is DistilVnodeEssence
3175 assert(class == vLarge);
(dbx) list 3170,3180
3170 vep->type = vnode->type;
3171 vep->author = vnode->author;
3172 vep->owner = vnode->owner;
3173 vep->group = vnode->group;
3174 if (vnode->type == vDirectory) {
3175 assert(class == vLarge);
3176 vip->inodes[vnodeIndex] = VNDISK_GET_INO(vnode);
3177 }
3178 }
3179 }
3180 STREAM_CLOSE(file);
So what is the value of 'class' if not vLarge?
As you can see from that line above it's vSmall:
>> [6] DistilVnodeEssence(rwVId = 536870912U, class = 1, ino =
>> 21977313U, maxu = 0x8046bc4), line 3175 in "vol-salvage.c"
So there might be really some thing wrong with the SmallVnodeFile, but
to do an AssertionFailed is not the best way to repair it!
Hartmut
-----------------------------------------------------------------
Hartmut Reuter e-mail [EMAIL PROTECTED]
phone +49-89-3299-1328
fax +49-89-3299-1301
RZG (Rechenzentrum Garching) web http://www.rzg.mpg.de/~hwr
Computing Center of the Max-Planck-Gesellschaft (MPG) and the
Institut fuer Plasmaphysik (IPP)
-----------------------------------------------------------------
_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info