[ 
https://issues.apache.org/jira/browse/MYNEWT-343?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christopher Collins updated MYNEWT-343:
---------------------------------------
    Attachment: nffs-inode-invalid-id.bin

Here is a bootloader crash using the latest NFFS from develop.  This was 
triggered by repeatedly upgrading the image on an Arduino Zero.  See attachment 
for a dump of the NFFS flash region (nffs-inode-invalid-id.bin).

{noformat}
Program received signal SIGTRAP, Trace/breakpoint trap.
__assert_func (file=<optimized out>, line=<optimized out>,
    func=<optimized out>, e=<optimized out>) at os_fault.c:124
124            asm("bkpt");
(gdb) whe
#0  __assert_func (file=<optimized out>, line=<optimized out>,
    func=<optimized out>, e=<optimized out>) at os_fault.c:124
#1  0x000021b0 in nffs_restore_inode (area_offset=<optimized out>,
    area_idx=<optimized out>, disk_inode=<optimized out>) at nffs_restore.c:572
#2  nffs_restore_object (disk_object=0x200072c8) at nffs_restore.c:949
#3  nffs_restore_area_contents (area_idx=area_idx@entry=2)
    at nffs_restore.c:1057
#4  0x00002854 in nffs_restore_full (area_descs=area_descs@entry=0x2000736c)
    at nffs_restore.c:1359
#5  0x000004c6 in nffs_detect (area_descs=area_descs@entry=0x2000736c)
    at nffs.c:606
#6  0x000001e6 in setup_for_nffs () at boot.c:93
#7  main () at boot.c:173
(gdb) fr 1
#1  0x000021b0 in nffs_restore_inode (area_offset=<optimized out>,
    area_idx=<optimized out>, disk_inode=<optimized out>) at nffs_restore.c:572
572                         
assert(nffs_hash_id_is_dir(inode_entry->nie_hash_entry.nhe_id));
(gdb) p/x inode
$9 = {ni_inode_entry = 0x200010c0, ni_seq = 0x1, ni_parent = 0x200010a8,
  ni_filename_len = 0x3, ni_filename = {0x62, 0x73, 0x74}}
(gdb) p/x *inode.ni_inode_entry
$10 = {nie_hash_entry = {nhe_next = {sle_next = 0x0}, nhe_id = 0x10000008,
    nhe_flash_loc = 0x200002f}, nie_sibling_next = {sle_next = 0x0}, {
    nie_child_list = {slh_first = 0x200019e8},
    nie_last_block_entry = 0x200019e8, nie_lastblock_id = 0x200019e8},
  nie_refcnt = 0x1, nie_flags = 0xc4, reserved16 = 0x0}
{noformat}

> nffs crash at bootloader
> ------------------------
>
>                 Key: MYNEWT-343
>                 URL: https://issues.apache.org/jira/browse/MYNEWT-343
>             Project: Mynewt
>          Issue Type: Bug
>          Components: NFFS
>         Environment: Arduino Zero with NFFS
>            Reporter: Marko Kiiskila
>         Attachments: arduino_nffs.bin, nffs-inode-invalid-id.bin
>
>
> System asserts. I was switching between images.
> Program received signal SIGTRAP, Trace/breakpoint trap.
> __assert_func (file=<optimized out>, line=<optimized out>, 
>     func=<optimized out>, e=<optimized out>) at os_fault.c:124
> 124          asm("bkpt");
> (gdb) bt
> #0  __assert_func (file=<optimized out>, line=<optimized out>, 
>     func=<optimized out>, e=<optimized out>) at os_fault.c:124
> #1  0x0000105e in nffs_hash_remove (entry=entry@entry=0x20001ad8)
>     at nffs_hash.c:179
> #2  0x00002ff2 in nffs_block_delete_from_ram (
>     block_entry=block_entry@entry=0x20001ad8) at nffs_block.c:266
> #3  0x000026f2 in nffs_restore_sweep () at nffs_restore.c:353
> #4  0x0000283e in nffs_restore_full (area_descs=area_descs@entry=0x2000736c)
>     at nffs_restore.c:1400
> #5  0x000004ca in nffs_detect (area_descs=area_descs@entry=0x2000736c)
>     at nffs.c:606
> #6  0x000001e8 in setup_for_nffs () at boot.c:93
> #7  main () at boot.c:173



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to