[
https://issues.apache.org/jira/browse/MYNEWT-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15378297#comment-15378297
]
Peter Snyder commented on MYNEWT-343:
-------------------------------------
Here's the output of the parsed filesystem image from ffs2native. The memory
fault is due to the program trying to read off past the size of the image based
on the filename length of the last file in the flash area.
ffs2native.elf -s -f nffs-inode-invalid-id.bin
NFFS Flash Areas:
Area 0: off 0-400 len 1024 flshid 1 gcseq 0 ver 1 id 1
off 18 Block id 0 len 0 seq 0 prev ffffffff own ino ffffffff
off 2c ??? id 80000002 flen 0 seq 1 last ffffffff prnt 10000000 flgs 40
off 40 File id 746f6f62 flen 65 seq 17217 last 41413d74 prnt 7365742f flgs 41
A=
reboot/soft_reboot=1
reboot/reboot_cnt=1
off 95 File id 2b74736f flen 255 seq 0 last 264 prnt 6e756f66 flgs 0 �
Area 1: off 400-800 len 1024 flshid ff gcseq 1 ver 1 id ff (Scratch)
Area 2: off 800-c00 len 1024 flshid 2 gcseq 0 ver 1 id 2
off 18 File id 10000008 flen 3 seq 1 last 8000000a prnt 2 flgs 0 bst
off 2f File id 10000008 flen 0 seq 2 last 8000000a prnt ffffffff flgs 80
off 43 Block id 10000009 len 768 seq 0 prev ffffffff own ino 2
off 357 Dir id 8000000 flen 0 seq 35 last 2000120 prnt 28e97a00 flgs 0
off 36b File id 13000000 flen 116 seq 34819 last 20000 prnt 1800000 flgs 73
off 3f3 Block id ffffffff len 36025 seq 58111 prev ffffffff own ino ffffffff
Area 3: off c00-1000 len 1024 flshid 3 gcseq 0 ver 1 id 3
off 18 Block id 10000013 len 768 seq 0 prev ffffffff own ino 2
off 32c Dir id 8000000 flen 0 seq 57 last 120 prnt 28ef2b00 flgs 0
off 340 File id 1d000000 flen 116 seq 41475 last 30000 prnt 1800000 flgs 73
off 3c8 Dir id 2 flen 115 seq 768 last ffff0000 prnt ffffffff flgs 62
Area 4: off 1000-1400 len 1024 flshid 4 gcseq 0 ver 1 id 4
off 18 File id 1000001d flen 3 seq 1 last 8000001f prnt 2 flgs 0 bst
off 2f File id 1000001d flen 0 seq 2 last 8000001f prnt ffffffff flgs 80
off 43 Block id 1000001e len 768 seq 0 prev ffffffff own ino 2
off 357 File id 23747362 flen 0 seq 0 last 29ffffff prnt ff100000 flgs 0
off 36b File id 24b19600 flen 255 seq 65535 last ff000000 prnt 2100000 flgs 0
8�bst*
Area 5: off 1400-1800 len 1024 flshid 5 gcseq 0 ver 1 id 5
off 18 File id 10000025 flen 3 seq 1 last 8000002b prnt 2 flgs 0 bst
off 2f File id 10000025 flen 0 seq 2 last 8000002b prnt ffffffff flgs 80
off 43 Block id 10000026 len 768 seq 0 prev ffffffff own ino 2
off 357 Dir id 8000000 flen 0 seq 28 last 1000120 prnt 28b8a300 flgs 0
off 36b File id 34000000 flen 116 seq 10499 last 50000 prnt 1800000 flgs 73
off 3f3 Block id ffffffff len 36025 seq 58111 prev ffffffff own ino ffffffff
Area 6: off 1800-1c00 len 1024 flshid 6 gcseq 0 ver 1 id 6
off 18 Block id 10000030 len 768 seq 0 prev ffffffff own ino 2
off 32c Dir id 8000000 flen 0 seq 49 last 2000120 prnt 285d1100 flgs 0
off 340 File id 3e000000 flen 116 seq 60931 last 60000 prnt 1800000 flgs 73
off 3c8 Dir id 2 flen 115 seq 768 last ffff0000 prnt ffffffff flgs 62
Area 7: off 1c00-2000 len 1024 flshid 7 gcseq 0 ver 1 id 7
off 18 File id 1000003a flen 3 seq 1 last 80000040 prnt 2 flgs 0 bst
off 2f File id 1000003a flen 0 seq 2 last 80000040 prnt ffffffff flgs 80
off 43 Block id 1000003b len 768 seq 0 prev ffffffff own ino 2
off 357 File id 49000000 flen 110 seq 10243 last 70000 prnt 8800000 flgs 75
Memory fault
> 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)