Skip to content

stage3: debug info broken and wrong source locations #13224

@nektro

Description

@nektro

Zig Version

0.10.0-dev.4443+71f876295

Steps to Reproduce

const std = @import("std");
fn foo(comptime src: struct{}) void {
    _ = src;
}
pub fn main() void {
    foo(@src());
}

Expected Behavior

[meghan@nixos:~/src/zig]$ ./build/zig2 run test.zig 
thread 3277 panic: reached unreachable code
/home/meghan/src/zig/src/value.zig:2558:21: 0x15be91e in value.Value.hashPtr (zig2)
            else => unreachable,
                    ^
/home/meghan/src/zig/src/value.zig:2328:39: 0x135e411 in value.Value.hash (zig2)
                else => return hashPtr(val, hasher, mod.getTarget()),
                                      ^
/home/meghan/src/zig/src/value.zig:2347:43: 0x135e5dd in value.Value.hash (zig2)
                            field_val.hash(field_ty, hasher, mod);
                                          ^
/home/meghan/src/zig/src/Sema.zig:6602:29: 0x11ed6a7 in Sema.instantiateGenericCall (zig2)
                arg_val.hash(arg_ty, &hasher, mod);
                            ^
/home/meghan/src/zig/src/Sema.zig:5981:40: 0xfe1fdf in Sema.analyzeCall (zig2)
        if (sema.instantiateGenericCall(
                                       ^
/home/meghan/src/zig/src/Sema.zig:5773:28: 0xd41c2c in Sema.zirCall (zig2)
    return sema.analyzeCall(block, func, func_src, call_src, modifier, ensure_result_used, resolved_args, bound_arg_src);
                           ^
/home/meghan/src/zig/src/Sema.zig:745:62: 0xb9b3b5 in Sema.analyzeBodyInner (zig2)
            .call                         => try sema.zirCall(block, inst),
                                                             ^
/home/meghan/src/zig/src/Sema.zig:629:30: 0xb8ee5a in Sema.analyzeBody (zig2)
    _ = sema.analyzeBodyInner(block, body) catch |err| switch (err) {
                             ^
/home/meghan/src/zig/src/Module.zig:5607:21: 0x98fbad in Module.analyzeFnBody (zig2)
    sema.analyzeBody(&inner_block, fn_info.body) catch |err| switch (err) {
                    ^
/home/meghan/src/zig/src/Module.zig:4300:40: 0x97037a in Module.ensureFuncBodyAnalyzed (zig2)
            var air = mod.analyzeFnBody(func, sema_arena) catch |err| switch (err) {
                                       ^
/home/meghan/src/zig/src/Compilation.zig:3047:42: 0x65c0ec in Compilation.processOneJob (zig2)
            module.ensureFuncBodyAnalyzed(func) catch |err| switch (err) {
                                         ^
/home/meghan/src/zig/src/Compilation.zig:2985:30: 0x649e3f in Compilation.performAllTheWork (zig2)
            try processOneJob(comp, work_item);
                             ^
/home/meghan/src/zig/src/Compilation.zig:2325:31: 0x6424ed in Compilation.update (zig2)
    try comp.performAllTheWork(main_progress_node);
                              ^
/home/meghan/src/zig/src/main.zig:3319:20: 0x5cda1f in main.updateModule (zig2)
    try comp.update();
                   ^
/home/meghan/src/zig/src/main.zig:3004:17: 0x5172cc in main.buildOutputType (zig2)
    updateModule(gpa, comp, hook) catch |err| switch (err) {
                ^
/home/meghan/src/zig/src/main.zig:238:31: 0x4affbf in main.mainArgs (zig2)
        return buildOutputType(gpa, arena, args, .run);
                              ^
/home/meghan/src/zig/src/stage1.zig:56:24: 0x4af635 in main (zig2)
        stage2.mainArgs(gpa, arena, args) catch unreachable;
                       ^
???:?:?: 0x7f1c2acff236 in ??? (???)
???:?:?: 0x7ffe047cd3d9 in ??? (???)
Aborted (core dumped)

Actual Behavior

[meghan@nixos:~/src/zig]$ ./build/stage3/bin/zig run test.zig 
thread 3154 panic: reached unreachable code
???:?:?: 0x1bf63b5 in hashPtr (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1a4d7e5 in hash (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1a4ce73 in hash (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x212dd1a in instantiateGenericCall (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1eeba7a in analyzeCall (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1c26afc in zirCall (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1a77f10 in analyzeBodyInner (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1a76488 in analyzeBody (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x18a2c7a in analyzeFnBody (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x16ae2b8 in ensureFuncBodyAnalyzed (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x16ac733 in processOneJob (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1579daa in performAllTheWork (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x15765cb in update (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1583e66 in updateModule (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x1304d33 in buildOutputType (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x12e2efa in mainArgs (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x15d0d67 in main (/home/meghan/src/zig/src/zig_llvm.cpp)
???:?:?: 0x7fea19f79236 in ??? (???)
???:?:?: 0x7fff2cda53c5 in ??? (???)
Aborted (core dumped)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugObserved behavior contradicts documented or intended behaviorfrontendTokenization, parsing, AstGen, Sema, and Liveness.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions