Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: dump/restore out of range inode
On Thu, Jun 03, 2021 at 05:14:07PM -0000, Michael van Elst wrote:
> prlw1%cam.ac.uk@localhost (Patrick Welche) writes:
>
> > DUMP: Child 29322 returns LOB status 213
> >213=0xd5
>
> That's octal. Return status 0213 = 139 -> WCOREFLAG(==128) + signal 11.
>
> >Can this happen if the original filesystem is broken? At a distance
> >it just looks as though restore hasn't read a symbol table before using it
> >and the filesystem seems to have a valid inode?
>
> Segfaults should never happen.
>
> maxino has probably never been set since dump crashed and restore got
> an early end-of-file.
# dump -0auf foo.dmp /store/backup
...
DUMP: pid=3262 Dumping /dev/rdk18 (/store/backup) to foo.dmp
DUMP: pid=3262 Label: none
Using 512 buffers (33574952 bytes)
DUMP: pid=3262 mapping (Pass I) [regular files]
DUMP: pid=3262 mapping (Pass II) [directories]
DUMP: pid=3262 estimated 3632204910 tape blocks.
DUMP: pid=3262 Tape: 1; parent process: 3262 child process 3402
DUMP: pid=3402 Child on Tape 1 has parent 3262, my pid = 3402
DUMP: pid=3402 Volume 1 started at: Sat Jun 5 10:35:18 2021
slave 0 wrote 10240 werror 22
and here process 3402 gets the SIGSEGV
Program received signal SIGSEGV, Segmentation fault.
flushtape () at /usr/src/sbin/dump/tape.c:333
333 if (spcl.c_addr[i] != 0)
(gdb) bt
#0 flushtape () at /usr/src/sbin/dump/tape.c:333
#1 0x000000000020763e in writerec (dp=dp@entry=0x7f7ff3a01380 "",
isspcl=isspcl@entry=0) at /usr/src/sbin/dump/tape.c:168
#2 0x0000000000208e49 in dumpmap (map=<optimized out>, type=type@entry=6,
ino=ino@entry=397083647) at /usr/src/sbin/dump/traverse.c:716
#3 0x000000000020b355 in main (argc=1, argv=0x7f7fffffe7d8)
at /usr/src/sbin/dump/main.c:646
(gdb) print spcl
No symbol "spcl" in current context.
(gdb) frame 1
#1 0x000000000020763e in writerec (dp=dp@entry=0x7f7ff3a01380 "",
isspcl=isspcl@entry=0) at /usr/src/sbin/dump/tape.c:168
168 flushtape();
(gdb) print spcl
No symbol "spcl" in current context.
(gdb) print isspcl
$2 = 0
How can gdb not see a spcl anywhere?
Cheers,
Patrick
Home |
Main Index |
Thread Index |
Old Index