RT崩溃, Oop信息较全,是什么问题导致的呢?大家帮忙看看。

jintiann 2016-12-14 02:32:47
使用的官网2.6.33的RT补丁包,加载实时内核是出现以下错误信息。

Kernel virtual memory layout:
* 0xfffdf000..0xfffff000 : fixmap
* 0xfcef8000..0xfe000000 : early ioremap
* 0xd1000000..0xfcef8000 : vmalloc & ioremap
------------[ cut here ]------------
kernel BUG at kernel/rtmutex.c:775!
Oops: Exception in kernel mode, sig: 5 [#1]
PREEMPT MPC8309 SOM
last sysfs file:
Modules linked in:
NIP: c02b9e50 LR: c02b9e30 CTR: 00000000
REGS: c03cfd30 TRAP: 0700 Not tainted (2.6.34)
MSR: 00021032 <ME,CE,IR,DR> CR: 84004022 XER: 20000000
TASK = c0396460[0] 'swapper' THREAD: c03ce000
GPR00: 00000001 c03cfde0 c0396460 00000000 c0396460 00000000 00000001 0000008c
GPR08: c03cfe14 c0396460 c03cfe0c c0396460 24004028 ffd7ffdf c03cff1c c03d0000
GPR16: c03b0000 c03cff18 c03cb224 00000000 c03d0000 00000000 c03cfed8 00008000
GPR24: c038c0ac 00000001 c03cfdec 00001032 cf40001c c03cfed8 c03b1750 cf400000
NIP [c02b9e50] rt_spin_lock_slowlock+0x74/0x39c
LR [c02b9e30] rt_spin_lock_slowlock+0x54/0x39c
Call Trace:
[c03cfde0] [c02b9e30] rt_spin_lock_slowlock+0x54/0x39c (unreliable)
[c03cfe70] [c008b7f4] _slab_irq_disable+0x20/0x3c
[c03cfe90] [c008cba4] cache_alloc_refill+0x4e0/0x5f8
[c03cfed0] [c008d034] kmem_cache_alloc+0x188/0x190
[c03cff10] [c008e160] kmem_cache_create+0x26c/0x490
[c03cff80] [c0377d58] kmem_cache_init+0x1c0/0x394
[c03cffc0] [c0368844] start_kernel+0x17c/0x310
[c03cfff0] [00003438] 0x3438
Instruction dump:
7c441378 38a00000 38c00001 4bd9a9a5 2f830000 409e02f0 801e0028 7c4b1378
5400003c 7c001278 7c000034 5400d97e <0f000000> 83820000 2f9c0002 419e0224
---[ end trace 31fd0ba7d8756001 ]---
Kernel panic - not syncing: Attempted to kill the idle task!
Call Trace:
[c03cfb50] [c00087e8] show_stack+0x3c/0x160 (unreliable)
[c03cfb80] [c00276f8] panic+0x94/0x114
[c03cfbd0] [c002bb44] do_exit+0x5a0/0x5fc
[c03cfc10] [c000f750] kernel_bad_stack+0x0/0x4c
[c03cfc30] [c000f9ac] _exception+0x118/0x12c
[c03cfd20] [c0012114] ret_from_except_full+0x0/0x4c
--- Exception: 700 at rt_spin_lock_slowlock+0x74/0x39c
LR = rt_spin_lock_slowlock+0x54/0x39c
[c03cfe70] [c008b7f4] _slab_irq_disable+0x20/0x3c
[c03cfe90] [c008cba4] cache_alloc_refill+0x4e0/0x5f8
[c03cfed0] [c008d034] kmem_cache_alloc+0x188/0x190
[c03cff10] [c008e160] kmem_cache_create+0x26c/0x490
[c03cff80] [c0377d58] kmem_cache_init+0x1c0/0x394
[c03cffc0] [c0368844] start_kernel+0x17c/0x310
[c03cfff0] [00003438] 0x3438
Rebooting in 180 seconds..
Error: Restart registers not mapped, spinning!

大家帮忙分析下,多谢了?
...全文
673 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanliumulan 2017-01-04
  • 打赏
  • 举报
回复
遇到类似错误打印,请帮忙能稍微讲解下是如何解决的吗?Call Trace: [cf7a5ce0] [c04cda8c] rt_spin_lock_slowlock+0x5c/0x34c (unreliable)
jintiann 2016-12-20
  • 打赏
  • 举报
回复
该部分Oops问题已经解决,主要是锁函数用错了,不配对。大家有遇到类似问题可以查询下。 目前又出现新的问题,内核加载完成后,到了加载fs的时候不动了(停止在Freeing unused kernel memory: 160k init 后面应该是Mounting /proc,结果就停止在Freeing后不动了)。这大概是什么问题呢? 如下 Freeing unused kernel memory: 160k init Mounting /proc and /sys
jintiann 2016-12-16
  • 打赏
  • 举报
回复
运行到 kernel\rtmutex.c 的 rt_spin_lock_slowlock(struct rt_mutex *lock) 函数中出现的问题,在 BUG_ON(rt_mutex_owner(lock) == current); 出现的错误。
jintiann 2016-12-16
  • 打赏
  • 举报
回复
大牛们帮忙看看,实在看不出问题。

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧