[LLVMbugs] [Bug 4971] New: Emitting LLVM assembler code segfaults.
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Sun Sep 13 14:48:12 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=4971
Summary: Emitting LLVM assembler code segfaults.
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Common Code Generator Code
AssignedTo: unassignedbugs at nondot.org
ReportedBy: ofv at wanadoo.es
CC: llvmbugs at cs.uiuc.edu
While dumping a LLVM module as LLVM assembler a segfault occurs:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f28cb72a700 (LWP 31697)]
0x00007f28ca02da76 in llvm::PATypeHandle::operator llvm::Type* (
this=0x737365726464)
at /home/oscar/dev/llvm/head/include/llvm/AbstractTypeUser.h:106
106 inline operator Type *() const { return const_cast<Type*>(Ty); }
This is the code that dumps the module M:
llvm::raw_fd_ostream f("code.llvm", errorInfo);
f << *M;
Backtrace:
#0 0x00007f28ca02da76 in llvm::PATypeHandle::operator llvm::Type* (
this=0x737365726464)
at /home/oscar/dev/llvm/head/include/llvm/AbstractTypeUser.h:106
No locals.
#1 0x00007f28ca8eacc4 in IncorporateType (this=0x7fffd3754af0, Ty=0x33955b0)
at /home/oscar/dev/llvm/head/lib/VMCore/AsmWriter.cpp:372
I = (llvm::PATypeHandle *) 0x737365726464
E = (llvm::PATypeHandle *) 0x737958a98ab4
#2 0x00007f28ca8eacd0 in IncorporateType (this=0x7fffd3754af0, Ty=0x3395380)
at /home/oscar/dev/llvm/head/lib/VMCore/AsmWriter.cpp:372
I = (llvm::PATypeHandle *) 0x33953c8
E = (llvm::PATypeHandle *) 0x33953d8
#3 0x00007f28ca8eaffa in Run (this=0x7fffd3754af0, M=@0x2761030)
at /home/oscar/dev/llvm/head/lib/VMCore/AsmWriter.cpp:348
I = (const class llvm::Instruction
&) @0x3395578: {<llvm::User> = {<llvm::Value> = {
_vptr.Value = 0x7f28cb0cf350, SubclassID = 61 '=', HasValueHandle = 0
'\0',
SubclassOptionalData = 0 '\0', SubclassData = 0, VTy = {Ty = 0x3395380},
UseList = 0x3395630, Name = 0x33952a0}, OperandList = 0x3395560,
NumOperands = 1}, <llvm::ilist_node<llvm::Instruction>> =
{<llvm::ilist_half_node<llvm::Instruction>> = {Prev = 0x3395488}, Next =
0x3395648}, Parent = 0x3574590}
II = {<std::iterator<std::bidirectional_iterator_tag, const
llvm::Instruction, long int, const llvm::Instruction*, const
llvm::Instruction&>> = {<No data fields>}, NodePtr = 0x3395578}
E = {<std::iterator<std::bidirectional_iterator_tag, const
llvm::Instruction, long int, const llvm::Instruction*, const
llvm::Instruction&>> = {<No data fields>}, NodePtr = 0x3574590}
BB = {<std::iterator<std::bidirectional_iterator_tag, const
llvm::BasicBlock, long int, const llvm::BasicBlock*, const llvm::BasicBlock&>>
= {<No data fields>}, NodePtr = 0x3574590}
E = {<std::iterator<std::bidirectional_iterator_tag, const
llvm::BasicBlock, long int, const llvm::BasicBlock*, const llvm::BasicBlock&>>
= {<No data fields>}, NodePtr = 0x35cab28}
FI = {<std::iterator<std::bidirectional_iterator_tag, const
llvm::Function, long int, const llvm::Function*, const llvm::Function&>> = {<No
data fields>},
NodePtr = 0x35caaf0}
E = {<std::iterator<std::bidirectional_iterator_tag, const
llvm::Function, long int, const llvm::Function*, const llvm::Function&>> = {<No
data fields>},
NodePtr = 0x2760ff0}
ST = (const class llvm::TypeSymbolTable
&) @0x37f87c0: {<llvm::AbstractTypeUser> = {
_vptr.AbstractTypeUser = 0x7f28cb0d1a70}, tmap = {_M_t = {
_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const
llvm::Type*> > >> =
{<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const
llvm::Type*> > >> = {<No data fields>}, <No data fields>},
_M_key_compare = {<std::binary_function<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>},
<No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0,
_M_left = 0x37f87d0,
_M_right = 0x37f87d0}, _M_node_count = 0}}}, LastUnique = 0}
#4 0x00007f28ca8eb6db in AddModuleTypesToPrinter (TP=@0x7fffd3754d48,
NumberedTypes=@0x7fffd3754d58, M=0x2761030)
at /home/oscar/dev/llvm/head/lib/VMCore/AsmWriter.cpp:440
ST = (const class llvm::TypeSymbolTable
&) @0x37f87c0: {<llvm::AbstractTypeUser> = {
_vptr.AbstractTypeUser = 0x7f28cb0d1a70}, tmap = {_M_t = {
_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const
llvm::Type*> > >> =
{<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const
llvm::Type*> > >> = {<No data fields>}, <No data fields>},
_M_key_compare = {<std::binary_function<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>},
<No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0,
_M_left = 0x37f87d0,
_M_right = 0x37f87d0}, _M_node_count = 0}}}, LastUnique = 0}
#5 0x00007f28ca8eb7cd in AssemblyWriter (this=0x7fffd3754d30,
o=@0x7fffd3754db0,
Mac=@0x7fffd3754ca0, M=0x2761030, AAW=0x0)
at /home/oscar/dev/llvm/head/lib/VMCore/AsmWriter.cpp:1263
No locals.
#6 0x00007f28ca8f1551 in llvm::Module::print (this=0x2761030,
ROS=@0x7fffd3754ff0, AAW=0x0)
at /home/oscar/dev/llvm/head/lib/VMCore/AsmWriter.cpp:1993
SlotTable = {TheModule = 0x2761030, TheFunction = 0x0,
FunctionProcessed = false, TheMDNode = 0x0, TheNamedMDNode = 0x0, mMap = {
NumBuckets = 64, Buckets = 0xd767e40, NumEntries = 0, NumTombstones = 0},
mNext = 0, fMap = {NumBuckets = 64, Buckets = 0xd774900, NumEntries = 0,
NumTombstones = 0}, fNext = 0, mdnMap = {NumBuckets = 64, Buckets =
0xd729e30,
NumEntries = 0, NumTombstones = 0}, mdnNext = 0}
OS = {<llvm::raw_ostream> = {_vptr.raw_ostream = 0x7f28cb0d2bf0,
OutBufStart = 0xd421390 "��=\r", OutBufEnd = 0xd422390 "\020\020",
OutBufCur = 0xd421390 "��=\r", BufferMode =
llvm::raw_ostream::InternalBuffer,
Error = false}, static DELETE_STREAM = <optimized out>,
static PRESERVE_STREAM = <optimized out>, TheStream = 0x7fffd3754ff0,
DeleteStream = false, ColumnScanned = 0, Scanned = 0x0}
TheModule = 0x2761030, TypePrinter = {TypeNames = 0x9353270},
AnnotationWriter = 0x0,
NumberedTypes = {<std::_Vector_base<const llvm::Type*, std::allocator<const
llvm::Type*> >> = {
_M_impl = {<std::allocator<const llvm::Type*>> =
{<__gnu_cxx::new_allocator<const llvm::Type*>> = {<No data fields>}, <No data
fields>}, _M_start = 0xd59c360,
_M_finish = 0xd59c3b0, _M_end_of_storage = 0xd59c3e0}}, <No data
fields>},
MDNodes = {_M_t = {
_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const
llvm::MDNode* const, unsigned int> > >> =
{<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const llvm::MDNode*
const, unsigned int> > >> = {<No data fields>}, <No data fields>},
_M_key_compare = {<std::binary_function<const llvm::MDNode*, const
llvm::MDNode*, bool>> = {<No data fields>}, <No data fields>}, _M_header =
{_M_color = std::_S_red,
_M_parent = 0x0, _M_left = 0x7fffd3754d78, _M_right =
0x7fffd3754d78},
_M_node_count = 0}}}, MetadataIDNo = 0}
#7 0x00007f28ca03ba37 in llvm::operator<< (O=@0x7fffd3754ff0, M=@0x2761030)
at /home/oscar/dev/llvm/head/include/llvm/Module.h:486
No locals.
--
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