arm보드 리눅스 oops 질문드립니다.

김각래 2014.06.15 20:59 조회 수 : 2437

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = cfb1c000
[00000000] *pgd=2fbfa831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.39 #216)
PC is at kmem_cache_alloc+0x24/0x98
LR is at getname_flags+0x20/0xe8
pc : [<c0093e80>]    lr : [<c00a1e9c>]    psr: 40000093
sp : cfbb5f40  ip : 00000000  fp : 00000000
r10: 00000000  r9 : cfbb4000  r8 : ffffff9c
r7 : 00000000  r6 : 00000000  r5 : 40000013  r4 : 40202e7e
r3 : 40000093  r2 : 00000100  r1 : 000000d0  r0 : 00000000
Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: 2fb1c000  DAC: 00000015
Process MEG (pid: 589, stack limit = 0xcfbb4270)
Stack: (0xcfbb5f40 to 0xcfbb6000)
5f40: 00000000 40202e7e 00000000 00000000 00000000 c00a1e9c 00014220 00000001
5f60: 00000000 00000000 00000005 c0094efc 00000000 00000011 00000000 00000000
5f80: 00000024 00000100 00000000 00000000 4020e040 4020dee0 00000005 c0030b28
5fa0: 00000000 c0030980 00000000 4020e040 40202e7e 00000000 00000000 00000050
5fc0: 00000000 4020e040 4020dee0 00000005 402123dc 00000000 be3ffea0 00000000
5fe0: 40202e87 be3ffd58 401d949c 401c3010 60000010 40202e7e 00000000 00000000
[<c0093e80>] (kmem_cache_alloc+0x24/0x98) from [<c00a1e9c>] (getname_flags+0x20/0xe8)
[<c00a1e9c>] (getname_flags+0x20/0xe8) from [<c0094efc>] (do_sys_open+0xa8/0x1ac)
[<c0094efc>] (do_sys_open+0xa8/0x1ac) from [<c0030980>] (ret_fast_syscall+0x0/0x2c)
Code: e0016003 e10f5000 e3853080 e121f003 (e5901000)
---[ end trace d33e1f5c547d52cb ]---
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 17 [#2]
last sysfs file:
Modules linked in:
CPU: 0    Tainted: G      D      (2.6.39 #216)
PC is at kmem_cache_free+0x18/0xcc
LR is at rcu_process_callbacks+0x6c/0x84
pc : [<c0093080>]    lr : [<c00705d0>]    psr: 20000093
sp : cf833f68  ip : cf833f30  fp : 00000000
r10: 00000000  r9 : c0058dc4  r8 : cfbff540
r7 : 20000013  r6 : c042df1c  r5 : cfbff540  r4 : cfbbf760
r3 : 20000093  r2 : 00000000  r1 : cfbff540  r0 : 00000000
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: 2fb1c000  DAC: 00000017
Process rcu_kthread (pid: 6, stack limit = 0xcf832270)
Stack: (0xcf833f68 to 0xcf834000)
3f60:                   cfbbf760 cfbff540 c042df1c cf833f94 cf833fa0 c00705d0
3f80: cf815040 cf815040 cf832000 c00706a4 c031057c 00000000 cf815040 c0058dc4
3fa0: cf833fa0 cf833fa0 cf833fd4 cf81bf74 00000000 c00705e8 00000000 00000000
3fc0: 00000000 c0058a04 c003185c 00000000 00000000 00000000 cf833fd8 cf833fd8
3fe0: 00000000 cf81bf74 c0058984 c003185c 00000013 c003185c 00020018 18000004
[<c0093080>] (kmem_cache_free+0x18/0xcc) from [<c00705d0>] (rcu_process_callbacks+0x6c/0x84)
[<c00705d0>] (rcu_process_callbacks+0x6c/0x84) from [<c00706a4>] (rcu_kthread+0xbc/0xe4)
[<c00706a4>] (rcu_kthread+0xbc/0xe4) from [<c0058a04>] (kthread+0x80/0x88)
[<c0058a04>] (kthread+0x80/0x88) from [<c003185c>] (kernel_thread_exit+0x0/0x8)
Code: e1a08001 e10f7000 e3873080 e121f003 (e5904000)
---[ end trace d33e1f5c547d52cc ]---
Kernel panic - not syncing: Fatal exception in interrupt
[<c00359f0>] (unwind_backtrace+0x0/0xec) from [<c030fc44>] (panic+0x4c/0x180)
[<c030fc44>] (panic+0x4c/0x180) from [<c0033c84>] (die+0x180/0x1c4)
[<c0033c84>] (die+0x180/0x1c4) from [<c0036704>] (__do_kernel_fault+0x64/0x84)
[<c0036704>] (__do_kernel_fault+0x64/0x84) from [<c00368dc>] (do_page_fault+0x1b8/0x1d0)
[<c00368dc>] (do_page_fault+0x1b8/0x1d0) from [<c002a2e8>] (do_DataAbort+0x34/0x94)
[<c002a2e8>] (do_DataAbort+0x34/0x94) from [<c00305ac>] (__dabt_svc+0x4c/0x60)
Exception stack(0xcf833f20 to 0xcf833f68)
3f20: 00000000 cfbff540 00000000 20000093 cfbbf760 cfbff540 c042df1c 20000013
3f40: cfbff540 c0058dc4 00000000 00000000 cf833f30 cf833f68 c00705d0 c0093080
3f60: 20000093 ffffffff
[<c00305ac>] (__dabt_svc+0x4c/0x60) from [<c0093080>] (kmem_cache_free+0x18/0xcc)
[<c0093080>] (kmem_cache_free+0x18/0xcc) from [<c00705d0>] (rcu_process_callbacks+0x6c/0x84)
[<c00705d0>] (rcu_process_callbacks+0x6c/0x84) from [<c00706a4>] (rcu_kthread+0xbc/0xe4)
[<c00706a4>] (rcu_kthread+0xbc/0xe4) from [<c0058a04>] (kthread+0x80/0x88)
[<c0058a04>] (kthread+0x80/0x88) from [<c003185c>] (kernel_thread_exit+0x0/0x8)

 

리눅스 버전은 2.6.39이고 arm보드에서 발생했습니다.

MEG라는 프로세스는 4개가 실행중인 상태입니다.

이 웁스메시지는 MEG프로세스를 키자마자 바로 뜨는게아닌, 1일이상의 정상동작중에 갑자기 발생하는 현상입니다.

 

처음 웁스 메시지 따라 따라가보니 kmem_cache_all함수에서 캐시관련 구조체인 cachep의 주소가 0번지로 되있어, 이 0번지를 참조하는 과정에서 oops가 발생했고, 아래 웁스와 패닉은 그에 따라 연쇄적으로 발생한거 같습니다.

 

저 cachep는 linux부팅시 처음 한번 초기화한후 절대 변경될일이 없는데 왜 0번지로 바뀐지 모르겠네요.

 

웁스 메시지상 해당 프로세스가 무슨 sysfs나 모듈을 사용한것도 아닌거 같아보입니다.

주말동안 혼자서 계속 찾아보긴했는데 도저히 원인을 못찾겠습니다.

 

도움좀 부탁드립니다 _ _

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22255
418 ARM asssembler질문좀 드립니다. [3] 빈즈파덜 2014.08.05 2392
417 CPU가 현재 실행중인 PID값 받아오는거 질문드립니다. [2] file 이런Linux 2014.07.15 9523
416 linux kernel governor(onDemand) 질문입니다. hy 2014.07.10 1934
415 DS-5 Steamline관련 질문 [2] jmkim0726 2014.07.09 3023
414 malloc 관련 질문입니다. [8] shepherd44 2014.07.09 3218
413 Subversion 서버 설정간에 에러 메시지 오뎅하나 2014.06.22 2189
412 arm 스터디에 참가하고 싶은데 아는게 너무 없네요. [1] 니미로 2014.06.18 1752
411 Debug Hacks 책 보신 분~ [1] 저스틴 2014.06.17 2149
» arm보드 리눅스 oops 질문드립니다. [1] 김각래 2014.06.15 2437
409 CONFIG_CPU_V7M 에 대해서 [2] 安종현 2014.06.10 1843
408 ㅎㅎㅎ 어떻게 해석하시나요? [8] 백창우 2014.06.01 2490
407 [Kernel x86_64 & Hypervisor 11차] 스터디에서 선배님들에게 질문과 더불어.. [1] CoderBeast 2014.05.26 1562
406 ARM Instruction set [4] 블루문 2014.05.18 2281
405 이전차수의 x86 kernel 자료들을 볼수가 없습니다. [2] 이영주1 2014.05.09 1678
404 NUMA 시스템에서 memory 할당 관련 [1] 하이디제이 2014.05.08 1999
403 선배님들 ARM Developer's Guide PPT은 어디서 다운 받을 수 있을까요 다이어트킹 2014.05.08 2147
402 [ARM Kernel 11차 B팀] 선배님들께 아키텍쳐 선정과 관련하여 질문드립니다. [1] Luke 2014.04.29 1787
401 SCHED_RR과 SCHED_FIFO는 실시간 스케쥴링인가 아닌가. 인터오아시스 2014.04.28 1908
400 X86 architecture의 구조 좋은 책이 있나요? [2] 이영주1 2014.04.28 2125
399 DS-5 쓰시는 분 계신가요? [3] 삐뿌삐뽀 2014.04.22 1993
XE Login