Hi all, im trying to compile the stack vm on unix with debug options because i'm getting an illegal instruction, see below Starting program: /home/vonbecmann/bin/stack-vm/latest/results/StackVM [Thread debugging using libthread_db enabled] Program received signal SIGILL, Illegal instruction. 0x08092ccb in ?? () (gdb) bt #0 0x08092ccb in ?? () #1 0x080930ee in ?? () #2 0x0809314d in ?? () #3 0x08095b77 in ?? () #4 0x00189ce7 in __libc_start_main () from /lib/libc.so.6 #5 0x0805cd91 in ?? () (gdb) x/i $pc => 0x8092ccb: movq %xmm7,0x8187ef8 (gdb) But i dont know what to do next. maybe im using the wrong libraries to compile it what should i do?? any ideas? Thanks in advance |
On 6 August 2011 06:32, Bernardo Ezequiel Contreras <[hidden email]> wrote: > > Hi all, > > im trying to compile the stack vm on unix with debug options because i'm getting an illegal instruction, see below > > Starting program: /home/vonbecmann/bin/stack-vm/latest/results/StackVM > [Thread debugging using libthread_db enabled] > > Program received signal SIGILL, Illegal instruction. > 0x08092ccb in ?? () > (gdb) bt > #0 0x08092ccb in ?? () > #1 0x080930ee in ?? () > #2 0x0809314d in ?? () > #3 0x08095b77 in ?? () > #4 0x00189ce7 in __libc_start_main () from /lib/libc.so.6 > #5 0x0805cd91 in ?? () > (gdb) x/i $pc > => 0x8092ccb: movq %xmm7,0x8187ef8 > (gdb) > > But i dont know what to do next. maybe im using the wrong libraries to compile it > > what should i do?? any ideas? it could be because of -msse2 compiler option go to #compilerFlagsDebug and remove it > > Thanks in advance > > > > > > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by vonbecmann
Bernardo, can you include the output from "info registers" when it crashes please?
On Fri, Aug 5, 2011 at 9:32 PM, Bernardo Ezequiel Contreras <[hidden email]> wrote:
-- best, Eliot |
Eliot, im adding the output. i hope this helps thanks (gdb) exec-file StackVM (gdb) run Starting program: /home/vonbecmann/bin/stack-vm/latest/results/StackVM [Thread debugging using libthread_db enabled] Program received signal SIGILL, Illegal instruction. 0x08092ccb in ?? () (gdb) info registers eax 0xe7a4d948 -408626872 ecx 0xe7a4d948 -408626872 edx 0xc663c 812604 ebx 0xc663c 812604 esp 0xbfffebd0 0xbfffebd0 ebp 0xbfffebe8 0xbfffebe8 esi 0x0 0 edi 0x0 0 eip 0x8092ccb 0x8092ccb eflags 0x10206 [ PF IF RF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 (gdb) On Sat, Aug 6, 2011 at 3:40 PM, Eliot Miranda <[hidden email]> wrote:
|
Hi Bernardo, what kind of processor do you have? Does it support sse2? (it needs to for Cog & Stack VMs). Is 0x8187ef8 a valid address (e.g. what's the output of x/10w 0x8187ef8)? why are you not getting symbols in your backtrace? Are you stripping the VM by any chance? If so, please don't. Having symbols would really help in debugging this; your stack trace has only the C library entrypoint symbol. The rest is raw addresses.
On Sat, Aug 6, 2011 at 12:28 PM, Bernardo Ezequiel Contreras <[hidden email]> wrote:
-- best, Eliot |
Eliot, i have an old computer (AMD-Athlon-XP-2004+) and it doesn't support sse2!! im sorry for bothering you thanks On Sat, Aug 6, 2011 at 4:55 PM, Eliot Miranda <[hidden email]> wrote:
|
On Sat, Aug 6, 2011 at 1:18 PM, Bernardo Ezequiel Contreras <[hidden email]> wrote:
No problem. If you recompile the VM without sse2 it should still work. If you look at platforms/Cross/vm/sqAtomicOps.h you'll see there are complex definitions of atomic 64-bit get64 and set64 in terms of lock cmpxchg8b. Make sure these are being used in place of the sse2 movq. Good luck!
-- best, Eliot |
Free forum by Nabble | Edit this page |