dotgnu-libjit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dotgnu-libjit] How Do I Debug a Memory Protection Error?


From: Klaus Treichel
Subject: Re: [Dotgnu-libjit] How Do I Debug a Memory Protection Error?
Date: Sun, 17 Oct 2010 09:21:53 +0200

> The backtrace is just a bunch of functions in my program. (GNU Guile,
> if you're interested.)
> 
> The registers look like this (from 'info registers'):
> 
> rax            0x8    8
> rbx            0x7fff5fbfe800 140734799800320
> rcx            0x0    0
> rdx            0x10102e610    4311934480
> rsi            0x10102e608    4311934472
> rdi            0x10282feb8    4337106616
> rbp            0x7fff5fbfea50 0x7fff5fbfea50
> rsp            0x7fff5fbfe7f8 0x7fff5fbfe7f8
> r8             0x0    0
> r9             0x0    0
> r10            0x10030ccdd    4298165469
> r11            0x1007bb480    4303074432
> r12            0x100709fd0    4302348240
> r13            0x1002f3480    4298060928
> r14            0x3    3
> r15            0x10029a6d0    4297696976
> rip            0x1007bb480    0x1007bb480
> eflags         0x10246        66118
> cs             0x27   39
> ss             0x0    0
> ds             0x0    0
> es             0x0    0
> fs             0x0    0
> gs             0x0    0
> 
> Thanks,
> Noah
> 
> On Sat, Oct 16, 2010 at 12:47 PM, Klaus Treichel <address@hidden> wrote:
> > Hi Noah,
> >
> >> > What does the address look like on which the bus error is raised?
> >> > The OS X abi for x86_64 should be SysV abi or do you know about any
> >> > differences?
> >>
> >> The address is 0x00000001007bb480.
> >>
As i can see r11 holds the entry address of the function.
This register is used in libjit for this purpose on x86_64.

Do you use on demand compilation in your program?

The instruction at the function's public entry point is a jump to either
the on demand compile function if the function is not yet compiled or
the real entry point of the function.

It looks like something is wrong there with compiling the function or
the jit_function_t pointer is not correct.

I'd need an idea of how you do the function compilation and calling in
your program to be able to help.

Cheers,
Klaus

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]