[LLVMbugs] [Bug 10743] New: JIT compiler crashes on bitcode from clang
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Aug 25 05:00:16 PDT 2011
http://llvm.org/bugs/show_bug.cgi?id=10743
Summary: JIT compiler crashes on bitcode from clang
Product: new-bugs
Version: trunk
Platform: PC
URL: http://pastebin.com/rLHpyprY
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: Lars.Rasmusson at sics.se
CC: llvmbugs at cs.uiuc.edu
I have discovered a case where the JIT compiler
(ExecutionEnginge::getPointerToFunction(Function*)) aborts with
program: /home/larsr/src/llvm/lib/ExecutionEngine/JIT/JIT.cpp:616: void
llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, const llvm::MutexGuard&):
Assertion `!isAlreadyCodeGenerating && "Error: Recursive compilation
detected!"' failed.
Here is example code that breaks the JIT when asking it to get the function
"makeit":
#include <iostream>
class C {
public:
C(void);
};
C::C(void) {
std::cout << "CCC\n";
}
extern "C" {
void makeit() { C(); }
}
It crashes when:
1) I have compiled a C++ class into bitcode with clang, and
2) the constructor is declared OUTSIDE the type definition, and
3) I compile WITHOUT optimization.
I have attached a script that compiles and runs the code and crashes when the
above criteria are met. (Look at it at pastebin http://pastebin.com/rLHpyprY )
I use
clang version 3.0 (http://llvm.org/git/clang.git
ec5bc81fd55bfcc26fc4bde6d5e33113d94c2209)
Target: i386-pc-linux-gnu
and
Low Level Virtual Machine (http://llvm.org/):
llvm version 3.0svn
commit 3c0e5dc40f48eaec7c02d30a1da96858f7f46bec
Date: Mon Aug 22 10:32:09 2011 +0000
--
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