- 论坛徽章:
- 0
|
大家好,我在用jffs2做根文件体统时出现了如下错误大家给分析一下的哈!
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 28, io base 0xffe22000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
i2c /dev entries driver
rtc-ds1307 0-0068: rtc core: registered ds1339 as rtc0
PowerPC Book-E Watchdog Timer Loaded
md: raid6 personality registered for level 6
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: SDHCI controller on ffe2e000.sdhci [ffe2e000.sdhci] using DMA
Freescale P1022 DS ALSA SoC fabric driver
Freescale Synchronous Serial Interface (SSI) ASoC Driver
ALSA device list:
No soundcards found.
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
rtc-ds1307 0-0068: setting system clock to 2011-08-08 17:48:28 UTC (131282570
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
usb 1-1: new high speed USB device using fsl-ehci and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
JFFS2 notice: (1) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
VFS: Mounted root (jffs2 filesystem) on device 31:3.
Freeing unused kernel memory: 244k init
JFFS2 error: (120 __jffs2_dbg_acct_paranoia_check_nolock: Calculated used size 0x008660 != stored used size 0x007a9c.
0x000000->0x00002c->0x000070->0x00009c->
<7>0x0000e0->0x00010c->0x000150->0x00017c->
<7>0x0001c0->0x0001ec->0x000230->0x00025c->
<7>0x0002a0->0x0002cc->0x000310->0x00033c->
<7>0x000380->0x0003ac->0x0003f0->0x00041c->
<7>0x000460->0x000490->0x0004dc->0x00050c->
<7>0x000558->0x000584->0x0005d0->0x0005fc->
<7>0x000648->0x000678->0x000b28->0x001214->
<7>0x0018a0->0x00222c->0x002bb0->0x0033f0->
<7>0x003e90->0x004a70->0x00564c->0x00627c->
<7>0x006e28->0x0079ec->0x008490->0x0090c4->
<7>0x009ce8->0x00a938->0x00b5a8->0x00c14c->
<7>0x00ccf4->0x00d894->0x00e4b4->0x00f0c8->
<7>0x00fd14->0x010930->0x0114f0->0x011e10->
<7>0x012910->0x0134e8->0x01421c->0x014f1c->
<7>0x015ae0->0x016738->0x017358->0x017f34->
<7>0x018af8->0x019708->0x01a2dc->0x01ae8c->
<7>0x01b9b8->0x01c520->0x01d004->0x01d93c->
<7>0x01e540
------------[ cut here ]------------
kernel BUG at fs/jffs2/debug.c:371!
Oops: Exception in kernel mode, sig: 5 [#1]
SMP NR_CPUS=4 P1025 RDB
last sysfs file:
Modules linked in:
NIP: c01d96a0 LR: c01d96a0 CTR: 00000001
REGS: ef0c1c60 TRAP: 0700 Not tainted (2.6.35+)
MSR: 00029000 <EE,ME,CE> CR: 22042022 XER: 20000000
TASK = ef0d5770[1208] 'jffs2_gcd_mtd3' THREAD: ef0c0000 CPU: 1
GPR00: c01d96a0 ef0c1d10 ef0d5770 0000001b 00021000 ffffffff c06b6210 3a20656d
GPR08: c06b61d8 00000000 000f3e8c 00000001 22042022 2420100e c05c0d68 c05c0dac
GPR16: c051cb58 ef008c00 00000000 ef0c1da4 ef0c1e28 c05c0fbc 00000000 ef008c00
GPR24: 186b259f c051cb38 c051cb48 00014494 ef031250 0000bb6c ef0dec00 ef854000
NIP [c01d96a0] __jffs2_dbg_acct_paranoia_check_nolock+0x124/0x2b4
LR [c01d96a0] __jffs2_dbg_acct_paranoia_check_nolock+0x124/0x2b4
Call Trace:
[ef0c1d10] [c01d96a0] __jffs2_dbg_acct_paranoia_check_nolock+0x124/0x2b4 (unreliable)
[ef0c1d40] [c01cdbd8] check_tn_node+0x264/0x3d4
[ef0c1d90] [c01cf410] jffs2_do_read_inode_internal+0x1584/0x18c8
[ef0c1e20] [c01cfa08] jffs2_do_crccheck_inode+0x68/0xa8
[ef0c1e90] [c01d43fc] jffs2_garbage_collect_pass+0x1dc/0xa74
[ef0c1ef0] [c01d6618] jffs2_garbage_collect_thread+0x1f8/0x220
[ef0c1fb0] [c005ca84] kthread+0x78/0x7c
[ef0c1ff0] [c0010424] kernel_thread+0x4c/0x68
Instruction dump:
3c60c05c 38a5ce74 38636464 38a50048 4831e669 7fe4fb78 7fc3f378 4bffeecd
7fe3fb78 4bfff039 7fc3f378 4bfff109 <0fe00000> 2f800001 41beff40 393c0008
---[ end trace ac65d77f2702af89 ]---
我跟踪了fs/jffs2debug.c 发现了个很奇怪的现象
333 //printk(KERN_INFO"my_used_size is %#08x,stored used size is %#08x\n",my_used_size,jeb->used_size); //我加的打印信息
334 if (my_used_size != jeb->used_size) {
335 JFFS2_ERROR("Calculated used size %#08x != stored used size %#08x.\n",
336 my_used_size, jeb->used_size);
我加上这个打印信就不会报错 my_used_size,jeb->used_size 这个两个值都是相等的,加上别的打印信息效果也是一样的不会出错,比如只打印 printk(KERN_INFO"tishi s \n" ;
加上打印信息后我把所有的 my_used_size,jeb->used_size 打印出来保存起来,把报错时的 my_used_size,jeb->used_size值对比,发现是 ,jeb->used_size没有更新。如下
JFFS2 error: (120 __jffs2_dbg_acct_paranoia_check_nolock: Calculated used size 0x008660 != stored used size 0x007a9c.
正常时保存的
my_used_size is 0x007a9c,stored used size is 0x007a9c
my_used_size is 0x008660,stored used size is 0x008660
当 used_size 是0x008660时stored used size却是上一次的
大家帮忙分析一下的 阿 |
|