digitalmars.D.learn - Weird LDC error on mac
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
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
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