저는 언젠가 프리 스케일 i.MX233에서 스피커 테스트를 실행하면서 커널 OOPS를 가졌습니다. 아마도 스피커 테스트에서 SIGTERM을 시도한 후에 발생했을 것입니다 (다른 시간이 될 수도 있음). OOPS 후에는 사용되지 않은 모든 CPU 시간에서 IO가 실행되기를 기다리는 것을 볼 수있었습니다. 스피커 테스트를 호출하는 프로세스도 종료 할 수 없습니다. SIGKILL도 시도했다. "ps ax"도 실행 후 매달려있었습니다.가상 주소에서 커널 페이징 요청을 처리 할 수 없습니다. - 커널 OOPS
운 좋게도 메시지에서 OOPS를 추출 할 수있었습니다. 나는 인터넷 전체를 수색했으나이 창고에서 내가 본 모든 것을 실제로 설명 할 수 없었다.
내가 실제로 알아낼 수없는 것은 실제로이 문제를 일으킬 수있는 것과 어떻게 특정 드라이버에 역 추적 할 수 있는가입니다. mxs 오디오 드라이버는 커널에 내장되어 있으므로 드라이버 목록에 표시되지 않습니다. 드라이버 자체가 많이 수정되어 요청에 따라 일부만 공유 할 수 있습니다.
그래서 커널 주소는 0xc0000000에서 시작하지만 프로세스 스택은 커널 메모리 주소 영역의 일부입니까? 커널 주소에서 아래쪽으로 시작하지 않습니까?
사용중인 스피커 테스트는 1.0.11rc2이지만 프로그램이 갑작스럽게 종료 되더라도 사운드 아키텍처가 모든 것을 올바르게 종료한다고 가정합니다. 이 버전의 스피커 테스트는 신호를 처리하지 않고 우아하게 닫으 려하지 않고 그냥 포기합니다.
0xe1a0a024는 어떤 영역입니까? 아마 ARM 명령어인가? 이것이 어딘가에서 스택 오버플로를 의미합니까? 나는 메모리 매핑 된 레지스터가 0x80000000에 있다는 것을 알고있다. 어떤 지역이 "pgd = c39dc000"입니까? 그 커널 스택인가?
OOPS에서 다음 번에 스택 덤프를 추가로 가져올 수 있습니까? 필요하다면 커널을 바꿀 수 있습니다. (더 많은 정보를 얻으려면 OOPS 프린터로 가야 할 것 같군요.)하지만 이것에 대한 설정이 있습니까?
아이디어가 있으십니까? 어떤 도움이라도 대단히 감사합니다. 저는 2 일 동안 이것을보고 있습니다.
OOPS :
<1>[268811.560000] Unable to handle kernel paging request at virtual address e1a0a024
<1>[268811.560000] pgd = c39dc000
<1>[268811.560000] [e1a0a024] *pgd=00000000
<4>[268811.560000] Internal error: Oops: 5 [#1] PREEMPT
<4>[268811.560000] Modules linked in:
<4>[268811.560000] CPU: 0 Tainted: P (2.6.31-private #153)
<4>[268811.560000] PC is at vma_prio_tree_next+0x3c/0x6c
<4>[268811.560000] LR is at update_mmu_cache+0x120/0x1c4
<4>[268811.560000] pc : [<c00b98d8>] lr : [<c00611d4>] psr: a0000093
<4>[268811.560000] sp : c39c5de0 ip : c5cfa8f8 fp : c7ce7d80
<4>[268811.560000] r10: c7ce7d80 r9 : 401fb000 r8 : 401fb000
<4>[268811.560000] r7 : 00000021 r6 : c5c9b478 r5 : 00000000 r4 : 401fad94
<4>[268811.560000] r3 : e08f7007 r2 : ea00014d r1 : c39c5dec r0 : e1a0a000
<4>[268811.560000] Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
<4>[268811.560000] Control: 0005317f Table: 439dc000 DAC: 00000015
<4>[268811.560000] Process speaker-test (pid: 1823, stack limit = 0xc39c4270)
<4>[268811.560000] Stack: (0xc39c5de0 to 0xc39c6000)
<4>[268811.560000] 5de0: 401fad94 c00611d4 c5f351c0 c7d34c84 00000080 00000000 00000000 c747d3c0
<4>[268811.560000] 5e00: 00000021 00000021 00000000 00000000 4507630f c04a4ec0 00000000 c5c9b478
<4>[268811.560000] 5e20: 00000000 c00bbc68 c7802060 00000000 00000200 c3a22fec 00000000 00000021
<4>[268811.560000] 5e40: 401fb000 c04a4ec0 c5c9b108 c3a22800 c39dd000 c5c9b478 c5c9b478 401fb000
<4>[268811.560000] 5e60: 00000000 00000000 c7ce7d80 c00bc69c 00000021 00000000 00000000 00000000
<4>[268811.560000] 5e80: 000001fb c39dc000 00000200 000007ec c3a22fec c5c0612c 00000010 00000000
<4>[268811.560000] 5ea0: 00000000 c749b0b0 0000000a c03b030c c5de0c00 c5c9b478 c7ce7db4 401fb290
<4>[268811.560000] 5ec0: c39c5fb0 c7ce7d80 00000017 c0060a30 c7d34cb8 00000000 00000200 00000000
<4>[268811.560000] 5ee0: 00000000 c03b030c 00000006 c03b037c 00000017 c39c5fb0 0000000b 401fb290
<4>[268811.560000] 5f00: be93295c c005a228 00000000 00000000 c7ce7d80 c00bc69c 0000000a 00000000
<4>[268811.560000] 5f20: 00000000 00000000 000001b0 c39dc000 00000200 000006c0 c3a22ec0 401c3000
<4>[268811.560000] 5f40: 00000001 00000000 40025050 c00858f8 00000021 ffffffff c5de0c00 c5c9b948
<4>[268811.560000] 5f60: 00000000 c01697e8 00000200 c5de0c00 c5c9b948 c0060ac4 c005af84 be932c38
<4>[268811.560000] 5f80: 00000008 00000000 c39c4000 ffffffff 00000006 ffffffff 00000006 be9329e8
<4>[268811.560000] 5fa0: be9329e8 0000000c 403004d0 c005ad9c 00000000 00000000 0000000c 00000000
<4>[268811.560000] 5fc0: 0000000c 00000006 be9329e8 be9329e8 0000000c 0000000b 403004d0 be93295c
<4>[268811.560000] 5fe0: 0000c718 be9328f8 401fa7bc 401fadb8 20000010 ffffffff 00000000 00000000
<4>[268811.560000] [<c00b98d8>] (vma_prio_tree_next+0x3c/0x6c) from [<c00611d4>] (update_mmu_cache+0x120/0x1c4)
<4>[268811.560000] [<c00611d4>] (update_mmu_cache+0x120/0x1c4) from [<c00bbc68>] (__do_fault+0x308/0x3ec)
<4>[268811.560000] [<c00bbc68>] (__do_fault+0x308/0x3ec) from [<c00bc69c>] (handle_mm_fault+0x298/0xc14)
<4>[268811.560000] [<c00bc69c>] (handle_mm_fault+0x298/0xc14) from [<c0060a30>] (do_page_fault+0xec/0x234)
<4>[268811.560000] [<c0060a30>] (do_page_fault+0xec/0x234) from [<c005a228>] (do_DataAbort+0x30/0x90)
<4>[268811.560000] [<c005a228>] (do_DataAbort+0x30/0x90) from [<c005ad9c>] (ret_from_exception+0x0/0x10)
<4>[268811.560000] Exception stack(0xc39c5fb0 to 0xc39c5ff8)
<4>[268811.560000] 5fa0: 00000000 00000000 0000000c 00000000
<4>[268811.560000] 5fc0: 0000000c 00000006 be9329e8 be9329e8 0000000c 0000000b 403004d0 be93295c
<4>[268811.560000] 5fe0: 0000c718 be9328f8 401fa7bc 401fadb8 20000010 ffffffff
<4>[268811.560000] Code: e2430024 e5903030 e3530000 1a000001 (e5903024)
<4>[268811.560000] ---[ end trace c70c22c7b9cf390d ]---
<6>[268811.560000] note: speaker-test[1823] exited with preempt_count 2