<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - test causes assertion failure on FreeBSD in CGRecordLayoutBuilder::AppendTailPadding"
href="http://llvm.org/bugs/show_bug.cgi?id=17225">17225</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>test causes assertion failure on FreeBSD in CGRecordLayoutBuilder::AppendTailPadding
</td>
</tr>
<tr>
<th>Product</th>
<td>lldb
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>FreeBSD
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>All Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>lldb-dev@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Reporter</th>
<td>emaste@freebsd.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>TestDynamicValue.py DynamicValueTestCase.test_get_dynamic_vals_with_dwarf
Reproducing manually,
(lldb) run
Process 15902 launched:
'/tank/emaste/src/llvm/tools/lldb/test/lang/cpp/dynamic-value/a.out' (x86_64)
Process 15902 stopped
* thread #1: tid = 15902, 0x0000000000400a91 a.out`main(argc=1,
argv=0x00007fffffffd4f8) + 353 at pass-to-base.cpp:63, stop reason = breakpoint
1.1
frame #0: 0x0000000000400a91 a.out`main(argc=1, argv=0x00007fffffffd4f8) +
353 at pass-to-base.cpp:63
60 B *second_fake_A_ptr = new B (150, 250);
61 B otherB (300, 400, second_fake_A_ptr);
62
-> 63 myB.doSomething(otherB); // Break here and get real addresses of myB
and otherB.
64
65 A reallyA (500);
66 myB.doSomething (reallyA); // Break here and get real address of
reallyA.
(lldb) p myB
Assertion failed: (NextFieldOffset <= RecordSize && "Size mismatch!"), function
AppendTailPadding, file ../tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp,
line 823.
zsh: abort (core dumped) ../../build-nodebug/bin/lldb
test/lang/cpp/dynamic-value/a.out
assertion backtrace:
(lldb) bt
* thread #1: tid = 0, 0x0000000806501cac libc.so.7`_thr_kill + 12 at
thr_kill.S:3, name = 'main-thread', stop reason = signal SIGABRT
frame #0: 0x0000000806501cac libc.so.7`_thr_kill + 12 at thr_kill.S:3
frame #1: 0x00000008065a239c libc.so.7`abort + 76 at abort.c:65
frame #2: 0x0000000806585991 libc.so.7`__assert(func=<unavailable>,
file=<unavailable>, line=<unavailable>, failedexpr=<unavailable>) + 81 at
assert.c:54
frame #3: 0x0000000801de70cf
liblldb.so.3.4`_GLOBAL__N_1::CGRecordLayoutBuilder::AppendTailPadding(clang::CharUnits)
+ 127
frame #4: 0x0000000801de5808
liblldb.so.3.4`_GLOBAL__N_1::CGRecordLayoutBuilder::LayoutFields(clang::RecordDecl
const*) + 1048
frame #5: 0x0000000801de4585
liblldb.so.3.4`_GLOBAL__N_1::CGRecordLayoutBuilder::Layout(clang::RecordDecl
const*) + 309
frame #6: 0x0000000801de3bdb
liblldb.so.3.4`clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl
const*, llvm::StructType*) + 75
frame #7: 0x0000000801e85d60
liblldb.so.3.4`clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl
const*) + 640
frame #8: 0x0000000801e845ff
liblldb.so.3.4`clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) + 143
frame #9: 0x0000000801e84507
liblldb.so.3.4`clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType)
+ 55
frame #10: 0x0000000801e84a4e
liblldb.so.3.4`clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) +
1246
frame #11: 0x0000000801e84507
liblldb.so.3.4`clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType)
+ 55
frame #12: 0x0000000801efff2f
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::CreateStaticVarDecl(clang::VarDecl
const&, char const*, llvm::GlobalValue::LinkageTypes) + 511
frame #13: 0x0000000801effa55
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitStaticVarDecl(clang::VarDecl
const&, llvm::GlobalValue::LinkageTypes) + 213
frame #14: 0x0000000801eff8c5
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitVarDecl(clang::VarDecl
const&) + 101
frame #15: 0x0000000801eff70e
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitDecl(clang::Decl const&) +
382
frame #16: 0x0000000801df8ae5
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitDeclStmt(clang::DeclStmt
const&) + 117
frame #17: 0x0000000801defed5
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt
const*) + 325
frame #18: 0x0000000801def7a7
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) +
87
frame #19: 0x0000000801df93bb
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt
const&, bool, clang::CodeGen::AggValueSlot) + 139
frame #20: 0x0000000801e173fb
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::CodeGen::FunctionArgList&)
+ 203
frame #21: 0x0000000801e17951
liblldb.so.3.4`clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl,
llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 1313
frame #22: 0x0000000801e2cb52
liblldb.so.3.4`clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl)
+ 802
frame #23: 0x0000000801e28eaf
liblldb.so.3.4`clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl)
+ 511
frame #24: 0x0000000801e2bc7c
liblldb.so.3.4`clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) +
908
frame #25: 0x0000000801e2e226
liblldb.so.3.4`clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) +
278
frame #26: 0x0000000801d9fb70
liblldb.so.3.4`_GLOBAL__N_1::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef)
+ 128
frame #27: 0x00000008013fe093
liblldb.so.3.4`lldb_private::ASTResultSynthesizer::HandleTopLevelDecl(clang::DeclGroupRef)
+ 163
frame #28: 0x00000008021cdcb8 liblldb.so.3.4`clang::ParseAST(clang::Sema&,
bool, bool) + 648
frame #29: 0x00000008021cda0a
liblldb.so.3.4`clang::ParseAST(clang::Preprocessor&, clang::ASTConsumer*,
clang::ASTContext&, bool, clang::TranslationUnitKind,
clang::CodeCompleteConsumer*, bool) + 170
frame #30: 0x00000008014172d4
liblldb.so.3.4`lldb_private::ClangExpressionParser::Parse(lldb_private::Stream&)
+ 884
frame #31: 0x00000008013b9fbb
liblldb.so.3.4`lldb_private::ClangUserExpression::Parse(lldb_private::Stream&,
lldb_private::ExecutionContext&, lldb_private::ExecutionPolicy, bool) + 3163
frame #32: 0x00000008013bc856
liblldb.so.3.4`lldb_private::ClangUserExpression::EvaluateWithError(lldb_private::ExecutionContext&,
lldb_private::ExecutionPolicy, lldb::LanguageType,
lldb_private::ClangExpression::ResultType, bool, bool, char const*, char
const*, lldb_private::SharingPtr<lldb_private::ValueObject>&,
lldb_private::Error&, bool, unsigned int) + 582
frame #33: 0x00000008013bc5d2
liblldb.so.3.4`lldb_private::ClangUserExpression::Evaluate(lldb_private::ExecutionContext&,
lldb_private::ExecutionPolicy, lldb::LanguageType,
lldb_private::ClangExpression::ResultType, bool, bool, char const*, char
const*, lldb_private::SharingPtr<lldb_private::ValueObject>&, bool, unsigned
int) + 242
frame #34: 0x000000080168d7b9
liblldb.so.3.4`lldb_private::Target::EvaluateExpression(char const*,
lldb_private::StackFrame*,
lldb_private::SharingPtr<lldb_private::ValueObject>&,
lldb_private::EvaluateExpressionOptions const&) + 1353
frame #35: 0x000000080190752f
liblldb.so.3.4`lldb_private::CommandObjectExpression::EvaluateExpression(char
const*, lldb_private::Stream*, lldb_private::Stream,
lldb_private::CommandReturnObject*) + 463
frame #36: 0x0000000801907faa
liblldb.so.3.4`lldb_private::CommandObjectExpression::DoExecute(char const*,
lldb_private::CommandReturnObject&) + 1738
frame #37: 0x00000008014c9245
liblldb.so.3.4`lldb_private::CommandObjectRaw::Execute(char const*,
lldb_private::CommandReturnObject&) + 805
frame #38: 0x00000008014ab8ea
liblldb.so.3.4`lldb_private::CommandInterpreter::HandleCommand(char const*,
lldb_private::LazyBool, lldb_private::CommandReturnObject&,
lldb_private::ExecutionContext*, bool, bool) + 21546
frame #39: 0x0000000801159684
liblldb.so.3.4`lldb::SBCommandInterpreter::HandleCommand(char const*,
lldb::SBCommandReturnObject&, bool) + 292
frame #40: 0x000000000040d3d0 lldb`Driver::HandleIOEvent(lldb::SBEvent
const&) + 160
frame #41: 0x00000000004101d9 lldb`Driver::MainLoop(void) + 9961
frame #42: 0x0000000000410abb lldb`main + 411
frame #43: 0x00000000004077c1 lldb`_start(ap=<unavailable>,
cleanup=<unavailable>) + 145 at crt1.c:97</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>