From: Dave Chinner <david@fromorbit.com>
To: Sean Caron <scaron@umich.edu>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH] metadump: handle corruption errors without aborting
Date: Mon, 7 Feb 2022 09:34:21 +1100 [thread overview]
Message-ID: <20220206223421.GD59729@dread.disaster.area> (raw)
In-Reply-To: <CAA43vkXsEydXtf8urxSBKo2WN4arbMDKw3+8mA7YSAJ9ZJwg9w@mail.gmail.com>
On Wed, Feb 02, 2022 at 06:45:34PM -0500, Sean Caron wrote:
> Sure! Please see gdb backtrace output below.
>
> (gdb) bt
> #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1 0x00007f289d5c7921 in __GI_abort () at abort.c:79
> #2 0x00007f289d610967 in __libc_message (action=action@entry=do_abort,
> fmt=fmt@entry=0x7f289d73db0d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
> #3 0x00007f289d6179da in malloc_printerr (
> str=str@entry=0x7f289d73f368 "malloc_consolidate(): invalid chunk
> size") at malloc.c:5342
> #4 0x00007f289d617c7e in malloc_consolidate
> (av=av@entry=0x7f289d972c40 <main_arena>)
> at malloc.c:4471
> #5 0x00007f289d61b968 in _int_malloc (av=av@entry=0x7f289d972c40 <main_arena>,
> bytes=bytes@entry=33328) at malloc.c:3713
> #6 0x00007f289d620275 in _int_memalign (bytes=32768, alignment=512,
> av=0x7f289d972c40 <main_arena>)
> at malloc.c:4683
Ok, so there's nothing wrong with the memalign() parameters being
passed to glibc, so something has previously caused heap corruption
that is only now being tripped over trying to allocate memory for a
new inode cluster buffer.
I wonder if it was the zeroing of the "unused" part of the inode
data fork area that did this (perhaps a corrupt inode fork offset?)
so maybe it is worth turning off the stale data zeroing function
(-a to copy all metadata blocks) so that it doesn't try to interpret
corrupt metadata to determine what is unused areas or not...
If that does get past this inode, then we'll need to make the
stale region zeroing a lot more careful and avoid zeroing in the
case of badly broken metadata.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2022-02-06 22:34 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-01 23:07 XFS disaster recovery Sean Caron
2022-02-01 23:33 ` Dave Chinner
2022-02-02 1:20 ` Sean Caron
2022-02-02 2:44 ` Dave Chinner
2022-02-02 7:42 ` [PATCH] metadump: handle corruption errors without aborting Dave Chinner
2022-02-02 18:49 ` Sean Caron
2022-02-02 19:43 ` Sean Caron
2022-02-02 20:18 ` Sean Caron
2022-02-02 22:05 ` Dave Chinner
2022-02-02 23:45 ` Sean Caron
2022-02-06 22:34 ` Dave Chinner [this message]
2022-02-07 21:42 ` Sean Caron
2022-02-07 22:34 ` Dave Chinner
2022-02-07 22:03 ` XFS disaster recovery Sean Caron
2022-02-07 22:33 ` Dave Chinner
2022-02-07 22:56 ` Sean Caron
2022-02-08 1:51 ` Dave Chinner
2022-02-08 15:46 ` Sean Caron
2022-02-08 20:56 ` Dave Chinner
2022-02-08 21:24 ` Sean Caron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220206223421.GD59729@dread.disaster.area \
--to=david@fromorbit.com \
--cc=linux-xfs@vger.kernel.org \
--cc=scaron@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox