Re: [Yaffs] error code 91

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: mcesaran
CC: yaffs
Subject: Re: [Yaffs] error code 91
Hello Marco

I just ran that six instances of that of that test and they ran all night with
no problems on the unmodified version of the test.

Looking at the code this says that there was a problem opening a file for the
fsx part of the test.

I am always interested when someone finds a way to break yaffs2.

Can you please send me more details of the change you are making (preferably
in patch form, but any form accepted).

Thanks

Charles

On Wednesday 28 April 2010 08:51:28 wrote:
> Hi Charles,
>
> thanks for your feedback. I mounted the YAFFS on a NAND, and recompiled
> the tests, this is the output:
>
> # ./launch_tests.sh
> ++ pwd
> + LAUNCHDIR=/mnt/nfs/mcesaran/test/yaffs2/direct/tests
> + RUNDIR=/
> + mkdir -p /
> + chmod a+wr /
> + /mnt/nfs/mcesaran/test/yaffs2/direct/tests/manage_nand_test.sh 0
> rm: cannot remove 'seed-nand-*': No such file or directory
> rm: cannot remove 'emfile-2k-*': No such file or directory
> Running test fw_upgrade initialise seed 0 cycles -1
> yaffs: Mounting yaffs2
> yaffs: yaffs_GutsInitialise()
> yaffs_ScanBackwards starts intstartblk 1 intendblk 128...
> 0 blocks to be sorted...
> ...done
> yaffs_ScanBackwards ends
>
> Block summary
> 0 blocks have illegal states
> Unknown 0 blocks
> Needs scanning 0 blocks
> Scanning 0 blocks
> Empty 128 blocks
> Allocating 0 blocks
> Full 0 blocks
> Dirty 0 blocks
> Checkpoint 0 blocks
> Collecting 0 blocks
> Dead 0 blocks
>
> yaffs: yaffs_GutsInitialise() done.
>
> Mount complete
> yaffs: Tnodes added
> GC none: finder 9 skip 1 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 1, seq 4097, 127 left
>
>
>
> *** Writing file yaffs2/tmp-counter inode 257
> About to rename yaffs2/tmp-counter to yaffs2/powerUps
> old stat inode 2140871736
> new stat inode 257
> new fstat inode 257
> GC none: finder 18 skip 2 threshold 4 dirtiest 0 using 0 oldest 0
> ##
> ## Set counter yaffs2/powerUps to 0
> ##
>
>
>
> *** Writing file yaffs2/tmp-counter inode 258
> About to rename yaffs2/tmp-counter to yaffs2/starts
> old stat inode 2140871736
> new stat inode 258
> new fstat inode 258
> GC none: finder 27 skip 3 threshold 4 dirtiest 0 using 0 oldest 0
> ##
> ## Set counter yaffs2/starts to 0
> ##
>
>
>
> *** Writing file yaffs2/tmp-counter inode 259
> GC none: finder 36 skip 4 threshold 4 dirtiest 0 using 0 oldest 0
> About to rename yaffs2/tmp-counter to yaffs2/ends
> old stat inode 2140871736
> new stat inode 259
> new fstat inode 259
> ##
> ## Set counter yaffs2/ends to 0
> ##
>
>
>
> *** Writing file yaffs2/tmp-counter inode 260
> GC none: finder 45 skip 5 threshold 4 dirtiest 0 using 0 oldest 0
> About to rename yaffs2/tmp-counter to yaffs2/powerUps
> old stat inode 257
> new stat inode 260
> new fstat inode 260
> ##
> ## Set counter yaffs2/powerUps to 0
> ##
> GC none: finder 54 skip 6 threshold 4 dirtiest 0 using 0 oldest 0
>
>
>
> **** Open writing file yaffs2/tmp-main inode 261
> GC none: finder 63 skip 7 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 72 skip 8 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 81 skip 9 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 90 skip 10 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 99 skip 11 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 108 skip 12 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 2, seq 4098, 126 left
> GC none: finder 117 skip 13 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 126 skip 14 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 7 skip 15 threshold 4 dirtiest 1 using 43 oldest 1
> GC none: finder 16 skip 16 threshold 4 dirtiest 1 using 43 oldest 1
> GC none: finder 25 skip 17 threshold 4 dirtiest 1 using 43 oldest 1
> GC none: finder 34 skip 18 threshold 4 dirtiest 1 using 43 oldest 1
> GC none: finder 43 skip 19 threshold 4 dirtiest 1 using 43 oldest 1
> GC none: finder 52 skip 20 threshold 4 dirtiest 1 using 43 oldest 1
> GC Selected block 1 with 21 free, prioritised:0
> yaffs: GC erasedBlocks 126 aggressive 0
> Collecting block 1, in use 43, shrink 1, wholeBlock 0
> Allocated block 3, seq 4099, 125 left
> yaffs: GC erasedBlocks 125 aggressive 0
> Collecting block 1, in use 38, shrink 0, wholeBlock 0
> yaffs: GC erasedBlocks 125 aggressive 0
> Collecting block 1, in use 33, shrink 0, wholeBlock 0
> yaffs: GC erasedBlocks 125 aggressive 0
> Collecting block 1, in use 28, shrink 0, wholeBlock 0
> yaffs: GC erasedBlocks 125 aggressive 0
> Collecting block 1, in use 23, shrink 0, wholeBlock 0
> yaffs: GC erasedBlocks 125 aggressive 0
> Collecting block 1, in use 18, shrink 0, wholeBlock 0
> yaffs: GC erasedBlocks 125 aggressive 0
> Collecting block 1, in use 13, shrink 0, wholeBlock 0
> Allocated block 4, seq 4100, 124 left
> yaffs: GC erasedBlocks 124 aggressive 0
> Collecting block 1, in use 8, shrink 0, wholeBlock 0
> yaffs: GC erasedBlocks 124 aggressive 0
> Collecting block 1, in use 3, shrink 0, wholeBlock 0
> yaffs_BlockBecameDirty block 1 state 8
> erase block 0
> Erased block 1
> GC none: finder 70 skip 1 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 79 skip 2 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 88 skip 3 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 97 skip 4 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 106 skip 5 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 115 skip 6 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 124 skip 7 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 5, seq 4101, 124 left
> GC none: finder 5 skip 8 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 14 skip 9 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 23 skip 10 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 32 skip 11 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 41 skip 12 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 50 skip 13 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 59 skip 14 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 68 skip 15 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 77 skip 16 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 86 skip 17 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 95 skip 18 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 6, seq 4102, 123 left
> GC none: finder 104 skip 19 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 113 skip 20 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 122 skip 1 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 3 skip 2 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 12 skip 3 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 21 skip 4 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 30 skip 5 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 39 skip 6 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 48 skip 7 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 57 skip 8 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 66 skip 9 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 7, seq 4103, 122 left
> GC none: finder 75 skip 10 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 84 skip 11 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 93 skip 12 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 102 skip 13 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 111 skip 14 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 120 skip 15 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 1 skip 16 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 10 skip 17 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 19 skip 18 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 28 skip 19 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 8, seq 4104, 121 left
> GC none: finder 37 skip 20 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 46 skip 1 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 55 skip 2 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 64 skip 3 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 73 skip 4 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 82 skip 5 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 91 skip 6 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 100 skip 7 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 109 skip 8 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 118 skip 9 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 127 skip 10 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 9, seq 4105, 120 left
> GC none: finder 8 skip 11 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 17 skip 12 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 26 skip 13 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 35 skip 14 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 44 skip 15 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 53 skip 16 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 62 skip 17 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 71 skip 18 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 80 skip 19 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 89 skip 20 threshold 4 dirtiest 0 using 0 oldest 0
> GC none: finder 98 skip 1 threshold 4 dirtiest 0 using 0 oldest 0
> Allocated block 10, seq 4106, 119 left
> File closed
> Raname file yaffs2/tmp-main to yaffs2/main
> Verifying file yaffs2/main
> verify yaffs2/main: file size is 1034008, recorded size is 1034008
> verified ok
>
> Block summary
> 0 blocks have illegal states
> Unknown 0 blocks
> Needs scanning 0 blocks
> Scanning 0 blocks
> Empty 119 blocks
> Allocating 1 blocks
> Full 8 blocks
> Dirty 0 blocks
> Checkpoint 0 blocks
> Collecting 0 blocks
> Dead 0 blocks
>
> save exit: isCheckpointed 1
> Test run completed!
> rm: cannot remove 'iteration-max-*': No such file or directory
> Running 10 iterations
> cp: cannot stat 'emfile-2k-1': No such file or directory
> cp: cannot stat 'emfile-2k-2': No such file or directory
> cp: cannot stat 'emfile-2k-3': No such file or directory
> #########
> #########
> #########
> ######### Run 0 of 10 with seed 6906
> #########
> #########
> #########
> Running test fw_upgrade fsx power_fail seed 6906 cycles -1
> yaffs: Mounting yaffs2
> yaffs: restored from checkpoint
> Mount complete
> Running stress on yaffs2 with seed 6906
> yaffs2//main inode 261 261 obj c40e24 length 1034008 mode 8180 data file
> yaffs2//powerUps inode 260 260 obj c40da8 length 8 mode 8180 data file
> yaffs2//ends inode 259 259 obj c40d2c length 8 mode 8180 data file
> yaffs2//lost+found inode 2 2 obj c40c34 length 2048 mode 41B6 directory
> yaffs2//starts inode 258 258 obj c40cb0 length 8 mode 8180 data file
>
> Free space in yaffs2/ is 14546944
>
> yaffs2/fsxdata: Success
> fsx wanted to exit with 91
>
>
> Since I have few space on the NAND, I reduced the size of the emfile-2k-x
> changing the parameters in yaffs_fileem2k.h, but anyway the test cannot be
> completed
>
> thanks in advance for your help
>
> cheers,
> Marco
>
> > On Tuesday 27 April 2010 07:42:58 wrote:
> >> Hello,
> >>
> >> This is the output that I get when I try to start the tests in
> >> /direct/test:
> >>
> >>
> >> # ./launch_tests.sh
> >> ++ pwd
> >> + LAUNCHDIR=/mnt/nfs/mcesaran/test/yaffs2/direct/tests
> >> + RUNDIR=/prova/tmp
> >> + mkdir /prova/tmp
> >> + mount -t tmpfs none /prova/tmp
> >> + chmod a+wr /prova/tmp
> >> + /mnt/nfs/mcesaran/test/yaffs2/direct/tests/manage_nand_test.sh 0
> >> rm: cannot remove 'seed-nand-*': No such file or directory
> >> rm: cannot remove 'emfile-2k-*': No such file or directory
> >> Running test fw_upgrade initialise seed 0 cycles -1
> >> yaffs: Mounting yaffs2
> >> yaffs: yaffs_GutsInitialise()
> >> yaffs: yaffs_GutsInitialise() aborted.
> >>
> >> Mount complete
> >> Error writing counter yaffs2/powerUps handle -1, x[0] 0 x[1] 1
> >> Integrity error 145
> >> fatal yaffs test pid 88 sleeping
> >>
> >>
> >>
> >> (then the test stops): how can I do?
> >
> > Hello Marco
> >
> > I just tried this with the latest code in git.
> > It works fine for me on 3 different Ubuntu boxes.
> >
> > What environment are you using?
> >
> > Try also doing a 'make clean'.
> >
> > -- CHarles
> >
> > _______________________________________________
> > yaffs mailing list
> >
> > http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs