public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Steve B <steve@baconbits.demon.co.uk>
To: linux-mtd@lists.infradead.org
Subject: UBI/UBFS: ubi_eba_read_leb() reporting unmapped LEB
Date: Fri, 10 Oct 2014 14:45:50 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.02.1410101444510.2556@ubuntu> (raw)

Hi All,

I've been running a reboot test on 5 devices and after about 7000 reboot files in
one of our UBIFS volumes reports a corruption (SQUASHFS errors). I have been
able to extract the mtd partition and pull it into a nandsim instance on my host
machine so I can add some extra debug. Here's the error log when trying to load
the file:

[41308.683356] UBI DBG gen (pid 15044): read 4062 bytes from LEB 1:352:0
[41308.683358] UBI DBG eba (pid 15044): read 4062 bytes from offset 0 of LEB 1:352 (unmapped)
[41308.683362] UBI DBG gen (pid 15044): read 4062 bytes from LEB 1:352:0
[41308.683364] UBI DBG eba (pid 15044): read 4062 bytes from offset 0 of LEB 1:352 (unmapped)
[41308.683368] UBIFS error (pid 15044): ubifs_read_node: bad node type (255 but expected 1)
[41308.683373] UBI DBG gen (pid 15044): test LEB 1:352
[41308.683377] UBIFS error (pid 15044): ubifs_read_node: bad node at LEB 352:0, LEB mapping status 0
[41308.683381] Not a node, first 24 bytes:
[41308.683386] 00000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                          ........................
[41308.683392] Pid: 15044, comm: md5sum Tainted: GF          O 3.8.0-29-generic #42~precise1-Ubuntu
[41308.683396] Call Trace:
[41308.683411]  [<ffffffffa0564a7d>] ubifs_read_node+0x26d/0x2d0 [ubifs]
[41308.683419]  [<ffffffffa0583338>] ubifs_tnc_read_node+0x148/0x160 [ubifs]
[41308.683426]  [<ffffffffa056816c>] ubifs_tnc_locate+0x1cc/0x1f0 [ubifs]
[41308.683431]  [<ffffffffa0559ade>] do_readpage+0x10e/0x410 [ubifs]
[41308.683437]  [<ffffffffa055a4ce>] ubifs_readpage+0x5e/0x580 [ubifs]
[41308.683441]  [<ffffffff81152de3>] ? __inc_zone_page_state+0x33/0x40
[41308.683444]  [<ffffffff81135866>] ? add_to_page_cache_locked.part.26+0x76/0xd0
[41308.683447]  [<ffffffff8113593d>] ? add_to_page_cache_locked+0x7d/0x90
[41308.683452]  [<ffffffff81135edd>] do_generic_file_read.constprop.31+0x10d/0x440
[41308.683460]  [<ffffffff81136f01>] generic_file_aio_read+0xe1/0x220
[41308.683469]  [<ffffffff8119b0c3>] do_sync_read+0xa3/0xe0
[41308.683477]  [<ffffffff8119b800>] vfs_read+0xb0/0x180
[41308.683485]  [<ffffffff8119b922>] sys_read+0x52/0xa0
[41308.683492]  [<ffffffff816fc8dd>] system_call_fastpath+0x1a/0x1f

I have written a small tool to scan the headers in all PEBs and this confirms
that LEB 352 doesn't exist for this volume.

We are running a Linux kernel based off 3.4.0

This issue seems similar to an issue already raised on this mailing list:
linux-mtd/2010-September/031837.html
subject: ubi_eba_init_scan: cannot reserve enough PEBs

I would like to know the best way to debug this issue, does anyone have the patch
mentioned in the issue above to add more debugging in the right places?

Our test setup has the facility of pulling the power on the unit if a GPIO line
is toggled, with this we can test sensitive areas of the code, can anyone suggest
where would be a good place to perform this action.

Thanks for any help on this,
Steve B

             reply	other threads:[~2014-10-10 13:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-10 13:45 Steve B [this message]
2014-10-20  8:54 ` UBI/UBFS: ubi_eba_read_leb() reporting unmapped LEB Steve B
2014-10-20 13:35 ` Artem Bityutskiy
2014-10-20 13:48   ` Steve B
2014-10-20 14:05     ` Artem Bityutskiy
2014-10-20 14:51       ` Steve B
2014-10-20 15:19         ` Artem Bityutskiy
2014-10-20 15:25           ` Steve B
2014-10-20 15:47             ` Artem Bityutskiy
2014-10-20 16:33               ` Steve B

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=alpine.DEB.2.02.1410101444510.2556@ubuntu \
    --to=steve@baconbits.demon.co.uk \
    --cc=linux-mtd@lists.infradead.org \
    /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