This is THE problem we're having. Unfortunately, of course, it is a highly intermittant problem. When this happens again, how can I go about locating the page to give you a binary dump? The line number in the yaffs code as far as I can tell is 323: for(i = 0; i < dev->blocksInCheckpoint && dev->checkpointBlockLi st[i] >= 0; i++){ Here's the output from objdump: c0084438 : yaffs_CheckpointClose(): /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :316 c0084438: e1a0c00d mov ip, sp c008443c: e92dd810 stmdb sp!, {r4, fp, ip, lr, pc} c0084440: e24cb004 sub fp, ip, #4 ; 0x4 c0084444: e1a04000 mov r4, r0 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :318 c0084448: e59030d0 ldr r3, [r0, #208] c008444c: e3530000 cmp r3, #0 ; 0x0 c0084450: 0a00001e beq c00844d0 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :319 c0084454: e59030c8 ldr r3, [r0, #200] c0084458: e3530000 cmp r3, #0 ; 0x0 c008445c: 1a000019 bne c00844c8 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :335 c0084460: e59410d4 ldr r1, [r4, #212] c0084464: e5943010 ldr r3, [r4, #16] c0084468: e0020193 mul r2, r3, r1 c008446c: e5943d30 ldr r3, [r4, #3376] c0084470: e0623003 rsb r3, r2, r3 c0084474: e5843d30 str r3, [r4, #3376] /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :336 c0084478: e59430fc ldr r3, [r4, #252] c008447c: e0613003 rsb r3, r1, r3 c0084480: e58430fc str r3, [r4, #252] /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :339 c0084484: e59f30c0 ldr r3, [pc, #192] ; c008454c c0084488: e5933000 ldr r3, [r3] c008448c: e3130902 tst r3, #32768 ; 0x8000 c0084490: 1a000008 bne c00844b8 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :342 c0084494: e59400cc ldr r0, [r4, #204] c0084498: e3500000 cmp r0, #0 ; 0x0 c008449c: 1a000000 bne c00844a4 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :351 c00844a0: e91ba810 ldmdb fp, {r4, fp, sp, pc} /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :344 c00844a4: ebfef0db bl c0040818 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :345 c00844a8: e3a03000 mov r3, #0 ; 0x0 c00844ac: e58430cc str r3, [r4, #204] /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :346 c00844b0: e3a00001 mov r0, #1 ; 0x1 c00844b4: eafffff9 b c00844a0 c00844b8: e59410c4 ldr r1, [r4, #196] c00844bc: e59f008c ldr r0, [pc, #140] ; c0084550 c00844c0: ebfe8aa8 bl c0026f68 c00844c4: eafffff2 b c0084494 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :320c00844c8: ebffff1e bl c0084148 c00844cc: eaffffe3 b c0084460 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :323 c00844d0: e1a0c003 mov ip, r3 c00844d4: e590e0d4 ldr lr, [r0, #212] c00844d8: e153000e cmp r3, lr c00844dc: a59000e4 ldrge r0, [r0, #228] c00844e0: aa000015 bge c008453c c00844e4: e59000e4 ldr r0, [r0, #228] c00844e8: e7903103 ldr r3, [r0, r3, lsl #2] c00844ec: e3530000 cmp r3, #0 ; 0x0 c00844f0: ba000011 blt c008453c c00844f4: e1a02003 mov r2, r3 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :324 c00844f8: e59430ec ldr r3, [r4, #236] c00844fc: e0831182 add r1, r3, r2, lsl #3 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :325 c0084500: e5d12003 ldrb r2, [r1, #3] c0084504: e202300f and r3, r2, #15 ; 0xf c0084508: e3530003 cmp r3, #3 ; 0x3 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :326 c008450c: 03c23008 biceq r3, r2, #8 ; 0x8 c0084510: 03833007 orreq r3, r3, #7 ; 0x7 c0084514: 05c13003 streqb r3, [r1, #3] c0084518: 0594e0d4 ldreq lr, [r4, #212] c008451c: 059400e4 ldreq r0, [r4, #228] /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :323 c0084520: e28cc001 add ip, ip, #1 ; 0x1 c0084524: e15c000e cmp ip, lr c0084528: aa000003 bge c008453c c008452c: e790310c ldr r3, [r0, ip, lsl #2] c0084530: e1a02003 mov r2, r3 c0084534: e3530000 cmp r3, #0 ; 0x0 c0084538: aaffffee bge c00844f8 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :331 c008453c: ebfef0b5 bl c0040818 /opt/cni/bbarnett-kernel-3247/kernel/linux-2.4.27-r2/fs/yaffs2/yaffs_checkptrw.c :332 c0084540: e3a03000 mov r3, #0 ; 0x0 c0084544: e58430e4 str r3, [r4, #228] c0084548: eaffffc4 b c0084460 c008454c: c01462c4 andgts r6, r4, r4, asr #5 c0084550: c012cd58 andgts ip, r2, r8, asr sp -blair Charles Manning wrote: > On Friday 16 February 2007 11:07, Blair Barnett wrote > Is this the same problem as the corruption you mention below? > Can you please explain the sequence that lead up to this? > Also please provide the following: > 1) A line number for this oops. I have an idea, but I want to be sure. > 2) A binary dump of the broken page. > > I suggest you also turn on more yaffs tracing to check this out, > > From what I read here, this crash happened during a umount due to a strange > block value beiung used in the checkpoint. >