[BUG: barebox-git] failure at common/block.c:248/block_put()!
Sascha Hauer
s.hauer at pengutronix.de
Tue May 29 06:14:50 EDT 2012
On Tue, May 29, 2012 at 11:49:24AM +0200, Roberto Nibali wrote:
> Hi
>
> Barebox barfs if I try to copy a file inside a mounted MMC fat partition.
>
> Steps to reproduce:
>
> 1.) Load barebox (configured as internal boot MMC) as a second stage boot
> loader from uboot.
> 2.) Mount MMC fat partition
> 3.) Try to copy file to the same partition
>
> This results in this nice BUG():
>
> Board: SID1 NOAH
> registered netconsole as cs1
> noah_read_ccm_regs: CCM CRDR = 00000000
> noah_read_ccm_regs: CCM RCSR = 01020820
> noah_read_ccm_regs: Booting from WEIM: NOR
> imx-esdhc at mci0: registered as mci0
> mci at mci0: registered disk0
> imx25_devices_init: Adding NOR flash device
> cfi_flash at cfi_flash0: cfi flash (id=01000000 vend=000002 manu=000001
> devid=00007E extid=002301) at a0000000, size 64MB
> imx25_devices_init: Adding initial NOR flash partitions
> ehci at ehci0: USB EHCI 1.00
> Malloc space: 0x83b00000 -> 0x83efffff (size 4 MB)
> Stack space : 0x83af8000 -> 0x83b00000 (size 32 kB)
> envfs: wrong magic on /dev/env0
> no valid environment found on /dev/env0. Using default environment
> running /env/bin/init...
>
> Hit any key to stop autoboot: 5
>
> type update_kernel nor [<imagename>] to update kernel into flash
> type update_root nor [<imagename>] to update rootfs into flash
>
> 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?
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.
> I reckon it might be something I shouldn't be doing, however I thought I
> still report it here.
What you are trying to do should work.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list