Minetest logo

IRC log for #minetest, 2021-05-09

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:03 specing_ joined #minetest
01:20 EvergreenTree joined #minetest
01:21 EvergreenTree joined #minetest
01:26 scr267 joined #minetest
01:31 ghoti joined #minetest
01:39 Andrew__ joined #minetest
02:00 Hiradur joined #minetest
02:34 Verticen joined #minetest
02:40 Surfer2011 joined #minetest
02:51 Gustavo6046_ joined #minetest
04:00 MTDiscord joined #minetest
06:03 big_caballito joined #minetest
06:13 big_caballito joined #minetest
06:43 Flabb joined #minetest
07:18 sys4 joined #minetest
07:55 Fixer joined #minetest
08:00 ShadowNinja joined #minetest
08:04 submariner joined #minetest
08:15 YuGiOhJCJ joined #minetest
08:27 FeXoR joined #minetest
08:27 Rafi59 joined #minetest
08:33 gehmehgeh joined #minetest
08:49 SwissalpS joined #minetest
09:05 entuland joined #minetest
09:23 calcul0n_ joined #minetest
09:31 tech_exorcist joined #minetest
09:54 gehmehgeh joined #minetest
10:43 Flabb joined #minetest
11:00 Taoki joined #minetest
11:42 Bombo helo
11:43 Bombo i found the language setting in minetest 5.4.0, set it from nothing (english) to de (german) restarted it, but it still is englsh
11:43 Bombo are the locales not included in the android version?
11:43 Bombo did i mention amdroid? android ;)
11:44 sfan5 android currently does not come with language support
11:44 Bombo no 5.4.1 version either
11:44 Bombo ok sfan5
11:45 Bombo probably nothing changed for android in the .1 i guess
11:47 sfan5 even if you had 5.4.1 it still wouldn't work, yea
11:47 Aris joined #minetest
12:01 specing_ joined #minetest
12:04 calcul0n__ joined #minetest
12:12 Bombo no i mean genera<lly speaking, not just locales
12:44 Wuzzy joined #minetest
12:45 tech_exorcist joined #minetest
12:57 tech_exorcist joined #minetest
13:03 Fixer_ joined #minetest
14:03 riff-IRC joined #minetest
14:11 Sven_vB joined #minetest
14:15 Taoki joined #minetest
14:16 Pie-jacker875 joined #minetest
14:21 Taoki joined #minetest
15:21 FeXoR joined #minetest
15:31 delta23 joined #minetest
15:38 hlqkj joined #minetest
16:07 smugler5 joined #minetest
16:19 calcul0n_ joined #minetest
16:20 Taoki joined #minetest
16:20 Fixer joined #minetest
16:27 Gustavo6046 joined #minetest
17:05 jluc joined #minetest
17:15 Verticen joined #minetest
17:21 erlehmann joined #minetest
17:24 kamdard joined #minetest
17:40 Verticen joined #minetest
17:41 Aris joined #minetest
18:05 hisforeverkid joined #minetest
18:06 hisforeverkid Hi I need t find the mod that has cherry wood. Willow wood?
18:11 Krock willow should be in moretrees
18:11 hisforeverkid tanks Krock
18:12 Krock !next
18:12 MinetestBot Another satisfied customer. Next!
18:16 calcul0n_ iirc cherry tree and another kind of willow are in cool_trees
18:17 calcul0n_ ho, he's gone
18:20 jluc joined #minetest
18:40 Talkless joined #minetest
19:13 Gustavo6046 joined #minetest
19:14 tech_exorcist joined #minetest
19:18 entuland joined #minetest
19:24 Lunatrius joined #minetest
19:30 absurb joined #minetest
20:15 whosit Hello. I'm trying to figure out the cause for periodical lag spike (0.6+ timestep), my research comes down to a mod calling player:get_meta():set_int() each 5 seconds. That somehow triggers some disk IO, which freezes server for a moment
20:16 whosit any idea why that may happen only in this special each-5-seconds globalstep, and not in other places? how to fix it? where to look?
20:18 whosit https://github.com/mt-mods/xp_redo/blob/master/stats.lua#L16 it comes down to this line
20:19 whosit and seems to happen with sqlite and postgres backends on different machines
20:19 whosit which is kinda crazy...
20:20 entuland according to that code, that function should get called every time a player places or digs a node as well
20:20 entuland are you seeing that spike in those occasions as well?
20:21 whosit it's harder to see that case :\
20:21 entuland ah, that code does that for all the connected players at that interval
20:22 whosit yes, it gets worse the more players connected
20:22 entuland makes sense
20:23 entuland can't tell - checked if there is any thread about that mod and reports about such a performance hit?
20:23 whosit not in the issues (closed or open) and not in the mod's thread
20:24 sfan5 mod storage is saved along with the server's map every 5.3 seconds (by default)
20:24 whosit it uses player meta which by default is it's own db (players.sqlite) same thing?
20:25 sfan5 uh right
20:25 sfan5 but yes that's the same
20:27 whosit that means, any constant change in players meta will cause same periodical lag spike? it's pretty significant
20:28 whosit It's visible, that's why I'm trying to fix it
20:29 sfan5 map saving happens at the same interval so it's weird that it wouldn't cause a problem but player meta would
20:30 entuland the amount of IO should be proportional to the amount of data altered, and that looks risible compared to the map as sfan5 pointed out - what's the size of your player.sqlite file, out of curiosity?
20:30 whosit it may be an artefact of how I'm trying to reproduce it (starting server and connecting ~6 clients), but only enabling xp_redo causes same constant spike, not mobs_redo or mobkit mobs, etc.
20:31 whosit it's just 6-7 test players on a clean server
20:31 entuland definitely odd
20:31 sfan5 saving player meta rewrites the entire meta while saving a block wil only touch that block so that'd be a different
20:31 whosit 76k players.sqlite file
20:32 sfan5 if you configure profiler_print_interval to a number > 0 and enable verbose output it'll print the profiler
20:32 sfan5 there should be a "Server: map saving (sum)" entry which tells you how long map saving took
20:33 whosit I did another thing:
20:33 whosit moved players.sqlite file to ramfs directory and symlinked it, and spike was gone
20:34 whosit "map saving" time will show how long it took to rewrite players.sqlite?
20:34 sfan5 map saving *and* player data saving
20:35 whosit ok... I will try to measure it that way then. Still not sure how to better get rid of it :)
20:36 entuland this seems important if it made a difference: "moved players.sqlite file to ramfs directory and symlinked it, and spike was gone"
20:37 whosit and I see same spike on a server that's using postgres backend and has no players.sqlite
20:40 entuland can't tell about postgres, but if the problem disappeared by changing the file location and symlinking it, since it should be transparent to minetest, that seems to point at something else interfering with that IO
20:42 whosit it's not just location though, I have moved file to a memory filesystem - so no slow IO when writing it
20:42 whosit (linux ramfs)
20:44 entuland that's the thing, even writing the entire file at once every time the amount of data is risible and doesn't justify the entire gameserver freezing
20:45 sfan5 is the disk a HDD?
20:46 whosit on my test machine, yes, on the postgres backed one - idk
20:46 whosit lag seems about the same on both
20:48 whosit I notice this periodical spike only with xp_redo enabled, not other mods - that's the strangest thing. But it may be explainable by constant metadata change...
20:50 entuland I would try and narrow down that thing by doing a small mod that only touches the meta at that same interval
20:51 entuland it may as well be something done by hooks.lua
20:51 entuland which is the line run right after touching the meta
20:52 entuland that hook goes on to run all the functions hooked by register_hook
20:53 whosit tried commenting it out - makes no difference
20:53 _Zaizen_[m] joined #minetest
20:53 entuland good
20:53 entuland commenting the meta touch out gets rid of the issue I guess?
20:53 whosit yes, set_int() removes the lag spike
20:54 whosit *commenting it out
20:54 entuland ok
20:55 entuland maybe the profiler data will give more clues
21:06 whosit https://pastebin.com/TZn8Q1k8 <- map saving from debug.txt
21:09 sfan5 writing some stuff to disk certainly shouldn't take 500ms
21:10 sfan5 you might also want to look at this setting https://github.com/minetest/minetest/blob/stable-5/minetest.conf.example#L1512-L1514
21:15 whosit setting sqlite_synchronous = 0 (OFF) gets rid of lag spike (map saving is up to 8ms with 6 clients)
21:17 sfan5 hope you read the warning about corruption in the docs
21:18 whosit yes.
21:20 entuland joined #minetest
21:21 whosit setting it to 1 (NORMAL) gives same 5-second-period ~500ms spikes
21:22 whosit default is 2 I assume... so normal option works same as full sync
21:30 entuland crabs... to times that my desktop rebooted without any error or reason whatsoever today
21:31 entuland s/to/two
21:33 whosit :( never happened before?
21:36 whosit so, what should I do? make a minimal mod to reproduce the spike?
21:50 MTDiscord <entuland> No idea sorry, out of power to even try googling
21:51 MTDiscord <entuland> At least seems like it was power grid hiccups here and not my PC going nuts
21:53 MTDiscord <entuland> The fact that sqlite misbehaves in one mode on the normal disk, stops misbehaving changing that mode, and stops also going to ramfs, the issue could be more tied to the FS / sqlite manager / driver or whatever than being on minetest itself
21:55 MTDiscord <entuland> Although the fact that the issue happens on postgres as well would not match (unless for some reason the culprit affects posgres as well somehow)
22:00 MTDiscord <Jordach> you have a dead sector on disk
22:01 Sven_vB joined #minetest
22:03 AntumDeluge joined #minetest
22:14 whosit 1. the spike issue happened on another machine 2. I re-created server from scratch using /mods list, and issue appeared on my local machine too
22:14 whosit only common thing - xp_redo mod
22:16 whosit server is using completely different config, I don't even have direct access to it to see how postgres is set up, etc.
22:17 whosit but we did make sure that spike issue disappears from server too, when xp_redo is disabled
22:22 whosit real server should have bigger player db, but if it's using postgres and values change only for ~10 test clients, that still does not make sense
22:29 AntumDeluge The API shows me how to unregister items (craftitem & node), but I don't see any method for unregistering ores. Can it be done? Or, is it necessary to unregister ores if I am replacing an ore-bearing node?
22:34 calcul0n_ AntumDeluge, ores are just nodes like others, i guess you do it the same way
22:44 AntumDeluge calcul0n_, interesting. I called "core.unregister_item(item_name)", but I find that it is still stored in "core.registered_ores".
22:45 hermitofgore joined #minetest
22:51 Gustavo6046 joined #minetest
22:52 calcul0n_ ho, i forgot about register_ore(), i don't know what happens if you unregister the corresponding node then
22:53 AntumDeluge Maybe I just need to do "core.registered_ores.ore_hash = nil". Or maybe I just leave it alone as maybe it isn't necessary to unregister ores.
22:58 calcul0n_ i'd try the second first but that's a shot in the dark :)
23:32 craigger joined #minetest

| Channels | #minetest index | Today | | Google Search | Plaintext