Time Nick Message 03:46 user333_ is it just me or is https://content.luanti.org/help/api/ a bit broken? 03:46 user333_ i'l send a screenshot in a sec 03:48 user333_ https://filebin.net/ekvmvhz102oq531q/Screenshot%20from%202026-01-14%2023-47-09.png 03:48 MTDiscord ...and whats broken? 03:49 user333_ that's not scrolled horizontally yet it's cut off 03:49 MTDiscord ah yeah, that 03:50 user333_ doesn't seem to happen on my main PC, might just be my screen rsolution 03:50 MTDiscord its your screen size 03:51 user333_ thought so 03:52 MTDiscord the nav gets screwed up if you go smaller before it switches over to mobile 03:52 MTDiscord https://cdn.discordapp.com/attachments/749727888659447960/1461206263751901383/image.png?ex=6969b5e1&is=69686461&hm=2f9725c01faa94d503fbc831628bdde576b1e904585277f628df5401ac763b04& 03:52 user333_ it doesnt like 1366x768 03:55 user333_ so it was just me ig 03:55 user333_ looks fine on 80% scale tho 04:07 user333_ ig time to make a contentdb CLI because i'm tired of scp-ing over packages .-. 04:08 user333_ and because im bored and want a project 04:08 MTDiscord why not use the one that already exists? 04:08 MTDiscord https://github.com/ronoaldo/minetools 04:08 user333_ because that doesn't solve "and because im bored and want a project" 05:36 * user333_ makes progress on a ContentDB CLI 05:58 user333_ more results from grepping through the IRC logs, Helenah was responsible for about 80% of the ':3''s in #luanti 11:03 parabyte any dev's here? 11:05 parabyte im building a multi protocol craft daemon with a unified engine, and a plugin system with various protocols, need some guidance on some non luanti stuff or where to go and ask about such stuff! 17:38 user333_ working on my contentdb CLI... i think i screwed up some paths: https://paste.centos.org/view/0013917d 18:04 whylay how can get_properties() called inside get_staticdata() return nil? seems like an engine bug? 18:05 rubenwardy that should not happen, correct 18:06 whylay just randomly happened in a code running 24/7 since october :p 18:07 rubenwardy this could happen if a mod is randomly calling get_staticdata after the entity is deleted 18:07 rubenwardy or unloaded 18:08 whylay it says "ModError while shutting down: Runtime error from mod '??' in callback luaentity_GetStaticdata()" 18:09 rubenwardy oh ok so the engine is calling get_staticdata 18:11 Krock whylay: all relevant log lines, please. Also make sure that you're running 5.14.0 or newer. 18:11 Krock There have been a few entity-related fixes every now and then. 18:11 whylay it's on 5.12 iirc... 18:12 Krock give 5.15.0-rc1 a try while you're at it :3 18:13 whylay can't run it again for months quickly :p 18:17 Krock no but you can see whether it happens again until 5.16.0 is out 18:18 whylay and if it does, run it againg until 5.17 because changes happen XD 18:20 Krock it is what it is 18:24 whylay for the record, full backtrace and relevant function https://paste.debian.net/hidden/b0fa30a2 18:27 Krock the object was already marked for removal when the callback was fired 18:28 whylay so, it's illegal to call get_properties() inside get_staticdata()? 18:29 Krock no, but some callback (or Luanti) must've :remove()'d it in between 18:30 Krock all (of almost all?) calls to ObjectRef will return nil when the object was removed 18:31 rubenwardy the engine should not be calling get_staticdata on removed objects 18:31 whylay but trying to serialize *after* removal seems like a bug? 18:31 Krock that would be a bug yes. But at this point we are not 100% sure whether the entity was deleted inside the callback or before 18:31 rubenwardy also the whole make everything nil immediately after removal was a bad idea imo, results in a lot of crashes. Would have been better to mark for removal and then fully delete on the next server step 18:34 whylay Krock: I'm not sure where inside this callback it can be deleted? 18:37 whylay also, this entity is immortal in multiple ways... 18:38 whylay (I mean armor groups immortal=1 and on_blast() callback) 18:38 whylay no nothing should be able to remove it normally apart from serialization 18:38 rubenwardy I read immoral and was wondering how an entity can be immoral 18:39 rubenwardy not just immoral, immoral in multiple ways 18:40 whylay It's a mimic that pretends to be visually like other things, so if you consider that immoral... 18:43 Krock whylay: by that I meant an explicit call to :remove() inside the function, or another (metatable) function that it may call 18:43 Krock considering this only happened once, I would however suppose that's more of a race condition kind of issue 18:44 Krock or memory corruption (by hardware or a logic error) 18:45 whylay there was a similar issue where right-click callback was called on removed entity (should be fixed I think?) 18:46 whylay but here, as far as I know, no one with enough privs to even attempt removing it was active on the server :p 18:48 whylay also, what even happened with this entity now? It's lost? 18:49 whylay also, what would happen with it if get_staticdata() didn't crash? could it be serialized at all? like position etc? 19:05 Krock I assume the underlying object did still exist (aside from being marked for removal), thus it would've saved like any other entity. 19:10 whylay even though, get_pos() in lua would also probably return nil? 19:20 whylay btw, on current master, crashing inside get_staticdata causes segfault. Looks like it's mentioned here: https://github.com/luanti-org/luanti/issues/8352 19:26 Krock yes that would return nil. 19:28 whylay crashing inside on_deactivate also causes segfault :p 19:31 whylay um... 19:31 whylay also, crashing inside on_deactivate causes entities to be duplicated and have same GUID 19:41 whylay minimal entity to try it: https://paste.debian.net/hidden/7fe01cc1 22:07 sfan5 well don't do that