Skip to content

Trying to compile Cubyz with .use_llvm = false produces panic: getOffset: [sym:3691 + 0x0] #23143

@IntegratedQuantum

Description

@IntegratedQuantum

Zig Version

0.14.0

Steps to Reproduce and Observed Behavior

Clone Cubyz from github: https://github.com/PixelGuys/Cubyz
Go into the build.zig and apply the following diff:

                //.sanitize_thread = true,
+               .use_llvm = false,
        });

Run zig build with a 0.14.0 compiler and observe the following failure:

~/Cubyz$ zig build
install
└─ install Cubyzig
   └─ zig build-exe Cubyzig Debug native failure
error: thread 179494 panic: getOffset: [sym:3691 + 0x0]

Here is also the trace of a debug build compiler:

error: thread 181101 panic: reached unreachable code
/home/mint/zig/src/arch/x86_64/Lower.zig:497:37: 0x79adf37 in emit (zig)
                            else => unreachable,
                                    ^
/home/mint/zig/src/arch/x86_64/Lower.zig:592:19: 0x79b1956 in generic (zig)
    try lower.emit(switch (fixes) {
                  ^
/home/mint/zig/src/arch/x86_64/Lower.zig:96:34: 0x7630b08 in lowerMir (zig)
        else => try lower.generic(inst),
                                 ^
/home/mint/zig/src/arch/x86_64/Emit.zig:28:48: 0x7142c46 in emitMir (zig)
        const lowered = try emit.lower.lowerMir(mir_index);
                                               ^
/home/mint/zig/src/arch/x86_64/CodeGen.zig:1043:17: 0x7b1175d in generate (zig)
    emit.emitMir() catch |err| switch (err) {
                ^
/home/mint/zig/src/codegen.zig:72:51: 0x77cdb77 in generateFunction (zig)
            return importBackend(backend).generate(lf, pt, src_loc, func_index, air, liveness, code, debug_output);
                                                  ^
/home/mint/zig/src/link/Elf/ZigObject.zig:1440:33: 0x77ce292 in updateFunc (zig)
    try codegen.generateFunction(
                                ^
/home/mint/zig/src/link/Elf.zig:2380:44: 0x737cd47 in updateFunc (zig)
    return self.zigObjectPtr().?.updateFunc(self, pt, func_index, air, liveness);
                                           ^
/home/mint/zig/src/link.zig:752:82: 0x6f3adfd in updateFunc (zig)
                return @as(*tag.Type(), @fieldParentPtr("base", base)).updateFunc(pt, func_index, air, liveness);
                                                                                 ^
/home/mint/zig/src/Zcu/PerThread.zig:1705:22: 0x6ac8013 in linkerUpdateFunc (zig)
        lf.updateFunc(pt, func_index, air, liveness) catch |err| switch (err) {
                     ^
/home/mint/zig/src/link.zig:1599:36: 0x67023a0 in doTask (zig)
                pt.linkerUpdateFunc(func.func, func.air) catch |err| switch (err) {
                                   ^
/home/mint/zig/src/link.zig:1405:34: 0x634b372 in flushTaskQueue (zig)
        for (tasks) |task| doTask(comp, tid, task);
                                 ^
/home/mint/zig/lib/std/Thread/Pool.zig:182:50: 0x634b589 in runFn (zig)
            @call(.auto, func, .{id.?} ++ closure.arguments);
                                                 ^
/home/mint/zig/lib/std/Thread/Pool.zig:295:32: 0x62fa864 in worker (zig)
            run_node.data.runFn(&run_node.data, id);
                               ^
/home/mint/zig/lib/std/Thread.zig:488:13: 0x612d4fa in callFn__anon_192593 (zig)
            @call(.auto, f, args);
            ^
/home/mint/zig/lib/std/Thread.zig:757:30: 0x5fdb8b4 in entryFn (zig)
                return callFn(f, args_ptr.*);
                             ^

Expected Behavior

Ideally it should compile, so I can finally use incremental compilation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    arch-x86_6464-bit x86backend-self-hostedbugObserved behavior contradicts documented or intended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions