• 内核错误信息分析


    [  221.341000] bad: scheduling from the idle thread!
    [  221.341000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c0073390>] (dequeue_task_idle+0x1c/0x28)
    [  221.342000] [<c0073390>] (dequeue_task_idle+0x1c/0x28) from [<c006d8e0>] (dequeue_task+0xb4/0xc0)
    [  221.343000] [<c006d8e0>] (dequeue_task+0xb4/0xc0) from [<c06f08fc>] (__schedule+0x454/0x7d4)
    [  221.344000] [<c06f08fc>] (__schedule+0x454/0x7d4) from [<c06f1034>] (schedule_preempt_disabled+0x14/0x20)
    [  221.345000] [<c06f1034>] (schedule_preempt_disabled+0x14/0x20) from [<c000fbc8>] (cpu_idle+0xe8/0x104)
    [  221.346000] [<c000fbc8>] (cpu_idle+0xe8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    在由tasklet实现的底半部的代码中有休眠,阻塞函数或可能造成休眠,阻塞的函数。在产生该对应的中断时会出现造成内核崩溃出现以上的打印信息。



    [  316.174000] BUG: scheduling while atomic: swapper/0/0/0x00010002
    [  316.174000] Modules linked in: btn_drv(O)
    [  316.174000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c06f0bf0>] (__schedule+0x748/0x7d4)
    [  316.174000] [<c06f0bf0>] (__schedule+0x748/0x7d4) from [<c06eee38>] (schedule_timeout+0x174/0x2f8)
    [  316.174000] [<c06eee38>] (schedule_timeout+0x174/0x2f8) from [<c00509d8>] (msleep+0x14/0x20)
    [  316.174000] [<c00509d8>] (msleep+0x14/0x20) from [<bf000050>] (btn_isr+0x10/0x78 [btn_drv])
    [  316.174000] [<bf000050>] (btn_isr+0x10/0x78 [btn_drv]) from [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8)
    [  316.174000] [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8) from [<c00b2a80>] (handle_irq_event+0x3c/0x5c)
    [  316.174000] [<c00b2a80>] (handle_irq_event+0x3c/0x5c) from [<c00b51a8>] (handle_level_irq+0xac/0xfc)
    [  316.174000] [<c00b51a8>] (handle_level_irq+0xac/0xfc) from [<c001e988>] (gpio_handler+0x90/0x174)
    [  316.174000] [<c001e988>] (gpio_handler+0x90/0x174) from [<c00b207c>] (generic_handle_irq+0x24/0x38)
    [  316.174000] [<c00b207c>] (generic_handle_irq+0x24/0x38) from [<c000f518>] (handle_IRQ+0x4c/0xb0)
    [  316.174000] [<c000f518>] (handle_IRQ+0x4c/0xb0) from [<c0008528>] (gic_handle_irq+0x24/0x58)
    [  316.174000] [<c0008528>] (gic_handle_irq+0x24/0x58) from [<c000e880>] (__irq_svc+0x40/0x70)
    [  316.174000] Exception stack(0xc0a4ff60 to 0xc0a4ffa8)
    [  316.174000] ff60: ffffffed 00000000 00a90000 00000000 c0a4e000 c0a4e000 c0ae7288 c06f62f4
    [  316.174000] ff80: c0a4e000 410fd033 c0a6c158 00000000 00000019 c0a4ffa8 c000f808 c000f80c
    [  316.174000] ffa0: 60000013 ffffffff
    [  316.174000] [<c000e880>] (__irq_svc+0x40/0x70) from [<c000f80c>] (default_idle+0x28/0x30)
    [  316.174000] [<c000f80c>] (default_idle+0x28/0x30) from [<c000fba8>] (cpu_idle+0xc8/0x104)
    [  316.174000] [<c000fba8>] (cpu_idle+0xc8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    [  316.174000] bad: scheduling from the idle thread!
    [  316.174000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c0073390>] (dequeue_task_idle+0x1c/0x28)
    [  316.174000] [<c0073390>] (dequeue_task_idle+0x1c/0x28) from [<c006d8e0>] (dequeue_task+0xb4/0xc0)
    [  316.174000] [<c006d8e0>] (dequeue_task+0xb4/0xc0) from [<c06f08fc>] (__schedule+0x454/0x7d4)
    [  316.174000] [<c06f08fc>] (__schedule+0x454/0x7d4) from [<c06eee38>] (schedule_timeout+0x174/0x2f8)
    [  316.174000] [<c06eee38>] (schedule_timeout+0x174/0x2f8) from [<c00509d8>] (msleep+0x14/0x20)
    [  316.174000] [<c00509d8>] (msleep+0x14/0x20) from [<bf000050>] (btn_isr+0x10/0x78 [btn_drv])
    [  316.174000] [<bf000050>] (btn_isr+0x10/0x78 [btn_drv]) from [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8)
    [  316.174000] [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8) from [<c00b2a80>] (handle_irq_event+0x3c/0x5c)
    [  316.174000] [<c00b2a80>] (handle_irq_event+0x3c/0x5c) from [<c00b51a8>] (handle_level_irq+0xac/0xfc)
    [  316.174000] [<c00b51a8>] (handle_level_irq+0xac/0xfc) from [<c001e988>] (gpio_handler+0x90/0x174)
    [  316.174000] [<c001e988>] (gpio_handler+0x90/0x174) from [<c00b207c>] (generic_handle_irq+0x24/0x38)
    [  316.174000] [<c00b207c>] (generic_handle_irq+0x24/0x38) from [<c000f518>] (handle_IRQ+0x4c/0xb0)
    [  316.174000] [<c000f518>] (handle_IRQ+0x4c/0xb0) from [<c0008528>] (gic_handle_irq+0x24/0x58)
    [  316.174000] [<c0008528>] (gic_handle_irq+0x24/0x58) from [<c000e880>] (__irq_svc+0x40/0x70)
    [  316.174000] Exception stack(0xc0a4ff60 to 0xc0a4ffa8)
    [  316.174000] ff60: ffffffed 00000000 00a90000 00000000 c0a4e000 c0a4e000 c0ae7288 c06f62f4
    [  316.174000] ff80: c0a4e000 410fd033 c0a6c158 00000000 00000019 c0a4ffa8 c000f808 c000f80c
    [  316.174000] ffa0: 60000013 ffffffff
    [  316.174000] [<c000e880>] (__irq_svc+0x40/0x70) from [<c000f80c>] (default_idle+0x28/0x30)
    [  316.174000] [<c000f80c>] (default_idle+0x28/0x30) from [<c000fba8>] (cpu_idle+0xc8/0x104)
    [  316.174000] [<c000fba8>] (cpu_idle+0xc8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    [  316.174000] ------------[ cut here ]------------
    [  316.174000] WARNING: at kernel/timer.c:1063 del_timer_sync+0x4c/0x54()
    [  316.174000] Modules linked in: btn_drv(O)
    [  316.174000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c0042814>] (warn_slowpath_common+0x4c/0x64)
    [  316.174000] [<c0042814>] (warn_slowpath_common+0x4c/0x64) from [<c0042848>] (warn_slowpath_null+0x1c/0x24)
    [  316.174000] [<c0042848>] (warn_slowpath_null+0x1c/0x24) from [<c004f584>] (del_timer_sync+0x4c/0x54)
    [  316.174000] [<c004f584>] (del_timer_sync+0x4c/0x54) from [<c06eee40>] (schedule_timeout+0x17c/0x2f8)
    [  316.174000] [<c06eee40>] (schedule_timeout+0x17c/0x2f8) from [<c00509d8>] (msleep+0x14/0x20)
    [  316.174000] [<c00509d8>] (msleep+0x14/0x20) from [<bf000050>] (btn_isr+0x10/0x78 [btn_drv])
    [  316.174000] [<bf000050>] (btn_isr+0x10/0x78 [btn_drv]) from [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8)
    [  316.174000] [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8) from [<c00b2a80>] (handle_irq_event+0x3c/0x5c)
    [  316.174000] [<c00b2a80>] (handle_irq_event+0x3c/0x5c) from [<c00b51a8>] (handle_level_irq+0xac/0xfc)
    [  316.174000] [<c00b51a8>] (handle_level_irq+0xac/0xfc) from [<c001e988>] (gpio_handler+0x90/0x174)
    [  316.174000] [<c001e988>] (gpio_handler+0x90/0x174) from [<c00b207c>] (generic_handle_irq+0x24/0x38)
    [  316.174000] [<c00b207c>] (generic_handle_irq+0x24/0x38) from [<c000f518>] (handle_IRQ+0x4c/0xb0)
    [  316.174000] [<c000f518>] (handle_IRQ+0x4c/0xb0) from [<c0008528>] (gic_handle_irq+0x24/0x58)
    [  316.174000] [<c0008528>] (gic_handle_irq+0x24/0x58) from [<c000e880>] (__irq_svc+0x40/0x70)
    [  316.174000] Exception stack(0xc0a4ff60 to 0xc0a4ffa8)
    [  316.174000] ff60: ffffffed 00000000 00a90000 00000000 c0a4e000 c0a4e000 c0ae7288 c06f62f4
    [  316.174000] ff80: c0a4e000 410fd033 c0a6c158 00000000 00000019 c0a4ffa8 c000f808 c000f80c
    [  316.174000] ffa0: 60000013 ffffffff
    [  316.174000] [<c000e880>] (__irq_svc+0x40/0x70) from [<c000f80c>] (default_idle+0x28/0x30)
    [  316.174000] [<c000f80c>] (default_idle+0x28/0x30) from [<c000fba8>] (cpu_idle+0xc8/0x104)
    [  316.174000] [<c000fba8>] (cpu_idle+0xc8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    [  316.174000] ---[ end trace 34a513405ae794cb ]---
    当在中断处理函数中调用休眠或可能造成休眠或者阻塞的函数是内核崩溃后给出的打印信息。本质上还是在中断释放了cpu资源。

  • 相关阅读:
    pureftp 超时 mlsd
    安卓相机调用适配
    解决多个界面重复共用同一组数据导致数据同步改变(实现数据的完全深拷贝)
    PHP反射API的使用、体会、说明
    c冒泡排序
    iOS开发常用的第三方类库
    修改按钮上图片的大小-iOS
    获取手机通讯录--ios
    根据搜素的字符串改变label包含该字符串的文字
    cell点击按钮崩的一种情况
  • 原文地址:https://www.cnblogs.com/DXGG-Bond/p/11867186.html
Copyright © 2020-2023  润新知