-
Couldn't load subscription status.
- Fork 168
Open
Labels
bugsomething isn't working in the intended waysomething isn't working in the intended waycontributor friendlythis issue is limited in scope and/or knowledge of Cubyz internals, good for newcomersthis issue is limited in scope and/or knowledge of Cubyz internals, good for newcomers
Milestone
Description
Steps to Reproduce and Observed Behavior
Segmentation fault at address 0xffffffffffffffff
C:\Users\argma\dev\Cubyz5\src\server\terrain\structure_building_blocks.zig:318:30: 0x7ff661c391c9 in postResolutionChecks (Cubyz_zcu.obj)
for(self.blueprints.items, 0..) |blueprints, blueprintIndex| {
^
C:\Users\argma\dev\Cubyz5\src\server\terrain\structure_building_blocks.zig:379:57: 0x7ff661c38dab in registerSBB (Cubyz_zcu.obj)
for(structureList.items) |sbb| sbb.postResolutionChecks();
^
C:\Users\argma\dev\Cubyz5\src\assets.zig:605:21: 0x7ff661c3a8a9 in loadWorldAssets (Cubyz_zcu.obj)
try sbb.registerSBB(&worldAssets.structureBuildingBlocks);
^
C:\Users\argma\dev\Cubyz5\src\server\world.zig:533:34: 0x7ff661e7d7b0 in init (Cubyz_zcu.obj)
try main.assets.loadWorldAssets(try std.fmt.allocPrint(arena.allocator, "{s}/saves/{s}/assets/", .{files.cubyzDirStr(), path}), self.blockPalette, self.itemPalette, self.toolPalette, self.biomePalette);
^
C:\Users\argma\dev\Cubyz5\src\server\server.zig:320:26: 0x7ff661e15330 in init (Cubyz_zcu.obj)
world = ServerWorld.init(name, null) catch |err| {
^
C:\Users\argma\dev\Cubyz5\src\server\server.zig:445:6: 0x7ff661d8e66f in start (Cubyz_zcu.obj)
init(name, port);
^
C:\Users\argma\dev\Cubyz5\compiler\zig\lib\std\Thread.zig:510:13: 0x7ff661cf6a84 in callFn__anon_91057 (Cubyz_zcu.obj)
@call(.auto, f, args);
^
C:\Users\argma\dev\Cubyz5\compiler\zig\lib\std\Thread.zig:623:30: 0x7ff661c5a6b4 in entryFn (Cubyz_zcu.obj)
return callFn(f, self.fn_args);
^
???:?:?: 0x7ffb66dae8d6 in ??? (KERNEL32.DLL)
???:?:?: 0x7ffb67b68d9b in ??? (ntdll.dll)
Seems to be caused by use of non-existent blueprints in configuration or sth like this. Discovered while working on #1930 with this invalid config:
.{
.blueprints = .{
.{.id = "cubyz:tree/mahogany/sapele/medium/stem/0"},
.{.id = "cubyz:tree/mahogany/sapele/medium/stem/1"},
.{.id = "cubyz:tree/mahogany/sapele/medium/full/0"},
.{.id = "cubyz:tree/mahogany/sapele/medium/full/1"},
},
.children = .{
.red = "cubyz:tree/mahogany/sapele/medium/branch/red",
.green = "cubyz:tree/mahogany/sapele/medium/branch/green",
.blue = "cubyz:tree/mahogany/sapele/medium/branch/blue",
.white = "cubyz:tree/mahogany/sapele/medium/top",
.yellow = "cubyz:tree/mahogany/deco",
},
}
Config is invalid because none of blueprints mentioned exist.
SegFault while validating invalid SBB configuration is not an acceptable outcome, it should print a user friendly message instead.
Metadata
Metadata
Assignees
Labels
bugsomething isn't working in the intended waysomething isn't working in the intended waycontributor friendlythis issue is limited in scope and/or knowledge of Cubyz internals, good for newcomersthis issue is limited in scope and/or knowledge of Cubyz internals, good for newcomers