Hello. Charles Manning
We found a kernel error message. But We can’t 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;
}