Time Nick Message 00:05 SpawnBugs paramat: moretrees shadow bug remembers you! 00:05 paramat oh man 00:07 red-001 how do you change the frequency using noise params? 00:07 red-001 scale? 00:08 paramat as in scale in nodes of variation? 00:08 paramat 'spread' 00:09 paramat that's the scale of variation of the 1st octave (largest scale variation) 00:09 red-001 as in how much of a type od decoration is spawned 00:09 paramat ah 00:09 paramat offset and scale 00:10 red-001 thanks 00:11 SpawnBugs anyone seen this? ERROR[Server]: An unhandled exception occurred: Setting [pitch] not found. 00:11 paramat decorations are spawned when noise value is above 0. offset is the average noise value. scale is the variation either side of offset 00:15 paramat SpawnBugs as in http://paste.debian.net/892505/ ? 00:16 SpawnBugs yeah 00:16 SpawnBugs this error still in the way to confirm new 0 0 0 spawn bug on Liberty Land, since we can't test it because of this :( 00:18 paramat #4728 is #4718 ? 00:18 ShadowBot https://github.com/minetest/minetest/issues/4728 -- Players spawn at 0,0,0 after login 00:18 ShadowBot https://github.com/minetest/minetest/issues/4718 -- Position resets / doesn't save. 00:18 SpawnBugs no 00:18 SpawnBugs waaait 00:19 paramat i know it's not 4403 00:19 SpawnBugs paramat: crap, I've made a dupe, yes, this is it, you can choose one to keep or combine them? 00:19 paramat ok 00:20 paramat i'll copy your post over too 00:21 SpawnBugs paramat: those bugs were mass-reported very recently it seems, they are new, and ~10 day old builds don't have this, so I suspect nerzuls refactoring commits to cause this 00:21 SpawnBugs as first suspects 00:21 paramat heh hmmmm ^ 00:24 SpawnBugs but i'm not certain 00:24 SpawnBugs just suspects 00:25 SpawnBugs based on info from Liberty Land admin 00:31 Zeno` https://github.com/minetest/minetest/commit/361e687f3a81e7093c87d99b091aee080be6684f 00:31 Zeno` the unit test for load player is incorrect 00:31 Zeno` e.g. UASSERT(rplayer.getBreath() == 10); should be UASSERT(rplayer_loaded.getBreath() == 10); 00:32 Zeno` lines 76-80 show the same problem (testing the wrong object) 00:33 Zeno` if those were correct it would have caught the spawn 0,0,0 problem before it even existed 00:35 paramat and there's a 'get pitch' in there too 00:35 Zeno` yes... testing the wrong object 00:36 Zeno` they should all be testing rplayer_loaded (not rplayer) 00:36 Zeno` so fixing those won't fix the problem but the unit tests would then (properly) fail 00:39 SpawnBugs this also https://github.com/minetest/minetest/issues/4403 needs some attention, at least two servers affected, red cat creative and vanessas creative-building one, and I'm usually suffer from them 00:39 paramat well spotted! 00:41 Zeno` hmm althought that's been changed by a more recent commit 00:43 paramat yeah, 'sao_load' now 00:44 paramat the refactor does stuff with 'pitch' 00:45 Zeno` has the bug been reproduced? 00:45 paramat the pitch one? 00:46 Zeno` both 00:46 Zeno` the pitch and the spawn bugs 00:47 paramat #4718 has 2 reporters. pitch seems to be just one 00:47 ShadowBot https://github.com/minetest/minetest/issues/4718 -- Position resets / doesn't save. 00:49 paramat pitch bug was discussed on minetest channel today 00:51 paramat hm #4725 may be related too 00:51 ShadowBot https://github.com/minetest/minetest/issues/4725 -- Player reconnecting appeared to be outside of limits 00:53 paramat closed #4726 00:53 ShadowBot https://github.com/minetest/minetest/issues/4726 -- Be able to load Minecraft maps into minetest 01:10 est31 okay I propose the following: we wait one week for nrz to fix the bugs, and if they still are present, we revert the recent cleanups 01:12 Zeno` I can't reproduce either of them :/ 01:12 paramat 1 month until feature freeze 01:12 Zeno` oh I just did 01:13 Zeno` it doesn't happen every time 01:14 Zeno` ok that's weird 01:14 paramat est that seems reasonable, if the bugs are indeed due to the refactor 01:17 est31 last time we merged nrz cleanups, we had regressions like these too, and it took months to get rid of them 01:17 est31 now is just too close to a release, and there are too few dev resources 01:20 Zeno` so has there been a bisect? 01:21 paramat nope, a bisect was started but not completed (reading minetest channel) 01:22 Zeno` hmm kinda hard when the server starts to segfault! 01:24 thePalindrome I'm not particularly helpful as a core dev, but if you need me to do something, I've got time :P 01:31 sofar segfaults at start are the BEST problems to segfault, lol 01:35 thePalindrome ^ 01:36 thePalindrome But yeah, if you want me to work on anything, I guess just ping me (I think that'll send me an email) 02:09 Zeno` anyway bisect does confirm 02:09 Zeno` 9d25242c5c1411d692254cf910345d51c9a24fa3 is the first bad commit 02:09 Zeno` commit 9d25242c5c1411d692254cf910345d51c9a24fa3 02:10 paramat heh hmmmm wins 5$ 02:10 paramat thanks 02:10 Zeno` np 02:11 Zeno` it takes a while to bisect properly because the position info doesn't happen every time the player leaves 02:11 Zeno` so you have to make sure that with each bisect step you join/move/leave at least 2 to 3 times 02:11 est31 thanks for the bisect Zeno` 02:12 Zeno` np. (I also did it twice just to confirm) 02:14 paramat let's try to get this fixed over the weekend 02:14 Zeno` oh also I did this using minetest --server and joining as a client 02:14 Zeno` I suppose the same issue would exist for singleplayer games though because... well, it's the same 02:25 paramat Zeno`, to be clear you bisected for #4718 ? 02:25 ShadowBot https://github.com/minetest/minetest/issues/4718 -- Position resets / doesn't save. 02:26 Zeno` yeah 02:29 paramat so yes give it a few days to be fixed, if not, revert 02:30 sofar when does the position reset? randomly or at normal server shutdown? 02:31 sofar oh player leaving 02:32 Zeno` paramat for reference: c071efaa43 is the commit I started at as "good" 02:32 sofar 2016-11-04 19:31:57: ERROR[Main]: GUIEngine: execution of menu script failed: Failed to load and run script from /home/sofar/git/minetest/bin/../builtin/init.lua: 02:32 sofar 2016-11-04 19:31:57: ERROR[Main]: ...git/minetest/bin/../builtin/mainmenu/tab_multiplayer.lua:68: attempt to index a nil value 02:32 sofar welp 02:32 Zeno` (Improved lighting) and current head as "bad" (of course) 02:32 sofar that's a new bug 02:37 Zeno` yay new bug 02:38 * Zeno` celebrates 02:45 sofar I've seen it once before but shrugged it off 02:45 sofar hard segfault now so I'm not ignoring it anymore :) 02:55 Zeno` oh sorry sofar I missed your question. Yes, player leaving server 03:00 Zeno` #4730 03:00 ShadowBot https://github.com/minetest/minetest/issues/4730 -- Fix memory leak in ::safeLoadFile by Zeno- 03:00 Zeno` be prepared. It's a big PR to review 03:18 * paramat wasn't prepared for that 03:19 hmmmm wow yup 03:19 hmmmm great job nerz 03:20 hmmmm Zeno`: wasn't there a PR that fixed the memory leaks that existed? 03:20 hmmmm also why weren't those memory leaks caught in review for the initial mod security PR...? 03:20 hmmmm pretty obvious imho 03:21 hmmmm wonder who signed off on it 03:24 Zeno` hmmmm, I dunno. There is #4364 but maybe the issue wasn't there then? 03:24 ShadowBot https://github.com/minetest/minetest/issues/4364 -- couple of memory leaks fixes. by devnexen 03:24 hmmmm what is up with the std:: everywhere 03:24 Zeno` There are still other leaks btw 03:24 hmmmm why 03:25 hmmmm why why why 03:25 hmmmm don't we have static code analyzers for this type of crap? 03:25 Zeno` yeah a static analyzer would have found that 03:26 Zeno` i mean... it's a very obvious one 03:38 Zeno` unless I'm missing something? 03:39 Zeno` maybe I am 03:41 Zeno` don't think so though 03:45 Zeno` nope, nothing missed 04:38 sofar just merge 4730 if you're asking me 04:57 paramat sofar https://github.com/minetest/minetest_game/issues/1256#issuecomment-257971330 and following comments, look ok? 05:02 Zeno` sofar, yeah I will (it's trivial after all). There's no rush though 05:05 Zeno` actually I'll just merge now so I don't forget (if no objections) 05:12 paramat none from me 05:19 sofar Zeno`: for things like that, the trivial label really applies :) 05:20 Zeno` pity I couldn't apply it twice 05:21 Zeno` i couldn't even really bothered labelling it with anything *but* trivial lol 05:34 paramat game#1365 updated and ready 05:34 ShadowBot https://github.com/minetest/minetest_game/issues/1365 -- Default: Add 'acacia leaves simple' texture by paramat 05:39 paramat what's a good way to retrigger build checks for a PR, without editing it? 05:42 sofar I think only celeron55 can retrigger CI? 05:43 sofar If you have write access to the repo: On the build's detail screen, there is a button ↻ with the tooltip "Restart Build". 05:43 sofar hm 05:43 * sofar looks 05:44 Zeno` nah you can restart it 05:45 Zeno` I've done it more than once anyway (even long after the initial test) 05:47 Zeno` e.g. https://travis-ci.org/minetest/minetest/builds/170540426 05:47 Zeno` I can just press restart build 05:47 Zeno` ??? 05:50 paramat ok 05:51 paramat looks like closing and re-opening the PR thread works 05:51 Zeno` why? 05:52 Zeno` just click on the previous PR "details" and the restart button should be there 05:52 Zeno` s/PR Details/CI Details 06:01 paramat ok 06:05 paramat ugh at last game#1367 is done 06:05 ShadowBot https://github.com/minetest/minetest_game/issues/1367 -- Default, flowers: Improve plant selection boxes by paramat 06:52 thePalindrome :D 06:52 * thePalindrome feels useless 08:31 paramat nore sfan5 sofar game#1365 is ready for review. i'll merge game#1367 soon 08:32 ShadowBot https://github.com/minetest/minetest_game/issues/1365 -- Default: Add 'acacia leaves simple' texture by paramat 08:32 ShadowBot https://github.com/minetest/minetest_game/issues/1367 -- Default, flowers: Improve plant selection boxes by paramat 08:32 nrzkt paramat i'm looking for your comment and will answer on github 08:32 paramat ok 08:36 nrzkt #4718 is the official discussion right ? 08:36 ShadowBot https://github.com/minetest/minetest/issues/4718 -- Position resets / doesn't save. 08:37 paramat yes 08:37 nrzkt okay perfect, it seems at a moment we save but there is not player sao and this remove the attributes from the saved file... i will look at calls which can trigger a save in that case 08:37 nrzkt this save without SAO should be removed 08:40 nrzkt okay i found a case when we disable the playersao without saving 08:40 nrzkt it's historical 08:40 nrzkt Server::DeleteClient 08:41 nrzkt it triggers playersao->disconnected(); 08:41 nrzkt which is a lightweight version of PlayerSAO::removingFromEnvironment() 08:50 nrzkt okay i see the real problem, disconnected function should only make SAO removal, not remove the player & player SAO link because this will erase the save of the player 08:54 nrzkt okay for the timeout issue this is now properly saved, unline previous version, will do a PR for cleaning up the historic behaviour and have a proper saving 08:55 nrzkt the problem i think is when player was not properly disconnecting 09:03 nrzkt paramat, i did #4734 for this 09:04 ShadowBot https://github.com/minetest/minetest/issues/4734 -- PlayerSAO saving fix by nerzhul 09:04 Zeno` no, no, I *was* properly disconnecting 09:04 Zeno` and I bisected twice 09:04 Zeno` and tested about 20 times 09:04 nrzkt Zeno`, okay, then there are other behaviours Zeno` , but i'm sure this is due to PlayerSAO::disconnected function 09:05 nrzkt look at the PR you will see directly what problem happens and was hidden by previous code which has multiple cleanup functions for SAO... 09:05 nrzkt (and which was historical) 09:06 paramat #4725 related? there the player quickly rejoined before being timed out 09:06 ShadowBot https://github.com/minetest/minetest/issues/4725 -- Player reconnecting appeared to be outside of limits 09:07 nrzkt i don't know how this is possible for these limits because the bug was to not save anything about player except inventory 09:08 nrzkt and i tried it when testing my first PR (not the currently sent PR) and i didn't notice any changes for my coordinates 09:10 paramat thanks for the PR, hopefully fixer will test it 09:10 Zeno` I think it's "cheating" a bit to say that void PlayerSAO::unlinkPlayerSessionAndSave() fixes a historical issue :/ 09:10 nrzkt no problem, it's normal i fix a very old behaviour i didn't see in my first PR which was unclean. This PR permits to have only 1 way to remove and save the player at disconnection 09:10 nrzkt Zeno`, did you look at disconnected() function ? 09:11 nrzkt previously this function remove the link between RemotePlayer & PlayerSAO 09:11 nrzkt without this link, RemotePlayer::serialize didn't see the player SAO and then remove all attributes 09:11 Zeno` but that gets called with a *valid* disconnect 09:12 nrzkt maybe, but ... removingFromEnvironment is called before with a valid disconnect no ? 09:12 Zeno` if the PR fixes the issue then great... but calling it an historical issue just isn't right :/ 09:12 paramat will merge game1376 in a moment 09:12 nrzkt historical behaviour not issue :) 09:14 Zeno` I don't get how moving 4 lines into a function fixes the issue, but I'll test 09:15 nrzkt before my refactor, SAO attributes were in the session then saved inconditionnaly, after they were moved to SAO and read from this, but save is called only in two parts of code, the m_dirty flag check and the SAO::removingFromEnvironment. SAO::disconnected() didn't save the player but remove the link and if a save pass after disconnect => saving without attributes. With this PR save pass after disconnect, no problem because 09:15 nrzkt session and SAO are always linked and the link is only removed when removing from environment not before 09:15 nrzkt no no 09:15 nrzkt it's not that the more important 09:15 paramat merging .. 09:15 nrzkt the more important part is https://github.com/minetest/minetest/pull/4734/files#diff-da1e28445fc732755d2b64683bd94ee4L1347 09:15 nrzkt this line 09:16 nrzkt we set m_playersao to NULL too early in the disconnection process 09:16 Zeno` ok 09:16 nrzkt then this => https://github.com/minetest/minetest/pull/4734/files#diff-867322eb97b1d96001510bc7dfaf4225L180 09:16 Zeno` that makes more sense 09:16 nrzkt m_sao is null => no save 09:17 nrzkt now we have an assert, this is mandatory to have a SAO, no code part should save a player without a SAO :) 09:18 nrzkt and now, only unlinkPlayerSessionAndSave call setPlayerSAO(NULL) 09:18 paramat mer-ged 09:18 sfan5 paramat: game#1365 lgtm 09:18 ShadowBot https://github.com/minetest/minetest_game/issues/1365 -- Default: Add 'acacia leaves simple' texture by paramat 09:19 Zeno` nrzkt, building now 09:20 paramat thanks sfan 09:20 nrzkt i missed that setPlayerSAO(NULL) with previous refactor PR, my bad 09:20 nrzkt if i saw it when sending it i should have done #4734 PR into it 09:20 ShadowBot https://github.com/minetest/minetest/issues/4734 -- PlayerSAO saving fix by nerzhul 09:21 Zeno` nrzkt, paramat, ok that does fix the issue 09:21 paramat nice 09:22 Zeno` merge now I say and move on 09:23 Zeno` at least if it's merged any other potential bugs can be identified. Leaving things without it being merged is obviously not the best choice (IMO) 09:24 nrzkt Zeno`, then i merge it 09:24 paramat i'm fine with a merge 09:24 Zeno` yes, I see how it fixes the issue now 09:24 Zeno` +1 09:24 nrzkt just say it on the issue :) 09:24 nrzkt better than linking irc everytime :D 09:25 Zeno` once merged we're at _least* better off than before :) 09:25 Zeno` ok doing now 09:26 nrzkt thanks this is merged 09:26 Zeno` =) 09:26 Zeno` now we move onto bigger and better things! 09:26 nrzkt and sorry for the strange behaviour due to historical missed code :) 09:27 nrzkt now we have only one way to save player at disconnection :p 09:27 nrzkt Zeno`, nice memleak fix 09:27 Zeno` nrzkt, oh yeah... it was really advanced and hard to find lol 09:28 nrzkt memleak at each player save... shit ! 09:28 nrzkt oh no it's only for lua users 09:28 nrzkt :) 09:28 Zeno` I've known it for ages and then today finally got sick of seeing it 09:28 nrzkt i think minetest will use less memory with mods using saving to files xD 09:29 nrzkt i think there is more cleanup to do on our emerging/saving process but no time for it, but now it's very very better than before :) 09:31 Zeno` nrzkt, thanks for the quick fix btw 09:31 nrzkt no problem it's normal and a very blocking fix, and i get some time to track it 09:31 Zeno` nrzkt, is there a way to modify your new unit tests so that they could have picked that up? 09:32 Zeno` might be tricky because at unit test time the full server env is not up and running but.,... maybe 09:32 nrzkt Zeno`, i don't know really, because the calling to save is not very easy, if you look at the calling code you will need a whole environment & server :s 09:32 Zeno` yeah 09:32 Zeno` ok, I'm happy with the resolution for now :) 09:33 nrzkt the unit test only covers the full save & load to ensure it's consistent :( 09:33 Zeno` yeah... which is what I meant by might be tricky because at unit test time the full server env is not up and running but.,... maybe 09:33 nrzkt :) 09:33 nrzkt thanks for your help 09:33 Zeno` I dunno how to approach it... it would no longer really be a unit test but something different 09:34 Zeno` not a 30-minute job to implement though (if it's really possible at all without spending weeks or months on it) 09:34 nrzkt if you want better unit test we should enhance the callers part to be less linked with env :( 09:38 Zeno` well 09:38 Zeno` I don't want to do that lol 09:38 Zeno` I don't have 900 hours spare to make it possible xD 09:38 nrzkt :p 11:42 red-001 It seems to be quite easy to make minetest crash without a lua traceback 11:56 thePalindrome ? 12:04 sfan5 red-001: why do you need to test [off] and why here? 12:32 sfan5 can you cut this bullshit 12:32 sfan5 you'll only make me disable [off] 13:32 Foghrye4 How I can control a range, where entities unloaded from client side? I see them still interaction via server side, but i see meshes are already unloaded on a client side. 13:32 Foghrye4 *interact with player 13:33 Foghrye4 Is it possible at all? 17:04 Hijiri Could someone do a review of #4685? 17:04 ShadowBot https://github.com/minetest/minetest/issues/4685 -- Add control information to player interacts by raymoo 17:22 Foghrye4 Looking good for me. Too bad I'm not a developer and can't add approval mark. 17:34 est31 Hijiri: approved it 17:35 Krock v3f should support multiplications like this: v3s32 sf = myplayer->getSpeed() * 100; 17:36 Krock just a side note 17:37 est31 yes 17:38 est31 Hijiri: I think what Krock suggested would be a good thing to do 17:38 est31 https://github.com/minetest/minetest/pull/4685/files#diff-34f48ad91ac6c202ac60b0348ae90e30R941 17:38 Krock but that's trivial as the code was only moved 17:39 est31 yes, its not a strict requirement for the PR to get merged 17:44 Krock huh what? #4721 misses a check for empty lines 17:44 ShadowBot https://github.com/minetest/minetest/issues/4721 -- Separate optional from required mod dependencies in main menu by Wuzzy2 17:44 Hijiri est31: thanks 17:44 Krock except "table.concat" ignores them.. not sure 17:45 Hijiri What has been the opinion on a server-side "push" method on players, that sends a message to the client to add the supplied velocity to the player? 17:45 Hijiri I know people have been against something to set an absolute player velocity 17:46 Hijiri (though with a push method, you could make a janky velocity setter if you use push with the existing get_velocity) 17:46 Krock est31, table.concat does not ignore empty string contents, thus this pull is still incomplete 17:46 Krock or it simply opened a small issue 17:46 est31 Hijiri: that's something blocked on client scripting 17:47 est31 Krock: you mean empty lines in dependencies.txt? 17:47 Hijiri It doesn't seem like client scripting would give a better implementation of server-initiated player-pushing, since some message would have to travel to the client anyway 17:47 Krock yep 17:47 est31 did we support that 17:47 Hijiri client-side scripting would definitely be better with things like liquid pushing and thing sthough 17:47 Krock oh wait. it was already "broken" before 17:47 Hijiri est31: no, I'm talking about a hypothetical feature 17:48 Hijiri oh 17:48 Hijiri you were talking to krock 17:48 Krock so actually there's no change in function 17:48 est31 yes 17:48 est31 Krock: but if you want to make it ignore it, be welcome to make a PR :) 17:49 Krock est31, somewhat trivial, let's keep it this way until someone can't hold to open an issue :3 17:49 Hijiri anyway, my point is that one-off instantaneous changes to player velocity would not benefit significantly from client-side scripting 17:49 Foghrye4 Hijiri, on my opinion - a more freedom a better. I would like see if server could change a movement acceleration and speed, add a constant speed and acceleration to player, limit speed of camera and so on. 17:51 Hijiri Foghrye4: I thought those would be more controversial to add without client scripts, but I think I could see some use-cases where you don't need the extra responsiveness of client-side 17:51 est31 yes I agree 17:51 est31 it does make sense to send the knockback info the same time as the HP info is sent 17:52 est31 but the feature will be abused for liquid drift unless there is client side scripting 17:53 Foghrye4 But... but... this feature IS for liquid drift! 17:53 Hijiri I think liquid drift is one of the places you want more responsiveness, since the client will know that the player is in/out of liquid before the server does 17:54 est31 ^ 17:54 Foghrye4 A-a... 17:54 Hijiri e.g. you walk out of the water and you float a bit to the side still because of lag and the server hasn't sent the velocity update yet 17:54 Foghrye4 Now I understand. You are right. 17:54 Hijiri I don't think I agree that abuse of features is a reason to not have them, though 17:55 Hijiri The only danger I see is complacency with using hacks to get some result 17:55 Hijiri but you can already do some hacky stuff to simulate setting an absolute velocity/acceleration, by attaching the player to entities 17:56 Hijiri albeit no liquid push though 17:57 Foghrye4 Indeed. Example of such hacky stuff https://www.youtube.com/watch?v=ip6ibzX_Zv0 ^_^ 17:57 est31 I would agree to a change that adds knockback whose velocity change gets smaller over time 17:58 est31 and only additive changes, no set_velocity or something 17:59 est31 more like add_knockback(direction) and the length of the direction vector is the intensity 17:59 Hijiri est31: I was thinking of just adding to the player's velocity and letting the natural speed degradation slow it down 17:59 Hijiri speed decay* 18:00 est31 Hijiri: if that's indeed happening, then its good 18:00 est31 Hijiri: also make sure that the speed anticheat still works with it, you need to simulate the effects server side 18:00 Hijiri right, I hadn't thought of that 18:01 Hijiri I haven't written any code yet, by the way 18:01 Hijiri oh yeah, that would make it more difficult 18:01 Hijiri since the server doesn't normally calculate the speed decay or anything 18:03 est31 plus in the ideal case, there should be some way to make it work when the player is attached to a lua SAO 18:03 est31 e.g. then the callback can be redirected to the SAO object 18:04 Foghrye4 est31, that should be leaved to modders. 18:04 est31 Foghrye4: yes, it should be redirected, and the SAO can then handle it 18:05 est31 the lua code inside the sao* 18:05 Hijiri a new callback? 18:10 est31 guess so 18:59 Fixer anyone feels we need jungle dirt? 19:01 Krock me not 19:01 Krock regular dirt is OK, I think 19:08 red-001 not really 19:10 red-001 I guess I wouldn't mind if the node would also fit in in other dense forests 21:17 Hijiri something like root dirt 21:18 Hijiri root dirt redemption 23:10 Fixer can confirm player save/load problem was fixed