fsck dumps core
John-Mark Gurney
jmg at funkthat.com
Mon Feb 24 22:17:15 UTC 2014
Xin Li wrote this message on Mon, Feb 24, 2014 at 13:57 -0800:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> On 02/24/14 05:54, Dmitry Sivachenko wrote:
> > Hello!
> >
> > FreeBSD 10.0-STABLE #0 r262016M
> >
> > # fsck /dev/mfid0p1 ** /dev/mfid0p1 Segmentation fault #
> >
> > truss shows: lseek(3,0x2b0000,SEEK_SET) =
> > 2818048 (0x2b0000)
> > read(3,"\0\0\0\0lo\0\0\0\^N\0\0\0\0\0\0"...,32768) = 32768
> > (0x8000) lseek(3,0x2b8000,SEEK_SET) = 2850816
> > (0x2b8000) read(3,"\0\0\0\0lo\0\0\0\^N\0\0\0\0\0\0"...,12288) =
> > 12288 (0x3000)
> > mmap(0x0,-1119879168,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0)
> > ERR#12 'Cannot allocate memory' SIGNAL 11 (SIGSEGV) process exit,
> > rval = 0
> >
> >
> > #0 flushentry () at /place/WRK/src/sbin/fsck_ffs/fsutil.c:258 258
> > if (cgbp->b_un.b_cg == NULL) (gdb) bt #0 flushentry () at
> > /place/WRK/src/sbin/fsck_ffs/fsutil.c:258 #1 0x000000000040e827 in
> > setup (dev=<value optimized out>) at fsck.h:392 #2
> > 0x0000000000408cd8 in main (argc=1, argv=0x7fffffffda30) at
> > /place/WRK/src/sbin/fsck_ffs/main.c:394
> >
> >
> >
> > # tunefs -p /dev/mfid0p1 tunefs: POSIX.1e ACLs: (-a)
> > disabled tunefs: NFSv4 ACLs: (-N)
> > disabled tunefs: MAC multilabel: (-l)
> > disabled tunefs: soft updates: (-n)
> > enabled tunefs: soft update journaling: (-j)
> > disabled tunefs: gjournal: (-J)
> > disabled tunefs: trim: (-t)
> > disabled tunefs: maximum blocks per file in a cylinder group: (-e)
> > 4096 tunefs: average file size: (-f)
> > 16384 tunefs: average number of files in a directory: (-s)
> > 64 tunefs: minimum percentage of free space: (-m) 8%
> > tunefs: space to hold for metadata blocks: (-k) 9136
> > tunefs: optimization preference: (-o) time
> > tunefs: volume label: (-L)
> >
> >
> > Is there any way to complete fsck to get this drive working?
>
> Can you try this patch and see if it helps?
>
> Note that fsck'ing such a big UFS volume is painful regardless, any
> reason not to use e.g. ZFS?
>
> Cheers,
> - --
> Xin LI <delphij at delphij.net> https://www.delphij.net/
> FreeBSD - The Power to Serve! Live free or die
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (FreeBSD)
>
> iQIcBAEBCgAGBQJTC8BhAAoJEJW2GBstM+nsChsP/1qEHtZUg0CplNiSUlqo7Jkr
> jtd/Vos6l/YdjjwmjPvWdPvdPxFSmJgqCFlE5a9tml8UvRokDReqblGhFqmtp3Cg
> Qiq6qg+odAvpOCo8NOww8Q7aAl0gwpFceBZGTlaAIxyx8MkoUCeZ1ZnWRR10a1Bk
> 89YPQBgFYoFOMAgHzNi9d1L15jvk6HaUNCTYE6KDDjvM7KUBSEal3q5cYXv31YRi
> 1HHVzi2yUEX6FPg2uOCq0M2awNrBlnMjWAL2RQyN1jJG+eD/A3m/YZXgK8x/mjQz
> w9Pgn8rgu8JfDZWvOp37KBOqzRXc+1jRFEFOWZT95hiDHVIo94s8t9LR+nfqA+Fz
> lCZeS1QzY9r3xgVLM/1dDa0jrDNqRch9d3xmIvGuoe1dLBy3tgRwp8zVc9i6Vp95
> VX1/91GkdYTorh/kMtlzh5EJ9WSrSeH70Ts8RhxM8V5ciAr106hscs7EyxZW74ZU
> AwYSRZd49rq7ElJxfaAlDsfdas8bwZGNsBOT+rUkJ87BJRgxIuRb0QPhpYP9cBRA
> Dcexf2cogKPDlzrV4mEHj0mpecqg6vLxNs5jkHDznvcR6C/rAYQSo291jeluiPaZ
> fegTABwlSh87vguT/yP+2xr51wRyGUSH/6QMU2/lhffPaC8HRy7OFghejVuAWC89
> iYaOHJIhtCZIwIg8V4/S
> =Ylh1
> -----END PGP SIGNATURE-----
> Index: sbin/fsck_ffs/fsck.h
> ===================================================================
> --- sbin/fsck_ffs/fsck.h (revision 262459)
> +++ sbin/fsck_ffs/fsck.h (working copy)
> @@ -369,7 +369,7 @@ int flushentry(void);
> * to get space.
> */
> static inline void*
> -Malloc(int size)
> +Malloc(size_t size)
> {
> void *retval;
>
> @@ -384,7 +384,7 @@ static inline void*
> * to get space.
> */
> static inline void*
> -Calloc(int cnt, int size)
> +Calloc(size_t cnt, size_t size)
> {
> void *retval;
>
This should fix the issue... I informed mckusick of the issue, but I
forget who was going to follow through to commit it...
I would say go ahead and commit it, unless mckusick disagrees...
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the freebsd-stable
mailing list