Illegal Instruction in debug_build
Michael Barker
mikeb01 at gmail.com
Sun Sep 18 13:30:19 PDT 2011
Hi,
I've been trying to run a debug build on Mac OS, the normal build
works fine, but the debug version fails with an Illegal Instruction.
I've run it through gdb (output below), but I not sure how accurate
the information is. I think that it's the result of a stack overflow,
it takes around 2s to fail without any launch class specified. Has
anyone witnessed anything similar?
stub:davinci mikeb01$ sources/build/bsd-amd64-debug/bin/java
Illegal instruction: 4
0x000000010199d2af in os::current_stack_pointer () at os_bsd_x86.cpp:284
284 return (address) esp;
(gdb) disassemble
Dump of assembler code for function _ZN2os21current_stack_pointerEv:
0x000000010199d290 <_ZN2os21current_stack_pointerEv+0>: push %rbp
0x000000010199d291 <_ZN2os21current_stack_pointerEv+1>: mov %rsp,%rbp
0x000000010199d294 <_ZN2os21current_stack_pointerEv+4>: mov -0x18(%rbp),%rax
0x000000010199d298 <_ZN2os21current_stack_pointerEv+8>: mov %rax,%rsp
0x000000010199d29b <_ZN2os21current_stack_pointerEv+11>: mov %rsp,%rax
0x000000010199d29e <_ZN2os21current_stack_pointerEv+14>: mov %rax,-0x10(%rbp)
0x000000010199d2a2 <_ZN2os21current_stack_pointerEv+18>: mov -0x10(%rbp),%rax
0x000000010199d2a6 <_ZN2os21current_stack_pointerEv+22>: mov %rax,-0x8(%rbp)
0x000000010199d2aa <_ZN2os21current_stack_pointerEv+26>: mov -0x8(%rbp),%rax
0x000000010199d2ae <_ZN2os21current_stack_pointerEv+30>: pop %rbp
0x000000010199d2af <_ZN2os21current_stack_pointerEv+31>: retq
End of assembler dump.
Current language: auto; currently c++
(gdb) bt
#0 0x000000010199d2af in os::current_stack_pointer () at os_bsd_x86.cpp:284
(gdb) list
279 register void *esp;
280 __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp));
281 return (address) ((char*)esp + sizeof(long)*2);
282 #else
283 register void *esp __asm__ (SPELL_REG_SP);
284 return (address) esp;
285 #endif
286 }
287
288 char* os::non_memory_address_word() {
Mike.
More information about the mlvm-dev
mailing list