mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Roberto Nibali <rnibali@gmail.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [BUG: barebox-git] failure at common/block.c:248/block_put()!
Date: Tue, 29 May 2012 12:25:26 +0200	[thread overview]
Message-ID: <CAONxwYN5yj9wVnmpXQAkgnwZ-zdDxETKMr4x6CFcUjiN_ih5Nw@mail.gmail.com> (raw)
In-Reply-To: <20120529101450.GS30400@pengutronix.de>


[-- Attachment #1.1: Type: text/plain, Size: 2864 bytes --]

Hi

> noah_read_ccm_regs: Booting from WEIM: NOR
> > imx-esdhc@mci0: registered as mci0
> > mci@mci0: registered disk0
> > imx25_devices_init: Adding NOR flash device
> > cfi_flash@cfi_flash0: cfi flash (id=01000000 vend=000002 manu=000001
> > devid=00007E extid=002301) at a0000000, size 64MB
>

BTW, see this beautiful NOR support when booting as a second stage boot
loader? :)


> > sid1-noah:/ mkdir /mnt
> > sid1-noah:/ mount /dev/disk0.0 fat /mnt
> > sid1-noah:/ time cp /mnt/console_image.jffs2
> /mnt/console_image.jffs2-backup
> > BUG: failure at common/block.c:248/block_put()!
> > BUG!
>
> to BUG here seems a bit harsh. block_put calls block_get and then BUGs
> when block_get fails. Presumely block_cache fails here. Can you add a
> printf int block_cache after blk->ops->read and print the error value?
>

sid1-noah:/ mount /dev/disk0.0 fat /mnt
block_cache: blk->ops->read returned 0
sid1-noah:/ cp /mnt/coblock_cache: blk->ops->read returned 0
nsole_image.jffs2 /mnt/console_image.jffs2-backup
block_cache: blk->ops->read returned 0
block_cache: blk->ops->read returned 0
block_cache: blk->ops->read returned 0
block_cache: blk->ops->read returned 0
block_cache: blk->ops->read returned 0
block_cache: blk->ops->read returned 0
block_cache: blk->ops->read returned -110
BUG: failure at common/block.c:249/block_put()!
BUG!
[<83f34814>] (unwind_backtrace+0x0/0x8c) from [<83f1bf04>] (panic+0x28/0x3c)
[<83f1bf04>] (panic+0x28/0x3c) from [<83f05900>] (block_put+0x48/0x8c)
[<83f05900>] (block_put+0x48/0x8c) from [<83f059ec>]
(block_write+0xa8/0x120)
[<83f059ec>] (block_write+0xa8/0x120) from [<83f2d2e8>]
(cdev_write+0x30/0x34)
[<83f2d2e8>] (cdev_write+0x30/0x34) from [<83f307e0>] (disk_write+0x24/0x30)
[<83f307e0>] (disk_write+0x24/0x30) from [<83f2f92c>] (f_write+0x160/0x27c)
[<83f2f92c>] (f_write+0x160/0x27c) from [<83f305a0>] (fat_write+0x18/0x30)
[<83f305a0>] (fat_write+0x18/0x30) from [<83f31090>] (write+0xac/0xd0)
[<83f31090>] (write+0xac/0xd0) from [<83f216d4>] (copy_file+0xec/0x17c)
[<83f216d4>] (copy_file+0xec/0x17c) from [<83f19050>] (do_cp+0x124/0x158)
[<83f19050>] (do_cp+0x124/0x158) from [<83f07bb0>]
(execute_command+0x38/0x7c)
[<83f07bb0>] (execute_command+0x38/0x7c) from [<83f03bc8>]
(run_list_real+0x8a0/0x998)
[<83f03bc8>] (run_list_real+0x8a0/0x998) from [<83f03e04>]
(parse_stream_outer+0x144/0x240)
[<83f03e04>] (parse_stream_outer+0x144/0x240) from [<83f041fc>]
(run_shell+0x3c/0x5c)
[<83f041fc>] (run_shell+0x3c/0x5c) from [<83f09640>]
(start_barebox+0xd4/0x110)
[<83f09640>] (start_barebox+0xd4/0x110) from [<8010206c>] (0x8010206c)

Those dreaded -110.


> I just saw that there's room for optimization. In block_put we call
> block_get which reads from the device, just to overwrite the data
> afterwards.


Yep, good point.

Let me know if I you need more printf()'s sprinkled over your code.

Regards
Roberto

[-- Attachment #1.2: Type: text/html, Size: 4192 bytes --]

[-- Attachment #2: Type: text/plain, Size: 149 bytes --]

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2012-05-29 10:25 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-29  9:49 Roberto Nibali
2012-05-29 10:14 ` Sascha Hauer
2012-05-29 10:25   ` Roberto Nibali [this message]
2012-05-29 11:47     ` Roberto Nibali
2012-05-29 13:33       ` Roberto Nibali
2012-05-29 18:57       ` Sascha Hauer
2012-05-29 19:57         ` Roberto Nibali
2012-05-30  5:33           ` Sascha Hauer

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=CAONxwYN5yj9wVnmpXQAkgnwZ-zdDxETKMr4x6CFcUjiN_ih5Nw@mail.gmail.com \
    --to=rnibali@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=s.hauer@pengutronix.de \
    /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