Re: OpenSSI preview on Debian Lenny (on x86_64)
John Hughes <[email protected]> Mon, 22 Feb 2010 16:39:36 +0100
| Newsgroups | gmane.linux.cluster.ssic.devel |
|---|---|
| Message-ID | <[email protected]> |
adp: mm = ffff81001d3e6a40
adp: pmd = 0000805300000018
adp: apid = ffff81001f69d000
adp: api_addr = 0000000000600000
general protection fault: 0000 [1] SMP
Entering kdb (current=0xffff81001d5e7800, pid 132740) on processor 0 Oops: <NULL>
due to oops @ 0xffffffff80179522
r15 = 0x0000000000000000 r14 = 0xffff810000000000
r13 = 0xffff81001d2b5108 r12 = 0xffff81001d3e6a40
rbp = 0xffff81001f69d000 rbx = 0x0000000000600000
r11 = 0x0000000000000000 r10 = 0x0000000000000000
r9 = 0x0000000000000000 r8 = 0x0000000000000720
rax = 0x0000000000000027 rcx = 0x0000000000000010
rdx = 0x0000000000600000 rsi = 0x0000805300000018
rdi = 0xffff81001d3e6a40 orig_rax = 0xffffffffffffffff
rip = 0xffffffff80179522 cs = 0x0000000000000010
eflags = 0x0000000000010296 rsp = 0xffff81001dd1dc00
ss = 0xffff81001dd1c000 ®s = 0xffff81001dd1db68
[0]kdb>
[0]kdb> id pte_alloc_map
0xffffffff80179500 pte_alloc_map: sub $0x28,%rsp
0xffffffff80179504 pte_alloc_map+0x4: mov %rbx,(%rsp)
0xffffffff80179508 pte_alloc_map+0x8: mov %rbp,0x8(%rsp)
0xffffffff8017950d pte_alloc_map+0xd: mov %rdx,%rbx
0xffffffff80179510 pte_alloc_map+0x10: mov %r12,0x10(%rsp)
0xffffffff80179515 pte_alloc_map+0x15: mov %r13,0x18(%rsp)
0xffffffff8017951a pte_alloc_map+0x1a: mov %rdi,%r12
0xffffffff8017951d pte_alloc_map+0x1d: mov %r14,0x20(%rsp)
0xffffffff80179522 pte_alloc_map+0x22: mov (%rsi),%rdx
Or, to put it another way:
0000000000000850 <pte_alloc_map>:
pte_t fastcall *pte_alloc_map(struct mm_struct *mm, pmd_t *pmd,
unsigned long address)
{
850: 48 83 ec 28 sub $0x28,%rsp
854: 48 89 1c 24 mov %rbx,(%rsp)
858: 48 89 6c 24 08 mov %rbp,0x8(%rsp)
85d: 48 89 d3 mov %rdx,%rbx
860: 4c 89 64 24 10 mov %r12,0x10(%rsp)
865: 4c 89 6c 24 18 mov %r13,0x18(%rsp)
86a: 49 89 fc mov %rdi,%r12
86d: 4c 89 74 24 20 mov %r14,0x20(%rsp)
if (!pmd_present(*pmd)) {
872: 48 8b 16 mov (%rsi),%rdx
}
875: 48 89 f5 mov %rsi,%rbp
if (!pmd_present(*pmd)) {
878: f6 c2 01 test $0x1,%dl
87b: 0f 85 c0 00 00 00 jne 941 <pte_alloc_map+0xf1>
Going "BANG" on the pmd_present(*pmd)
What's at (%rsi) (aka *pmd)?
md 0x0000805300000018
kdb_getarea: Bad address 0x805300000018
Sad, that seems not to be a good address.
Wild, it looks like pmd_alloc has given us a bad address?!!@#
if (!(pmd = pmd_alloc(mm, pud, apip->api_addr))) {
error = -EAGAIN;
goto out_unlock_spin;
}
if (!(pte = pte_alloc_map(mm, pmd, apip->api_addr))) {
error = -EAGAIN;
goto out_unlock_spin;
}
Is it normal that api_addr is zero? Does address zero exist?
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev