Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Aug 2016 18:11:39 +0300
From:      Dmitry Sivachenko <trtrmitya@gmail.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        FreeBSD Stable ML <stable@freebsd.org>
Subject:   Re: fsck_ufs dumps core
Message-ID:  <8F022310-A20F-40AB-8B8A-8F145E7AA77F@gmail.com>
In-Reply-To: <20160810145533.GS83214@kib.kiev.ua>
References:  <292C631A-F184-46B1-85B4-3EC68FB2E416@gmail.com> <20160810145533.GS83214@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 10 Aug 2016, at 17:55, Konstantin Belousov <kostikbel@gmail.com> =
wrote:
>=20
> On Wed, Aug 10, 2016 at 05:29:31PM +0300, Dmitry Sivachenko wrote:
>> Hello,
>>=20
>> I am running FreeBSD 10.3-STABLE #0 r299261M
>>=20
>> After unclean reboot I am unable to fsck my UFS filesystem:
>>=20
>> # fsck  /dev/mfid0p1
>> ** /dev/mfid0p1
>> ** Last Mounted on /opt
>> ** Phase 1 - Check Blocks and Sizes
>> fsck: /dev/mfid0p1: Segmentation fault
>>=20
>> pid 482 (fsck_ufs), uid 0: exited on signal 11 (core dumped)
>>=20
>> # gdb -c fsck_ufs.482 /sbin/fsck_ufs=20
>> GNU gdb 6.1.1 [FreeBSD]
>> Copyright 2004 Free Software Foundation, Inc.
>> GDB is free software, covered by the GNU General Public License, and =
you are
>> welcome to change it and/or distribute copies of it under certain =
conditions.
>> Type "show copying" to see the conditions.
>> There is absolutely no warranty for GDB.  Type "show warranty" for =
details.
>> This GDB was configured as "amd64-marcel-freebsd"...
>> Core was generated by `fsck_ufs'.
>> Program terminated with signal 11, Segmentation fault.
>> Reading symbols from /lib/libufs.so.6...done.
>> Loaded symbols for /lib/libufs.so.6
>> Reading symbols from /lib/libc.so.7...done.
>> Loaded symbols for /lib/libc.so.7
>> Reading symbols from /libexec/ld-elf.so.1...done.
>> Loaded symbols for /libexec/ld-elf.so.1
>> #0  0x0000000000409a8b in pass1 () at =
/place/WRK/src/sbin/fsck_ffs/pass1.c:83
>> 83                              setbmap(i);
>> (gdb) bt
>> #0  0x0000000000409a8b in pass1 () at =
/place/WRK/src/sbin/fsck_ffs/pass1.c:83
>> #1  0x0000000000409050 in main (argc=3D<value optimized out>,=20
>>    argv=3D<value optimized out>) at =
/place/WRK/src/sbin/fsck_ffs/main.c:447
>> Current language:  auto; currently minimal
>> (gdb)=20
>>=20
>=20
> Try to use alternative superblock (-b switch).  You can get the list =
of
> the possible values for -b by 'newfs -N' invocation, but you have to =
know
> the parameters which were used for formatting.


Yes, I tried several different backup superblocks, with the same result. =
 (I created this FS few years ago so I can't be 100% sure about the =
parameters, but I usually only use larger -i NN for big filesystems, and =
I can guess the exact value examining df -ik).


BTW I just noticed that when I use larger values for backup superblock, =
it reports an error which looks like overflow:

# fsck_ufs -b 7437746112 /dev/mfid0p1
Alternate super block location: -1152188480
** /dev/mfid0p1

CANNOT SEEK BLK: -1152188480
CONTINUE? [yn]=20=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8F022310-A20F-40AB-8B8A-8F145E7AA77F>