Hello. Charles Manning

We found a kernel error message. But We cant resolved program.

Please help me.

 

1.     What is cause? .. nand badblock? or etc ?

2.     How can I resolve this? .. Am I have to update new version in yaffs?

 

Thank you, wait for your answer.

 

Please look at this kernel debugging message. Performing yaffs_bg_thread à error occurrence

[  411.894390] kernel BUG at fs/yaffs2/yaffs_guts.c:1075!

[  411.898111] Unable to handle kernel NULL pointer dereference at virtual address 00000000

[  411.906155] pgd = c0004000

[  411.908834] [00000000] *pgd=00000000

[  411.914546] Internal error: Oops: 817 [#1] PREEMPT

[  411.918001] Modules linked in:

[  411.921037] CPU: 0    Not tainted  (3.0.8 #1)

[  411.925376] PC is at __bug+0x1c/0x24

[  411.928921] LR is at __bug+0x18/0x24

[  411.932475] pc : [<c017a5ac>]    lr : [<c017a5a8>]    psr: 40000013

[  411.932480] sp : da853e10  ip : 00000000  fp : 00000002

[  411.943911] r10: 00000002  r9 : c075e2fc  r8 : 00000000

[  411.949112] r7 : 00000c71  r6 : 00001000  r5 : d83dd000  r4 : d9f76e04

[  411.955611] r3 : 00000000  r2 : 00000000  r1 : d9f7a000  r0 : 00000040

[  411.962112] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

[  411.969390] Control: 10c5387d  Table: 49a68019  DAC: 00000015

[  411.975108]

[  411.975110] PC: 0xc017a52c:

[  411.979353] a52c  e24dd00c e1a0c001 e1a01000 e58d2000 e3080bac e1a0200c e34c006a e3a03000

[  411.987499] a54c  e58d3004 eb10b2ed e28dd00c e8bd8000 e52de004 e24dd00c e1a0c001 e1a01000

[  411.995644] a56c  e58d2000 e3080bc4 e1a0200c e34c006a e3a03000 e58d3004 eb10b2e0 e28dd00c

[  412.003790] a58c  e8bd8000 e92d4008 e1a02001 e1a01000 e3080bdc e34c006a eb10b2d8 e3a03000

[  412.011936] a5ac  e5833000 eafffffe e3080bdc e3081bf8 e34c006a e34c106a e30022e1 eb10b2cf

[  412.020082] a5cc  e3a03000 e5833000 eafffffe e92d4008 e1a01000 e3080c10 e34c006a eb10b2c7

[  412.028228] a5ec  e3080bdc e3081bf8 e34c006a e34c106a e30022c5 eb10b2c1 e3a03000 e5833000

[  412.036373] a60c  eafffffe e92d4010 e3080c30 e34c006a eb10b2ba e3080c68 e34c006a e8bd4010

[  412.044520]

[  412.044522] LR: 0xc017a528:

[  412.048765] a528  e52de004 e24dd00c e1a0c001 e1a01000 e58d2000 e3080bac e1a0200c e34c006a

[  412.056911] a548  e3a03000 e58d3004 eb10b2ed e28dd00c e8bd8000 e52de004 e24dd00c e1a0c001

[  412.065057] a568  e1a01000 e58d2000 e3080bc4 e1a0200c e34c006a e3a03000 e58d3004 eb10b2e0

[  412.073203] a588  e28dd00c e8bd8000 e92d4008 e1a02001 e1a01000 e3080bdc e34c006a eb10b2d8

[  412.081348] a5a8  e3a03000 e5833000 eafffffe e3080bdc e3081bf8 e34c006a e34c106a e30022e1

[  412.089494] a5c8  eb10b2cf e3a03000 e5833000 eafffffe e92d4008 e1a01000 e3080c10 e34c006a

[  412.097640] a5e8  eb10b2c7 e3080bdc e3081bf8 e34c006a e34c106a e30022c5 eb10b2c1 e3a03000

[  412.105786] a608  e5833000 eafffffe e92d4010 e3080c30 e34c006a eb10b2ba e3080c68 e34c006a

[  412.113932]

[  412.113935] SP: 0xda853d90:

[  412.118178] 3d90  382e3131 39333439 00205d30 36333439 00205d39 c02a2d24 d96c7c00 da853de4

[  412.126323] 3db0  00000c31 ffffffff da853dfc 00001000 00000c71 c01765ec 00000040 d9f7a000

[  412.134469] 3dd0  00000000 00000000 d9f76e04 d83dd000 00001000 00000c71 00000000 c075e2fc

[  412.142615] 3df0  00000002 00000002 00000000 da853e10 c017a5a8 c017a5ac 40000013 ffffffff

[  412.150761] 3e10  00000000 c029861c 00000000 00000000 00000002 c029d9bc d83dd000 d9520180

[  412.158907] 3e30  00000c71 00000001 c075e2fc c02979dc 00000001 d9f65800 da853ee8 c075e388

[  412.167052] 3e50  c075e2fc 00000014 00000002 c029da7c c07575f8 c01d651c 00000002 c0176648

[  412.175198] 3e70  00000000 c07575f8 c0757640 00000001 00000003 00000002 da852000 d95d6544

[  412.183345]

[  412.183347] R1: 0xd9f79f80:

[  412.187590] 9f80  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  412.195736] 9fa0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  412.203882] 9fc0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  412.212028] 9fe0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  412.220173] a000  00000000 00000001 bf000000 da8b8000 c07526dc 00000000 00000015 da8b8000

[  412.228319] a020  d9f7a000 c0751b40 c075cdac 001955b4 00000000 d9fe9700 d9f7bdb4 d9f7bd78

[  412.236465] a040  c05a77dc 00000000 00000000 00000000 00000000 00000000 01010000 00000000

[  412.244611] a060  42782920 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  412.252757]

[  412.252760] R4: 0xd9f76d84:

[  412.257003] 6d84  d83de078 001210b0 0000016b d83dd000 d83dd3b4 da97d9b8 d9f76d9c d9f76d9c

[  412.265149] 6da4  d9f76a24 d9f76854 d93ecfa0 000005a1 00000006 00000a34 000081a4 676f6c65

[  412.273294] 6dc4  7461642e 00000000 00000000 00000000 ffffffff 386d451b 386d4507 386d451b

[  412.281440] 6de4  00000000 da4241b0 00000001 0000280b 000025a3 000025a3 00000000 d83de028

[  412.289586] 6e04  000100a4 00000000 d83dd000 d83dd144 da97ef84 d9f76e18 d9f76e18 d9f76f78

[  412.297732] 6e24  d9f76fe0 d9f76fe0 00000c70 00000001 00000100 808f8000 00000000 00000000

[  412.305877] 6e44  00000000 00000000 0080ca02 00b4a800 20020000 008c0800 00b4580c 20038000

[  412.314023] 6e64  00000000 00001000 00000800 00000800 ffffffff 00000000 d83de000 00000008

[  412.322170]

[  412.322172] R5: 0xd83dcf80:

[  412.326415] cf80  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff

[  412.334561] cfa0  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff

[  412.342707] cfc0  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff

[  412.350853] cfe0  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff

[  412.358998] d000  d975f480 00000000 00000800 00000040 00000000 00000000 00000fff 00000005

[  412.367144] d020  0000000a 00000001 00000000 00000000 00000001 00000001 000001f4 00000000

[  412.375290] d040  00000001 00000000 00000000 c029e61c c029e688 00000000 c029ef9c c029ebf8

[  412.383436] d060  c029eb98 c029ee94 c029116c c0291260 c029115c 00000001 00000000 00000000

[  412.391582]

[  412.391584] R9: 0xc075e27c:

[  412.395828] e27c  dead4ead ffffffff ffffffff c075e288 c075e288 00000000 00000000 c075e274

[  412.403973] e29c  c075e210 c075e1e8 0000003c c06bd55c 00000006 c028fec8 c028fd94 00000000

[  412.412119] e2bc  00000000 00000000 00000000 00000000 00000000 00000000 00000000 c06bd6d8

[  412.420265] e2dc  00000001 c0290438 c0290428 00000000 c075e38c c075e2f0 c075e2f0 00000001

[  412.428411] e2fc  f0000010 c075e38c 00000001 c075e3ac 00000001 00000000 00000000 c02922ec

[  412.436557] e31c  c0292280 00000000 00000000 00000000 c0292114 c0291cd8 00000000 00000000

[  412.444702] e33c  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  412.452848] e35c  00000001 00000000 c0293000 c02928a8 00000000 c02953cc 00000000 00000001

[  412.460997] Process yaffs-bg-1 (pid: 1277, stack limit = 0xda8522e8)

[  412.467322] Stack: (0xda853e10 to 0xda854000)

[  412.471657] 3e00:                                     00000000 c029861c 00000000 00000000

[  412.479804] 3e20: 00000002 c029d9bc d83dd000 d9520180 00000c71 00000001 c075e2fc c02979dc

[  412.487950] 3e40: 00000001 d9f65800 da853ee8 c075e388 c075e2fc 00000014 00000002 c029da7c

[  412.496095] 3e60: c07575f8 c01d651c 00000002 c0176648 00000000 c07575f8 c0757640 00000001

[  412.504241] 3e80: 00000003 00000002 da852000 d95d6544 da853f5c d83dd000 d83dd000 00000503

[  412.512387] 3ea0: 00000000 d9f76e04 d9520098 c075e2fc 00000014 c02992b4 000000d0 c017003c

[  412.520533] 3ec0: ffffffff fd000000 ffffffff 00000050 00036212 00000001 d9f65800 c075e2fc

[  412.528678] 3ee0: 00000000 00000000 00000001 00000100 00000002 00000000 00000001 00000000

[  412.536824] 3f00: 00000000 00000001 00001b5b 00000000 00000000 00000000 00000000 00000000

[  412.544970] 3f20: 00000000 00000000 d83dd000 d83dd000 00000040 00000d88 d83dd000 00000000

[  412.553116] 3f40: c0753790 d97ba300 0000576a c0299ebc da852000 c075e2f8 0000576c c0294a08

[  412.561262] 3f60: da852000 00005769 c0294830 fffffffd d95d63c0 00000000 00200200 0000576a

[  412.569407] 3f80: c07a0d40 c0294830 d95d63c0 ffffffff c0294834 d9f79dc0 00000002 d83dd000

[  412.577553] 3fa0: c0294834 00000000 00000000 00000000 00000000 c01b2528 00000000 00000000

[  412.585699] 3fc0: d83dd000 00000000 00000001 dead4ead ffffffff ffffffff da853fd8 da853fd8

[  412.593845] 3fe0: 00000000 d9f79dc0 c01b249c c01779d8 00000013 c01779d8 c9d65f94 09cbdf3c

[  412.602010] [<c017a5ac>] (__bug+0x1c/0x24) from [<c029861c>] (yaffs_put_chunk_in_file+0x180/0x1a0)

[  412.610922] [<c029861c>] (yaffs_put_chunk_in_file+0x180/0x1a0) from [<c02992b4>] (yaffs_check_gc+0xc78/0xe98)

[  412.620799] [<c02992b4>] (yaffs_check_gc+0xc78/0xe98) from [<c0299ebc>] (yaffs_bg_gc+0x30/0x5c)

[  412.629464] [<c0299ebc>] (yaffs_bg_gc+0x30/0x5c) from [<c0294a08>] (yaffs_bg_thread_fn+0x1d4/0x23c)

[  412.638479] [<c0294a08>] (yaffs_bg_thread_fn+0x1d4/0x23c) from [<c01b2528>] (kthread+0x8c/0x90)

[  412.647142] [<c01b2528>] (kthread+0x8c/0x90) from [<c01779d8>] (kernel_thread_exit+0x0/0x8)

[  412.655459] Code: e3080bdc e34c006a eb10b2d8 e3a03000 (e5833000)

[  412.666467] ---[ end trace c1dc946a22df7313 ]---

 

(Analysis contents)

static int yaffs_bg_thread_fn(void *data) in yaffs_vfs.c

-> gc_result = yaffs_bg_gc(dev, urgency); in int yaffs_bg_thread_fn

-> int yaffs_bg_gc(struct yaffs_dev *dev, unsigned urgency) in yaffs_guts.c

           -> yaffs_check_gc(dev, 1); in yaffs_bg_gc

-> static int yaffs_check_gc(struct yaffs_dev *dev, int background) in yaffs_guts.c

                                     -> yaffs_put_chunk_in_file   in yaffs_guts.c

                                                    if (!in_scan) {

                                                                yaffs_trace(YAFFS_TRACE_ERROR,

                                                               "yaffs tragedy:attempt to put data chunk into a non-file"

                                                                );

                                                                 BUG();

                                                         }

 

Detail Error Event location : yaffs2/yaffs_yaffs2.c

int yaffs_put_chunk_in_file(struct yaffs_obj *in, int inode_chunk,

                                    int nand_chunk, int in_scan)

{

           if (in->variant_type != YAFFS_OBJECT_TYPE_FILE) {

                     /* Just ignore an attempt at putting a chunk into a non-file

                     * during scanning.

                     * If it is not during Scanning then something went wrong!

                     */

                     if (!in_scan) {

                                yaffs_trace(YAFFS_TRACE_ERROR,

                                          "yaffs tragedy:attempt to put data chunk into a non-file"

                                          );

                                BUG();

                     }

 

                     yaffs_chunk_del(dev, nand_chunk, 1, __LINE__);

                     return YAFFS_OK;

           }