Time Nick Message 16:07 BuckarooBanzai hey all, a question about ServerActiveObjects: i recently started to monitor them, is it normal that the amount of active-objects does not decrease over server-runtime (without restart)? I've seen only an increase in objects (over 3000 so far) 16:08 BuckarooBanzai (tell me if this is the wrong channel btw) 16:13 sfan5 maybe that's another issue with the monitoring? 16:14 BuckarooBanzai "Manual" monitoring, not prometheus this time ;) 16:15 BuckarooBanzai I re-used the profiler value from the active object manager, should be accurate i think 16:19 sfan5 the active object manager has a profiler value? 16:20 sfan5 in any case: does the number you see roughly match #core.object_refs 16:24 BuckarooBanzai uhm, not by far: 3274 from the profiler here: https://github.com/minetest/minetest/blob/master/src/server/activeobjectmgr.cpp#L47 versus 6 in "#minetest.object_refs" 16:24 Krock object_refs is probably not created for inactive objects, but loaded mapblocks 16:25 BuckarooBanzai well, if thats not normal, i can see if i can whip up a repro and file a bug then... 16:25 sfan5 I don't think the active object manager is managing inactive objects 16:28 BuckarooBanzai i was originally investigating slow calls to "ActiveObjectMgr::getObjectsInsideRadius()" but the amount of active object explains that part :/ 16:29 BuckarooBanzai *objects 16:31 sfan5 ActiveObjectMgr::clear is not unittested but I doubt it's broken 16:36 Krock would be interesting to know the class properties of those garbage entities. perhaps there's a grey zone where they are dead, but not removed 16:36 BuckarooBanzai i guess that info is not accessible via lua, right? 16:38 Krock hmm. it might be possible to push the active entities to a custom Lua function, but no - there's only object_refs and that seems to work properly 16:40 sfan5 all calls to ::clear() remove the object ref from Lua first, and ::removeObject() isn't even used on the server 16:41 sfan5 but like Krock said a way to look into those ghost objects would be useful 16:56 Krock will merge #10419 and #10103 in 15 minutes 16:57 ShadowBot https://github.com/minetest/minetest/issues/10419 -- Replace MyEventReceiver KeyList with std::unordered_set by v-rob 16:57 ShadowBot https://github.com/minetest/minetest/issues/10103 -- Ability to remove minetest.after once set by tenplus1 17:11 Krock merging 17:27 rubenwardy core.object_refs will contain nils, so you can't use # 17:29 Krock good catch. it might only count until the first nil value 18:04 BuckarooBanzai thanks rubenwardy, tried it again with "/lua local count =0; for _ in ipairs(minetest.object_refs) do count = count + 1 end; print(count)" but somehow i only get "0" now 18:04 rubenwardy pairs, not ipairs 18:04 rubenwardy ipairs has the same issue - it stops on nils 18:05 BuckarooBanzai ok, that worked: i now have about the same number: 3960 active objects 18:06 BuckarooBanzai correction: 3960 counted on minetest.object_refs and 3305 on the engine sao-profiler 18:07 rubenwardy odd - memory leak? 18:08 BuckarooBanzai don't know yet, i see if i have some time to make a proper repro locally without much mods and players ;) 18:30 sfan5 ah oops # does not work on tables so #core.object_refs is bogus 18:31 MTDiscord # only works if it’s numerically indexed 18:36 Sokomine wonder if it might be possible to get a slightly larger heightmap at mapgen time 18:54 BuckarooBanzai turns out the entites from the "signs_lib" don't get removed somehow, i'll investigate further some other time, thanks for all the help :) 18:55 MTDiscord I had an issue on my server around a year ago where LCD displays were racking up entities because they werent being removed properly due to the behavior of unloaded areas, but IIRC I got a PR merged to fix it. Could be a similar issue. 18:56 BuckarooBanzai PR#? 18:56 MTDiscord It may not have been an actual PR, since Cheapie uses her own git host :/ 18:56 MTDiscord I can probably find you a commit hash though 18:57 BuckarooBanzai that would be nice 18:57 MTDiscord oh good it looks like digilines is still on github 18:58 MTDiscord https://github.com/minetest-mods/digilines/pull/53 18:59 sfan5 BuckarooBanzai: I believe that's a feature 18:59 sfan5 and there's some way to explicitly clean them up 19:01 BuckarooBanzai thats a PR to re-use or add an entity, the problem is that the entity is still "active" even if you move away from it (or log out) 19:03 MTDiscord Ah, I see. Sorry :] 20:25 paramat #10417 is a 1 line bugfix and is now well tested, seems fairly trivial so will merge in 24 hours if no objections 20:25 ShadowBot https://github.com/minetest/minetest/issues/10417 -- Fix connection bug of hardware-colored framed glass by paramat 20:28 sfan5 that source comment is quite verbose 20:30 sfan5 I'd have written e.g. // Only respect H/V merge bits for liquid tanks 20:53 paramat it is rather, i will change it to something close to your suggestion 20:53 paramat merging game#2639 20:53 ShadowBot https://github.com/minetest/minetest_game/issues/2639 -- furnace: Start the timer on on_metadata_inventory_take. by orbea 22:21 cheapie [13:55:57] I had an issue on my server around a year ago where LCD displays were racking up entities because they werent being removed properly due to the behavior of unloaded areas, but IIRC I got a PR merged to fix it. Could be a similar issue. [13:56:43] It may not have been an actual PR, since Cheapie uses her own git host :/ <--- Digilines (the mod those are from) is not one of 22:21 cheapie my mods. 22:22 MTDiscord Yeah I realized that roughly 13 seconds after I sent that message 22:23 MTDiscord I was thinking of digistuff 23:09 paramat i will merge #10417 now, it has had 15 mins and been checked. comment is shortened as requested 23:09 ShadowBot https://github.com/minetest/minetest/issues/10417 -- Fix connection bug of hardware-colored framed glass by paramat