Segmentation fault building druntime head on OS X
John Colvin via Digitalmars-d
digitalmars-d at puremagic.com
Mon Dec 1 02:03:54 PST 2014
On Monday, 1 December 2014 at 09:48:20 UTC, Paolo Invernizzi
wrote:
> Hi,
>
> Just to know if someone else has the same issue:
>
> OS X 10.10.1 Xcode 6.1 (6a1052d)
> cc --version Apple LLVM version 6.0 (clang-600.0.54) (based
> on LLVM 3.5svn)
>
> DMD is builded just fine:
>
> DMD64 D Compiler v2.067-devel-e17631e
>
> But the dmd crash on building druntime:
>
> semantic3 treap
> semantic3 ti_AC
> semantic3 ti_Acdouble
> semantic3 ti_Acfloat
> Process 5286 stopped
> * thread #1: tid = 0x5277, 0x000000010002df7d
> dmd`ComplexExp::ComplexExp(Loc, complex_t, Type*) + 45, queue =
> 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
> (code=EXC_I386_GPFLT)
> frame #0: 0x000000010002df7d
> dmd`ComplexExp::ComplexExp(Loc, complex_t, Type*) + 45
> dmd`ComplexExp::ComplexExp(Loc, complex_t, Type*) + 45:
> -> 0x10002df7d: movaps %xmm1, 0x40(%rdi)
> 0x10002df81: movaps %xmm0, 0x30(%rdi)
> 0x10002df85: movq %rcx, 0x20(%rdi)
> 0x10002df89: popq %rbp
> (lldb) bt
> * thread #1: tid = 0x5277, 0x000000010002df7d
> dmd`ComplexExp::ComplexExp(Loc, complex_t, Type*) + 45, queue =
> 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
> (code=EXC_I386_GPFLT)
> * frame #0: 0x000000010002df7d
> dmd`ComplexExp::ComplexExp(Loc, complex_t, Type*) + 45
> frame #1: 0x000000010001597f dmd`Cast(Type*, Type*,
> Expression*) + 879
> frame #2: 0x00000001000a0074
> dmd`Expression_optimize(Expression*, int,
> bool)::OptimizeVisitor::visit(CastExp*) + 964
> frame #3: 0x000000010009f265
> dmd`Expression_optimize(Expression*, int,
> bool)::OptimizeVisitor::visit(BinExp*) + 133
> frame #4: 0x000000010009ebfa
> dmd`Expression_optimize(Expression*, int, bool) + 42
> frame #5: 0x00000001000b822e
> dmd`ExpStatement::semantic(Scope*) + 94
> frame #6: 0x00000001000b8ccc
> dmd`CompoundStatement::semantic(Scope*) + 284
> frame #7: 0x00000001000c02df
> dmd`IfStatement::semantic(Scope*) + 783
> frame #8: 0x00000001000b8ccc
> dmd`CompoundStatement::semantic(Scope*) + 284
> frame #9: 0x00000001000543b1
> dmd`FuncDeclaration::semantic3(Scope*) + 3425
> frame #10: 0x0000000100057c46
> dmd`FuncDeclaration::functionSemantic3() + 102
> frame #11: 0x000000010002a825
> dmd`functionParameters(Loc, Scope*, TypeFunction*, Type*,
> Array<Expression*>*, FuncDeclaration*, Type**, Expression**) +
> 277
> frame #12: 0x000000010003f03e
> dmd`CallExp::semantic(Scope*) + 11822
> frame #13: 0x000000010003835a
> dmd`BinExp::binSemanticProp(Scope*) + 42
> frame #14: 0x000000010009cd6d
> dmd`op_overload(Expression*,
> Scope*)::OpOverload::visit(BinAssignExp*) + 1645
> frame #15: 0x000000010009965c
> dmd`op_overload(Expression*, Scope*) + 44
> frame #16: 0x0000000100038bdd
> dmd`BinAssignExp::semantic(Scope*) + 45
> frame #17: 0x00000001000b81f3
> dmd`ExpStatement::semantic(Scope*) + 35
> frame #18: 0x00000001000b8ccc
> dmd`CompoundStatement::semantic(Scope*) + 284
> frame #19: 0x00000001000ba2d1
> dmd`ForStatement::semantic(Scope*) + 657
> frame #20: 0x00000001000b8ccc
> dmd`CompoundStatement::semantic(Scope*) + 284
> frame #21: 0x00000001000b9a8e
> dmd`ScopeStatement::semantic(Scope*) + 158
> frame #22: 0x00000001000ba130
> dmd`ForStatement::semantic(Scope*) + 240
> frame #23: 0x00000001000bdf05
> dmd`ForeachStatement::semantic(Scope*) + 14741
> frame #24: 0x00000001000b8ccc
> dmd`CompoundStatement::semantic(Scope*) + 284
> frame #25: 0x00000001000543b1
> dmd`FuncDeclaration::semantic3(Scope*) + 3425
> frame #26: 0x00000001000018b5
> dmd`AttribDeclaration::semantic3(Scope*) + 85
> frame #27: 0x00000001000d7d54
> dmd`TemplateInstance::semantic3(Scope*) + 276
> frame #28: 0x00000001000d2709
> dmd`TemplateInstance::semantic(Scope*, Array<Expression*>*) +
> 2425
> frame #29: 0x000000010003250a
> dmd`ScopeExp::semantic(Scope*) + 154
> frame #30: 0x000000010002713e
> dmd`DotIdExp::semanticX(Scope*) + 30
> frame #31: 0x0000000100026da1 dmd`resolveUFCS(Scope*,
> CallExp*) + 129
> frame #32: 0x000000010003c3d7
> dmd`CallExp::semantic(Scope*) + 455
> frame #33: 0x00000001000c26f5
> dmd`ReturnStatement::semantic(Scope*) + 677
> frame #34: 0x00000001000b8ccc
> dmd`CompoundStatement::semantic(Scope*) + 284
> frame #35: 0x00000001000543b1
> dmd`FuncDeclaration::semantic3(Scope*) + 3425
> frame #36: 0x00000001000c94b4
> dmd`AggregateDeclaration::semantic3(Scope*) + 228
> frame #37: 0x000000010007c754 dmd`Module::semantic3() +
> 84
> frame #38: 0x0000000100079d30 dmd`tryMain(unsigned
> long, char const**) + 10560
> frame #39: 0x0000000100000a28 dmd`_start + 230
> frame #40: 0x0000000100000941 dmd`start + 33
> (lldb)
>
> That's a clean build from Digger...
> Thanks in advance.
>
> ---
> Paolo
I get the same. Two separate dustmite reductions got me
https://issues.dlang.org/show_bug.cgi?id=13795 and
https://issues.dlang.org/show_bug.cgi?id=13788
I suspect it's showing up because of building with clang. IIRC it
only happens if you build a release version of the compiler.
More information about the Digitalmars-d
mailing list