Skip to content

Better error message on world not found (autoEnterWorld) #3436

Description

@Wunka

Steps to Reproduce and Observed Behavior

I first thought there was a bug, when I just wrote the world name wrong:
Error:

/usr/lib/zig/std/Io/Threaded.zig:4866:35: 0x14db631 in dirOpenFilePosix (std.zig)
                        .NOENT => return error.FileNotFound,
                                  ^
/usr/lib/zig/std/Io/Dir.zig:578:5: 0x13392a0 in openFile (std.zig)
    return io.vtable.dirOpenFile(io.userdata, dir, sub_path, options);
    ^
/usr/lib/zig/std/Io/Dir.zig:1360:16: 0x15a7693 in readFileAllocOptions__anon_56609 (std.zig)
    var file = try dir.openFile(io, sub_path, .{
               ^
/usr/lib/zig/std/Io/Dir.zig:1338:5: 0x15a740f in readFileAlloc (std.zig)
    return readFileAllocOptions(dir, io, sub_path, gpa, limit, .of(u8), null);
    ^
/home/wunka/Documents/Cubyz/master/src/files.zig:105:3: 0x1518e30 in read (main.zig)
		return self.dir.readFileAlloc(main.io, subPath, allocator.allocator, .unlimited);
  ^
/home/wunka/Documents/Cubyz/master/src/files.zig:109:18: 0x1518fad in readToZon (main.zig)
		const string = try self.read(main.stackAllocator, subPath);
                 ^

stack trace:
/usr/lib/zig/std/debug.zig:420:14: 0x1333069 in assert (std.zig)
    if (!ok) unreachable; // assertion failure
             ^
/home/wunka/Documents/Cubyz/master/src/assets.zig:781:18: 0x16fd141 in unloadAssets (main.zig)
	std.debug.assert(prevVal != 0);
                 ^
/home/wunka/Documents/Cubyz/master/src/server/world.zig:512:36: 0x198db96 in init (main.zig)
		errdefer main.assets.unloadAssets();
                                   ^
/home/wunka/Documents/Cubyz/master/src/server/server.zig:589:26: 0x199f336 in init (main.zig)
	world = ServerWorld.init(name, mode) catch |err| {
                         ^
/home/wunka/Documents/Cubyz/master/src/server/server.zig:775:7: 0x19395ec in startFromExistingThread (main.zig)
		init(worldName, port, mode);
      ^
/home/wunka/Documents/Cubyz/master/src/main.zig:413:33: 0x1511df0 in main (main.zig)
		server.startFromExistingThread(settings.launchConfig.autoEnterWorld, null, .multiplayer);
                                ^
/usr/lib/zig/std/start.zig:699:88: 0x151141e in callMain (std.zig)
    if (fn_info.params[0].type.? == std.process.Init.Minimal) return wrapMain(root.main(.{

Expected:
some kind of more user friendly error

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugsomething isn't working in the intended waycontributor friendlythis issue is limited in scope and/or knowledge of Cubyz internals, good for newcomersui/ux

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions