[LLVMbugs] [Bug 4845] New: crashing inside JITed code when running on x86_64

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Aug 31 20:03:43 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=4845

           Summary: crashing inside JITed code when running on x86_64
           Product: libraries
           Version: 2.6
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: major
          Priority: P2
         Component: Target-Independent JIT
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: lsansonetti at apple.com
                CC: llvmbugs at cs.uiuc.edu


It looks like the JIT is generating strange code when ran in x86_64 mode. My
project (MacRuby) gets a lot of crashes at runtime. This was working before
with an older revision of trunk.

To investigate, I did a simple 64-bit build of LLVM.

$ make EXTRA_OPTIONS="-m64"

Then, I ran the HowToUseJIT example and it crashed. gdb says the crash occurred
inside the JIT'ed code.

(gdb) r
Starting program: /Users/lrz/src/llvm-26-fresh/Release/examples/HowToUseJIT 
Reading symbols for shared libraries +++. done
We just constructed this LLVM module:

; ModuleID = 'test'

define i32 @add1(i32 %AnArg) {
EntryBlock:
  %addresult = add i32 1, %AnArg                  ; <i32> [#uses=1]
  ret i32 %addresult
}

define i32 @foo() {
EntryBlock:
  %add1 = tail call i32 @add1(i32 10)             ; <i32> [#uses=1]
  ret i32 %add1
}


Running foo: 
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x000000005fbff49c
0x0000000100c00013 in ?? ()
(gdb) bt
#0  0x0000000100c00013 in ?? ()
#1  0x000000010000dbb5 in main ()

The same problem appears with Debug and Release builds.

Reproduced on: 2.6 branch, trunk.
Environment: Core 2 Duo, Mac OS 10.6.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list