Skip to content

zig 0.14#104

Merged
fubark merged 7 commits intofubark:masterfrom
emillaine:zig-0.14
Oct 7, 2025
Merged

zig 0.14#104
fubark merged 7 commits intofubark:masterfrom
emillaine:zig-0.14

Conversation

@emillaine
Copy link
Contributor

@emillaine emillaine commented May 28, 2025

Builds on top of #101.

The tests segfault but that seems to be a known issue.

(This is one of the stacktraces I get when running `zig build test`)
Segmentation fault at address 0xaaaaaaaaaaaaaad2
/Users/emlai/src/cyber/src/value.zig:289:52: 0x1049cd7ec in getObject__anon_103600 (unit_test)
        return @ptrFromInt(@as(usize, @intCast(self.val & ~vmc.POINTER_MASK)));
                                                   ^
/Users/emlai/src/cyber/src/builtins/builtins.zig:1062:29: 0x1049efe3f in type_id_ (unit_test)
    const obj = vm.getObject(*cy.heap.Type, 0);
                            ^
/Users/emlai/src/cyber/src/vm.zig:1426:66: 0x104d3251f in zCallSym (unit_test)
                const res: Value = @bitCast(func.data.host_func.?(@ptrCast(self)));
                                                                 ^
src/vm.c:1162:26: 0x1045839ff in execBytecode (/Users/emlai/src/cyber/src/vm.c)
        PcFpResult res = zCallSym(vm, pc, stack, symId, ret);
                         ^
/Users/emlai/src/cyber/src/vm.zig:1895:41: 0x1046c2527 in evalLoopGrowStack (unit_test)
            const res = vmc.execBytecode(@ptrCast(vm));
                                        ^
/Users/emlai/src/cyber/src/vm.zig:943:17: 0x1046c1867 in callFunc (unit_test)
                @call(.never_inline, evalLoopGrowStack, .{ vm, true }) catch |err| {
                ^
/Users/emlai/src/cyber/src/cte.zig:368:39: 0x1047e0e2f in expandValueTemplate (unit_test)
        const retv = try c.vm.callFunc(func_val, &.{}, .{});
                                      ^
/Users/emlai/src/cyber/src/cte.zig:154:31: 0x1047dfeef in expandValueTemplateForArgs (unit_test)
    return expandValueTemplate(c, template, arg_vals);
                              ^
/Users/emlai/src/cyber/src/sema.zig:5737:78: 0x1047ef3cf in semaExprNoCheck (unit_test)
                            const ct_val = try cte.expandValueTemplateForArgs(c, template, array_expr.args, node);
                                                                             ^
/Users/emlai/src/cyber/src/sema.zig:5316:42: 0x1047e85a3 in semaExpr2 (unit_test)
        const res = try c.semaExprNoCheck(expr);
                                         ^
/Users/emlai/src/cyber/src/sema.zig:5312:27: 0x1047f5cab in semaExpr (unit_test)
        return c.semaExpr2(expr);
                          ^
/Users/emlai/src/cyber/src/sema.zig:5259:28: 0x1047f9d87 in semaExprTarget (unit_test)
        return try semaExpr(c, node, .{
                           ^
/Users/emlai/src/cyber/src/sema_func.zig:380:44: 0x1047fa0cf in resolveRtArg (unit_test)
                    return c.semaExprTarget(node, target_t);
                                           ^
/Users/emlai/src/cyber/src/sema_func.zig:510:31: 0x1047fa42b in matchArg (unit_test)
    var res = try resolveRtArg(c, arg, arg.node, target_t, config.single_func);
                              ^
/Users/emlai/src/cyber/src/sema_func.zig:242:39: 0x10480e60b in matchFunc (unit_test)
        const final_arg = try matchArg(c, arg, params[i], config);
                                      ^
/Users/emlai/src/cyber/src/sema_func.zig:288:34: 0x104811007 in matchFuncSym (unit_test)
        const res = try matchFunc(c, func_sym.first, arg_start, nargs, cstr, node);
                                 ^
/Users/emlai/src/cyber/src/sema.zig:5048:46: 0x10481b443 in semaCallFuncSymRec (unit_test)
            const res = try sema.matchFuncSym(c, sym, arg_start, args.len+1, cstr, node);
                                             ^
/Users/emlai/src/cyber/src/sema.zig:6214:52: 0x1048196d3 in semaCallExpr (unit_test)
                        return c.semaCallFuncSymRec(rightSym.cast(.func), callee.left, leftRes,
                                                   ^
/Users/emlai/src/cyber/src/sema.zig:5627:47: 0x1047e9c57 in semaExprNoCheck (unit_test)
                const res = try c.semaCallExpr(expr, call.ct);
                                              ^
/Users/emlai/src/cyber/src/sema.zig:5316:42: 0x1047e85a3 in semaExpr2 (unit_test)
        const res = try c.semaExprNoCheck(expr);
                                         ^
/Users/emlai/src/cyber/src/sema.zig:5312:27: 0x1047f5cab in semaExpr (unit_test)
        return c.semaExpr2(expr);
                          ^
/Users/emlai/src/cyber/src/sema.zig:5268:28: 0x1047f5dbf in semaExprCstr (unit_test)
        return try semaExpr(c, node, .{
                           ^
/Users/emlai/src/cyber/src/sema.zig:584:44: 0x10488c00f in semaStmt (unit_test)
            const expr = try c.semaExprCstr(node.cast(.returnExprStmt).child, retType);
                                           ^
/Users/emlai/src/cyber/src/sema.zig:289:21: 0x1047feaef in semaStmts (unit_test)
        try semaStmt(c, stmt);
                    ^
/Users/emlai/src/cyber/src/sema.zig:2646:18: 0x104cbd3db in methodDecl2 (unit_test)
    try semaStmts(c, func.decl.?.cast(.funcDecl).stmts);
                 ^
/Users/emlai/src/cyber/src/sema.zig:2630:24: 0x104cbd6ff in methodDecl (unit_test)
        try methodDecl2(c, func);
                       ^
/Users/emlai/src/cyber/src/compiler.zig:432:40: 0x104ccdecb in compileInner (unit_test)
                    try sema.methodDecl(chunk, func);
                                       ^
/Users/emlai/src/cyber/src/compiler.zig:228:38: 0x104ccf02b in compile (unit_test)
        const res = self.compileInner(uri, src, config) catch |err| {
                                     ^
/Users/emlai/src/cyber/src/vm.zig:618:46: 0x104d0ab37 in compile (unit_test)
        const res = try self.compiler.compile(srcUri, src, config);
                                             ^
/Users/emlai/src/cyber/src/vm.zig:607:29: 0x104d0aeef in validate (unit_test)
        _ = try self.compile(srcUri, src, compile_c);
                            ^
/Users/emlai/src/cyber/src/lib.zig:273:20: 0x104d0b007 in clValidate (unit_test)
    _ = vm.validate("main", c.fromStr(src), .{
                   ^
/Users/emlai/src/cyber/src/capi.zig:286:28: 0x104d202b3 in validate (unit_test)
        return c.clValidate(@ptrCast(self), toStr(src));
                           ^
/Users/emlai/src/cyber/src/lib.zig:296:26: 0x104d200cf in test.clValidate() (unit_test)
    var res = vm.validate("1 + 2");
                         ^
/opt/homebrew/Cellar/zig/0.14.1/lib/zig/compiler/test_runner.zig:126:29: 0x10499195f in mainServer (unit_test)
                test_fn.func() catch |err| switch (err) {
                            ^
/opt/homebrew/Cellar/zig/0.14.1/lib/zig/compiler/test_runner.zig:60:26: 0x10498e843 in main (unit_test)
        return mainServer() catch @panic("internal test runner failure");
                         ^
/opt/homebrew/Cellar/zig/0.14.1/lib/zig/std/start.zig:651:22: 0x10498e2bf in main (unit_test)
            root.main();
                     ^
???:?:?: 0x18121b153 in ??? (???)
???:?:?: 0x7e35ffffffffffff in ??? (???)
error: while executing test 'lib.test.clValidate()', the following command terminated with signal 6 (expected exited with code 0):
/Users/emlai/src/cyber/.zig-cache/o/1579604f385bd99f593f2cd58149263c/unit_test --seed=0x4d2f7e36 --cache-dir=/Users/emlai/src/cyber/.zig-cache --listen=- 

However the tests pass if I run zig build test -Doptimize=ReleaseSafe or ReleaseFast.

emilazy added a commit to emilazy/nixpkgs that referenced this pull request Aug 18, 2025
There are PRs upstream to support newer Zig versions, but no movement,
and the author has no GitHub activity since December:

* <fubark/cyber#101>
* <fubark/cyber#104>
@fubark fubark merged commit 81bce03 into fubark:master Oct 7, 2025
@fubark
Copy link
Owner

fubark commented Oct 7, 2025

Not sure why the PR build isn't starting, but for now I will just merge it. Thanks.

@fubark fubark mentioned this pull request Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants