www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Weird LDC error on mac

reply Bogdan <contact szabobogdan.com> writes:
Hey everyone!

After a long time, I wanted to build my Vibe project on Mac using 
LDC, and I got weird compiling errors that made no sense and 
didn't know how to debug or fix. Does anyone have any tips on how 
I should make it work?

```
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
DtoOverloadedIntrinsicName
* template instance: llvm_bswap!uint
* template declaration: llvm_bswap(T)(T val) if 
(__traits(isIntegral, T) && (T.sizeof >= 2))

* final intrinsic name: llvm.bswap.i32
DtoOverloadedIntrinsicName
* template instance: llvm_bswap!ulong
* template declaration: llvm_bswap(T)(T val) if 
(__traits(isIntegral, T) && (T.sizeof >= 2))

* final intrinsic name: llvm.bswap.i64
import    vibe.core.channel     
(submodules/vibe-core/source/vibe/core/channel.d)
import    std.zlib      
(/opt/homebrew/Cellar/ldc/1.40.0/include/dlang/ldc/std/zlib.d)
import    diet.html     
(../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/html.d)
import    diet.defs     
(../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/defs.d)
import    diet.internal.html    
(../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/internal/html.d)
import    diet.input    
(../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/input.d)
import    diet.parser   
(../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/parser.d)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)
lowered   this._data.refCountedPayload()._payload[] = value =>
           
_d_arraysetassign(this._data.refCountedPayload()._payload[], 
value)
lowered   slice[i..j] = value =>
           _d_arraysetassign(slice[i..j], value)
lowered   this._outer_[] = data =>
           _d_arraysetctor(this._outer_[], data)

llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(/opt/homebrew/Cellar/llvm/19.1.7_1/lib/libLLVM.dylib+0x4a12610)

(/opt/homebrew/Cellar/llvm/19.1.7_1/lib/libLLVM.dylib+0x4a129d0)

(/usr/lib/system/libsystem_platform.dylib+0x180482de4)

DsymbolSemanticVisitor::visit(UserAttributeDeclaration*) 
(/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x100008b64)

_D2rt6dmain212_d_run_main2UAAamPUQgZiZ6runAllMFZv 
(/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x1004c8f1c)

(/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x1004c8b4c)

(/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x10037a610)

Error ldc2 failed with exit code -5.
```

```
ldc2 --version                                                    
                                                       127 ✘
LDC - the LLVM D compiler (1.40.0):
   based on DMD v2.110.0 and LLVM 19.1.6
   built with LDC - the LLVM D compiler (1.40.0)
   Default target: arm64-apple-darwin24.3.0
   Host CPU: apple-m2
   http://dlang.org - http://wiki.dlang.org/LDC


   Registered Targets:
     aarch64     - AArch64 (little endian)
     aarch64_32  - AArch64 (little endian ILP32)
     aarch64_be  - AArch64 (big endian)
     amdgcn      - AMD GCN GPUs
     arm         - ARM
     arm64       - ARM64 (little endian)
     arm64_32    - ARM64 (little endian ILP32)
     armeb       - ARM (big endian)
     avr         - Atmel AVR Microcontroller
     bpf         - BPF (host endian)
     bpfeb       - BPF (big endian)
     bpfel       - BPF (little endian)
     hexagon     - Hexagon
     lanai       - Lanai
     loongarch32 - 32-bit LoongArch
     loongarch64 - 64-bit LoongArch
     mips        - MIPS (32-bit big endian)
     mips64      - MIPS (64-bit big endian)
     mips64el    - MIPS (64-bit little endian)
     mipsel      - MIPS (32-bit little endian)
     msp430      - MSP430 [experimental]
     nvptx       - NVIDIA PTX 32-bit
     nvptx64     - NVIDIA PTX 64-bit
     ppc32       - PowerPC 32
     ppc32le     - PowerPC 32 LE
     ppc64       - PowerPC 64
     ppc64le     - PowerPC 64 LE
     r600        - AMD GPUs HD2XXX-HD6XXX
     riscv32     - 32-bit RISC-V
     riscv64     - 64-bit RISC-V
     sparc       - Sparc
     sparcel     - Sparc LE
     sparcv9     - Sparc V9
     systemz     - SystemZ
     thumb       - Thumb
     thumbeb     - Thumb (big endian)
     ve          - VE
     wasm32      - WebAssembly 32-bit
     wasm64      - WebAssembly 64-bit
     x86         - 32-bit X86: Pentium-Pro and above
     x86-64      - 64-bit X86: EM64T and AMD64
     xcore       - XCore
```
Mar 03
parent reply Bogdan <contact szabobogdan.com> writes:
I managed to get a stack trace from my error:


```
core.exception.AssertError /Users/gedaiu/workspace/ldc/dmd/par
etimevisitor.d(20): Assertion failure
----------------
/tmp/ldc-20241231-7715-mkgqdh/ldc-1.40.0-src/runtime/druntime/src/
ore/exception.d:569 onAssertError [0x10083ccf3]
/tmp/ldc-20241231-7715-mkgqdh/ldc-1.40.0-src/runtime/druntime/src/
ore/exception.d:808 _d_assert [0x100899bf7]
/Users/gedaiu/workspace/ldc/dmd/parsetimevisitor.d:20 
ParseTimeVisitor<ASTCodegen>::visit(Parameter*) [0x10001397f]
/Users/gedaiu/workspace/ldc/dmd/mtype.d:4354 
Parameter::accept(Visitor*) [0x10003fd7f]
/Users/gedaiu/workspace/ldc/dmd/expressionsem.d:14145 
dmd.expression.Expression 
dmd.expressionsem.expressionSemantic(dmd.expression.Expression, 
dmd.dscope.Scope*) [0x10003c5ff]
/Users/gedaiu/workspace/ldc/dmd/expressionsem.d:758 bool 
dmd.expressionsem.arrayExpressionSemantic(dmd.expression.Expression[],
dmd.dscope.Scope*, bool) [0x1001e512b]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1938 
DsymbolSemanticVisitor::visit(UserAttributeDeclaration*) 
[0x100009a1b]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:138 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(UserAt
ributeDeclaration*) [0x10000997b]
/Users/gedaiu/workspace/ldc/dmd/attrib.d:1151 
UserAttributeDeclaration::accept(Visitor*) [0x100324c17]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:3612 void 
dmd.dsymbolsem.DsymbolSemanticVisitor.visit(dmd.dclass.ClassDeclaration).__lambda_L3612_C39!(dmd.dsymbol.Dsymbol).__lambda_L3612_C39(
md.dsymbol.Dsymbol) [0x1002722b3]
/Users/gedaiu/workspace/ldc/dmd/dsymbol.d:111 void 
dmd.dsymbol.foreachDsymbol(dmd.root.array.Array!(dmd.dsymbol.Dsymbol).Array*,
void delegate(dmd.dsymbol.Dsymbol)) [0x100065773]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:3612 
DsymbolSemanticVisitor::visit(ClassDeclaration*) [0x10001123b]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:192 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(ClassDeclaration*)
[0x10000edff]
/Users/gedaiu/workspace/ldc/dmd/dclass.d:958 
ClassDeclaration::accept(Visitor*) [0x100042c47]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1987 void 
dmd.dsymbolsem.DsymbolSemanticVisitor.visit(dmd.dmodule.Module).__lambda_L1984_C35!(dmd.dsymbol.Dsymbol).__lambda_L1984_C35(
md.dsymbol.Dsymbol) [0x10026bdfb]
/Users/gedaiu/workspace/ldc/dmd/dsymbol.d:111 void 
dmd.dsymbol.foreachDsymbol(dmd.root.array.Array!(dmd.dsymbol.Dsymbol).Array*,
void delegate(dmd.dsymbol.Dsymbol)) [0x100065773]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1984 
DsymbolSemanticVisitor::visit(Module*) [0x10000a013]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:154 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Module*) 
[0x100009e03]
/Users/gedaiu/workspace/ldc/dmd/dmodule.d:1245 
Module::accept(Visitor*) [0x100199d1b]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1625 
DsymbolSemanticVisitor::visit(Import*) [0x1000084f3]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:115 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Import*) 
[0x100007cf3]
/Users/gedaiu/workspace/ldc/dmd/dimport.d:181 
Import::accept(Visitor*) [0x1002d16bf]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1987 void 
dmd.dsymbolsem.DsymbolSemanticVisitor.visit(dmd.dmodule.Module).__lambda_L1984_C35!(dmd.dsymbol.Dsymbol).__lambda_L1984_C35(
md.dsymbol.Dsymbol) [0x10026bdfb]
/Users/gedaiu/workspace/ldc/dmd/dsymbol.d:111 void 
dmd.dsymbol.foreachDsymbol(dmd.root.array.Array!(dmd.dsymbol.Dsymbol).Array*,
void delegate(dmd.dsymbol.Dsymbol)) [0x100065773]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1984 
DsymbolSemanticVisitor::visit(Module*) [0x10000a013]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:154 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Module*) 
[0x100009e03]
/Users/gedaiu/workspace/ldc/dmd/dmodule.d:1245 
Module::accept(Visitor*) [0x100199d1b]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1625 
DsymbolSemanticVisitor::visit(Import*) [0x1000084f3]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:115 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Import*) 
[0x100007cf3]
/Users/gedaiu/workspace/ldc/dmd/dimport.d:181 
Import::accept(Visitor*) [0x1002d16bf]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1987 void 
dmd.dsymbolsem.DsymbolSemanticVisitor.visit(dmd.dmodule.Module).__lambda_L1984_C35!(dmd.dsymbol.Dsymbol).__lambda_L1984_C35(
md.dsymbol.Dsymbol) [0x10026bdfb]
/Users/gedaiu/workspace/ldc/dmd/dsymbol.d:111 void 
dmd.dsymbol.foreachDsymbol(dmd.root.array.Array!(dmd.dsymbol.Dsymbol).Array*,
void delegate(dmd.dsymbol.Dsymbol)) [0x100065773]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1984 
DsymbolSemanticVisitor::visit(Module*) [0x10000a013]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:154 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Module*) 
[0x100009e03]
/Users/gedaiu/workspace/ldc/dmd/dmodule.d:1245 
Module::accept(Visitor*) [0x100199d1b]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1625 
DsymbolSemanticVisitor::visit(Import*) [0x1000084f3]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:115 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Import*) 
[0x100007cf3]
/Users/gedaiu/workspace/ldc/dmd/dimport.d:181 
Import::accept(Visitor*) [0x1002d16bf]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1987 void 
dmd.dsymbolsem.DsymbolSemanticVisitor.visit(dmd.dmodule.Module).__lambda_L1984_C35!(dmd.dsymbol.Dsymbol).__lambda_L1984_C35(
md.dsymbol.Dsymbol) [0x10026bdfb]
/Users/gedaiu/workspace/ldc/dmd/dsymbol.d:111 void 
dmd.dsymbol.foreachDsymbol(dmd.root.array.Array!(dmd.dsymbol.Dsymbol).Array*,
void delegate(dmd.dsymbol.Dsymbol)) [0x100065773]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1984 
DsymbolSemanticVisitor::visit(Module*) [0x10000a013]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:154 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Module*) 
[0x100009e03]
/Users/gedaiu/workspace/ldc/dmd/dmodule.d:1245 
Module::accept(Visitor*) [0x100199d1b]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1625 
DsymbolSemanticVisitor::visit(Import*) [0x1000084f3]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:115 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Import*) 
[0x100007cf3]
/Users/gedaiu/workspace/ldc/dmd/dimport.d:181 
Import::accept(Visitor*) [0x1002d16bf]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1987 void 
dmd.dsymbolsem.DsymbolSemanticVisitor.visit(dmd.dmodule.Module).__lambda_L1984_C35!(dmd.dsymbol.Dsymbol).__lambda_L1984_C35(
md.dsymbol.Dsymbol) [0x10026bdfb]
/Users/gedaiu/workspace/ldc/dmd/dsymbol.d:111 void 
dmd.dsymbol.foreachDsymbol(dmd.root.array.Array!(dmd.dsymbol.Dsymbol).Array*,
void delegate(dmd.dsymbol.Dsymbol)) [0x100065773]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:1984 
DsymbolSemanticVisitor::visit(Module*) [0x10000a013]
/Users/gedaiu/workspace/ldc/driver/timetrace_sema.d:154 
SemanticTimeTraceVisitor<DsymbolSemanticVisitor*>::visit(Module*) 
[0x100009e03]
/Users/gedaiu/workspace/ldc/dmd/dmodule.d:1245 
Module::accept(Visitor*) [0x100199d1b]
/Users/gedaiu/workspace/ldc/dmd/dsymbolsem.d:96 void 
dmd.dsymbolsem.dsymbolSemantic(dmd.dsymbol.Dsymbol, 
dmd.dscope.Scope*) [0x10004bae7]
/Users/gedaiu/workspace/ldc/dmd/main.d:643 mars_tryMain(Param&, 
Array<char const*>&) [0x1001800e3]
/Users/gedaiu/workspace/ldc/driver/main.cpp:1232 cppmain() 
[0x10062d547]
/Users/gedaiu/workspace/ldc/driver/main.d:27 _Dmain [0x1000248b7]
Process 91478 exited with status = 1 (0x00000001) ```

it looks like i hit an `assert(0)`:
```
     void visit(AST.Parameter) { assert(0); }
```
Mar 03
parent Sergey <kornburn yandex.ru> writes:
On Monday, 3 March 2025 at 21:33:17 UTC, Bogdan wrote:
 I managed to get a stack trace from my error:
I would suggest to post it either to LDC group or to LDC github issue, so Kinke and other LDC team can check it
Mar 03