Minetest logo

IRC log for #minetest-dev, 2016-05-30

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

All times shown according to UTC.

Time Nick Message
00:03 Megaf [23:05:43] <celeron55> it pretty much has to be a condition that silently kills a thread without stopping the rest of the program
00:03 Megaf OOM?
00:04 est31 No!
00:04 est31 threads can't be killed because of the OOM killer
00:04 est31 the OOM killer kills whole processes, and not single threads
00:04 est31 and, it only exists on linux afaik
00:04 est31 not on windows
00:05 Megaf well, the bug is creepy and weird, so, who knows
00:06 est31 celeron55 is right it sounds like a horror movie for programmers
00:06 Megaf but it would be nice knowing what DB backend those servers are using
00:15 afflatus left #minetest-dev
00:33 STHGOM joined #minetest-dev
01:20 fling joined #minetest-dev
01:52 Tmanyo joined #minetest-dev
02:02 Grandolf joined #minetest-dev
02:12 Grandolf joined #minetest-dev
02:21 reg7777 joined #minetest-dev
03:10 Puka_ joined #minetest-dev
03:14 Rate85 joined #minetest-dev
03:15 Rate85 left #minetest-dev
03:18 Rate85 joined #minetest-dev
03:18 Rate85 left #minetest-dev
03:25 OldCoder
03:25 OldCoder https://github.com/minetest/minetest/pull/4170
03:25 OldCoder https://github.com/minetest/minetest/issues/4171
03:25 OldCoder Pull Request and associated Issue, submitted as suggested ^
03:25 OldCoder
03:35 hmmmm why isn't sapier the one making a pull request then?
03:35 hmmmm also that doesn't fix any problems, that just stops trying to resend a packet that never gets acked
03:36 hmmmm the correct solution would be to find out why that packet is never getting acked
03:36 hmmmm because now with that "fix", reliable packets aren't guaranteed delivery anymore.  AKA they're not reliable.
03:36 hmmmm also could you PLEASE stop sending blank lines?  seriously
03:45 est31 hmmmm, after some time the peer is expected to time out
03:46 est31 apparently that doesnt happen for some reason
03:46 est31 but I am really wondering why
03:46 est31 I'm rejecting my +0.5 I gave
03:46 OldCoder hmmmm, Sapier has abandoned the project, correct?
03:46 hmmmm i don't know
03:47 OldCoder And, complete solution or not, without this patch...
03:47 OldCoder It's been over a year, hmmmm
03:47 OldCoder And, complete solution or not, without this patch...
03:47 OldCoder MT isn't even runnable for some server hosts
03:47 hmmmm really?
03:47 OldCoder I was panicked in late 2014
03:47 hmmmm which server hosts are these, because I would think that if it were readily reproducible, there'd be no issue with fixing it
03:47 OldCoder I'd spent 2 years on the project, and suddenly my worlds didn't work
03:47 OldCoder There were about 4 at the time
03:48 OldCoder Presently, I'm told there are more; Fixer seems to know who they are
03:48 OldCoder One of them you know well...
03:48 OldCoder I could be mistaken, ask Fixer, but supposedly Xanadu is affected
03:48 OldCoder Readily reproducible BTW meant nothing in this case
03:48 OldCoder I came up with my own fix, then Zeno` did...
03:49 OldCoder But Sapier's fix was clearly the simplest and the safest
03:49 OldCoder
03:50 hmmmm i'm sure.
03:50 est31 hmmmm, read the code
03:50 est31 the peers get removed
03:51 est31 its not that it starts not caring if there is no ack for a reliable packet
03:51 est31 the thing is however
03:51 hmmmm i read the code
03:51 hmmmm ohh
03:51 est31 why does the client not time out already above
03:51 hmmmm whoops, i missed that, didn't realize it added to timeoutted_peers
03:52 est31 so the patch is generally okay
03:52 hmmmm needs the code style fixed though
03:52 est31 just there is basically a bug client side
03:53 est31 because it isnt because of a network problem
03:53 est31 if it were, the client would time out normally
03:53 est31 it calls isTimedOut on the client above
03:55 hmmmm is that really what isTimedOut supposed to do
03:56 OldCoder It's been a year, est31, so more time for a number of people to weigh in is fine. But I've posted this PR because server owners demanded it.
03:56 est31 OldCoder, these are political arguments you bring
03:56 OldCoder Hardly
03:56 OldCoder They are practical
03:56 est31 "server owners demand it"
03:56 est31 that is a political argument
03:56 OldCoder Oh? Is it political if...
03:56 OldCoder server owners cannot run their worlds?
03:56 OldCoder At all?
03:57 OldCoder In my case, the logs reached, literally, 5 gigabytes of nothing but "RESEND RELIABLE"
03:57 hmmmm there are two other solutions you mentioned
03:57 OldCoder This patch rescued two years, at the time, of effort
03:57 hmmmm why aren't those in a PR?
03:57 hmmmm why hasn't this been an active issue if it's as critical as you say it is?  why is the only activity happening now
03:58 OldCoder hmmmm, my own patch and Zenos` are not applicable... they were to the same code and Sapier's patch is superior...
03:58 OldCoder Regarding your 2nd question...
03:58 hmmmm why don't you let us be the judge of which piece of code is 'superior'
03:58 OldCoder There is no need to rush the discussion
03:58 OldCoder Hang on...
03:58 est31 Well the thing is, the current behaviour is just as fine as well
03:58 OldCoder est31, Hm? Go on
03:58 est31 but out of some apparent reason the client does not send ack packets
03:58 OldCoder Gigabytes of RESEND RELIABLE messages are hardly fine
03:59 est31 OldCoder, agreed but I am not talking about that
03:59 OldCoder hmmmm, the problem has apparently increased as of 0.4.14
03:59 est31 I am talking about the patch
03:59 est31 the behaviour its adding should not be needed
03:59 OldCoder Which is the reason I have been asked to submit it
03:59 OldCoder est31, yes, there is an underlying problem
03:59 OldCoder Go on
04:00 OldCoder Actually, isn't the issue...
04:00 est31 hmmmm, isTimedOut is supposed to check when the client has last sent a packet
04:00 OldCoder Not that the client does not send ACK packets, but that a queue fills up...
04:00 OldCoder faster than expected and than can be handled?
04:00 est31 and if that's too far in the past, it considers the connection to be timed out
04:00 est31 OldCoder, in theory this should be called very rarely
04:01 est31 not millions of times often
04:01 OldCoder In practice, it's millions of times
04:01 OldCoder Ninja
04:01 OldCoder Right, again, there is an underlying problem
04:01 est31 OldCoder, have you customized your step maybe?
04:01 OldCoder est31, go on; explain?
04:01 OldCoder Customized what?
04:01 hmmmm est31:  from what I am seeing it checks the last time a packet was received from the client
04:01 est31 it can be that if you decrease the server step value that then this gets called more often
04:01 est31 hmmmm, yes
04:02 est31 hmmmm, so if there has been a packet received from the client it means there is no network problem
04:02 hmmmm what if the client thinks the server received the ack though
04:02 hmmmm and it just continues sending packets with newer acks
04:02 OldCoder Note: I've emailed Sapier and asked him to discuss this if he can
04:03 hmmmm also please hold on i'm reading code at the same time i'm talking
04:03 est31 hmmmm, yeah something like that may be the underlying theory
04:03 OldCoder est31, no, I'm using virgin MT except for your own password patch and this one
04:03 hmmmm ok
04:03 hmmmm from what I'm understanding
04:03 est31 OldCoder, ok
04:04 hmmmm ConnectionReceiveThread::receive() loops around getting data from the UDP socket, parses the lowest-level protocol headers, does some peer ID accounting
04:04 * OldCoder theory in 2014 was that mobile triggered this. He does not know why 0.4.14 is more of an issue.
04:04 hmmmm like if it's not already there then it'll create a new peer, get that peer's addr, and so on
04:04 hmmmm directly after that set of actions, resetTimeout is called
04:05 hmmmm no ack logic is done before the recv timeout is reset
04:05 hmmmm in other words my theory is probably the right one
04:05 OldCoder Simple to test, hmmmm ? Is there a patch I could give to Fixer...
04:05 OldCoder to pass on to TenPlus1 and others to debug this?
04:05 OldCoder A diagnostic patch, as opposed to a corrective one, would be fine
04:08 est31 I've done connection.cpp diagnostics last week already
04:08 est31 spent > 10 hours with a simple bug
04:08 est31 no thanks
04:08 Zeno` joined #minetest-dev
04:08 est31 but generally I like the PR
04:08 Zeno` joined #minetest-dev
04:09 est31 just it would be bad if the underlying client bug would not be fixed
04:09 est31 maybe its also a server bug in some way
04:09 OldCoder Zeno`, I have submitted Sapier's network patch; you recall working on this a year ago, I assume
04:09 OldCoder The primary concern is that there may be an underlying bug
04:09 Zeno` yes, I don't recall the details though
04:09 OldCoder That the patch does not address
04:09 OldCoder https://github.com/minetest/minetest/pull/4170
04:10 OldCoder It was essentially that server owners had 5,000,000 RESEND RELIABLE messages at a time
04:10 OldCoder It made for tedious reading :-)
04:10 Zeno` Yeah I remember that, I just don't remember the details of the patch (looking now)
04:10 hmmmm est31:  I really don't know a whole lot about connection.cpp; both the server and client are responsible for acking eachother's reliable packets, right?
04:10 hmmmm or does a reliable packet from the server require an ack from the client but not vice-versa?
04:11 hmmmm or something other like that
04:11 est31 hmmmm, yes
04:11 est31 both need to ack
04:11 hmmmm ook yeah
04:11 est31 there is just receiving party and sending one
04:12 est31 the only place connection.cpp really distinguishes between client and server is with peer ids
04:12 hmmmm then imho the bug is that the case where:  packets are indeed being sent, it's just that one of the packets aren't ever getting acked because the client thinks it did that already
04:12 est31 the client peer id is set by the server, the server peer id is statically fixed
04:12 hmmmm and right now this case isn't handled
04:12 hmmmm then sapier's fix would be the right one
04:12 hmmmm but i have nothing to compare it against
04:13 OldCoder What would you be comparing?
04:13 est31 the question is though whether the client omits an ack if it got a packet it already got before
04:13 est31 or if it re-sends a second ack
04:13 est31 which would be the right way to do it
04:13 hmmmm shrug
04:13 hmmmm Zeno:  could I see your version of the fix for this?
04:14 est31 line 2555
04:14 est31 /* seems like our ack was lost, send another one for a old packet */
04:16 Zeno` hmmmm, if I can find it
04:16 Zeno` it was a long time ago
04:16 hmmmm thanks
04:17 Tmanyo joined #minetest-dev
04:17 Zeno` from memory it was very similar to this PR
04:17 hmmmm est31:  hmmm pretty damning case for a bug on the client side then.
04:18 est31 it might be that the underlying bug is now fixed even.
04:18 est31 #4138 has caused RESEND RELIABLE behaviour
04:18 ShadowBot https://github.com/minetest/minetest/issues/4138 -- Network: initialisation intolerant to packet reordering
04:19 Tmanyo joined #minetest-dev
04:19 est31 OldCoder, is the bug occuring with latest master servers?
04:20 hmmmm he can't control the version of the clients connecting
04:20 AnotherBrick joined #minetest-dev
04:20 hmmmm prolly this is a new server paired with old clients
04:20 est31 423d8c1b0d3841f6ce9756ab0d6b2e10408fc89b fixed the bug in the server
04:20 OldCoder est31, what is a master server?
04:20 est31 it was a server bug
04:21 est31 OldCoder, its the server that manages the server list
04:21 est31 OldCoder, servers.minetest.net
04:21 OldCoder Ah... But, are there worlds on that server? Sorry, I would not know
04:21 est31 but its unrelated to what we are discussing
04:21 OldCoder O.K.
04:22 kahrl "latest master" "server", not "latest" "master server"
04:22 est31 oh
04:22 est31 hehe
04:22 hmmmm personally i feel like Connection is fucked
04:23 hmmmm there's no way this bug and others is going to be fixed until it's rewritten
04:23 Zeno` hmmmm, I can't find my patch (it was over a year ago and I don't seem to have pushed it anywhere)
04:23 hmmmm might as well just patch it up
04:23 est31 hmmmm> there's no way this bug and others is going to be fixed until it's rewritten
04:23 est31 why
04:23 hmmmm it's not like it's exactly some kind of artwork piece
04:23 est31 I do agree its a blast site
04:24 est31 but i think the discussion "lets repeal and replace every line of connection.cpp" is separate
04:24 hmmmm right
04:24 hmmmm my point is
04:24 hmmmm manhours are best put into writing new code that is unit tested from the start, documented, and maintainable
04:24 hmmmm not spending weeks on tracking down the root cause for bugs like this
04:25 hmmmm so i approve of the way this patch solves the issue
04:25 * OldCoder thinks the network rewrite discussion will be interesting
04:25 hmmmm just... be sure to fix the style errors before merging
04:25 est31 Nah, I disagree with that
04:25 hmmmm maybe increase the reliable retry limit to 10 (linux's default is 15 for TCP actually)
04:26 hmmmm est what part do you disagree with
04:26 est31 its "lets piss on the wall because the dogs do it too and the building has to be re-built anyway"
04:26 hmmmm i'm not gonna tell you how to spend your time, i'm just saying it's probably a lost cause
04:26 OldCoder est31, the building needs to be occupied during renovations, true?
04:26 OldCoder That is the key issue
04:27 OldCoder If all of this code is going to go...
04:27 OldCoder and, as many have said, it probably should go...
04:27 OldCoder Things need to work in the interim
04:27 hmmmm how many times has connection.cpp been patched with temporary workarounds
04:27 hmmmm for bugs that people couldn't find the root cause of
04:27 OldCoder Not so much in the past year?
04:28 est31 In this case we can just simply add // in front of the place where we log the RESEND RELIABLE
04:28 est31 OldCoder was complaining about RESEND RELIABLE using 5 gb of log place
04:28 OldCoder Not a solution
04:28 OldCoder It is not the disk space
04:28 est31 if it doesnt get logged, there is no problem
04:28 OldCoder It is the lockup
04:28 OldCoder No, not true
04:28 hmmmm ..
04:28 hmmmm He's being sarcastic
04:28 OldCoder It is close to a hard infinite loop
04:28 OldCoder Hm?
04:28 hmmmm est31:  there is a clear happy medium
04:28 OldCoder Folks, after 4 years, you know I'm literal
04:29 hmmmm OldCoder:  I don't really know you that well to be honest
04:29 OldCoder Not the point... Not clear about how sarcasm would even be humorous here
04:29 OldCoder Anyway, carry on
04:29 hmmmm est31:  in any case, I +1 the patch provided for my reasons provided
04:30 est31 okay
04:30 est31 what about the following:
04:30 est31 we keep the PR open for two weeks, and give contributors a chance to find the actual cause of the bug
04:30 est31 if they do, find
04:30 est31 fine*
04:30 est31 if they don't we merge it
04:30 hmmmm well, OK
04:31 hmmmm i'm fine with waiting
04:31 OldCoder Ditto
04:31 * OldCoder will notify Fixer the matter is under review
04:31 est31 OldCoder, thats wrong
04:31 est31 its no fix
04:31 OldCoder est31, do you plan to look at this? Do you need a server that is manifesting the problem?
04:32 OldCoder And what is no fix?
04:32 est31 we are waiting for people to show up and fix it
04:32 OldCoder "Fixer" is a name, BTW
04:32 OldCoder Well, nobody will, you know thta
04:32 OldCoder that *
04:32 OldCoder If you do not plan to research this, what is the point?
04:32 est31 and if not, we just add this patch and call it a day
04:32 OldCoder O.K.
04:32 OldCoder Seems pointless, but
04:33 est31 not because the patch fixes the bug, but because it alleviates it
04:33 * OldCoder is game
04:33 OldCoder Right
04:33 OldCoder But if you know nobody is going to go through the code...
04:33 OldCoder what is the point?
04:33 est31 it alleviates it better than commenting out the RESEND log message
04:33 * OldCoder notes that he is being nice and not, apparently, sarcastic
04:33 est31 but it is no actual fix
04:33 OldCoder Right
04:33 OldCoder And point?
04:33 OldCoder "The show must go on"
04:33 OldCoder The worlds need to run
04:34 est31 OldCoder, because I do not like the attitude
04:34 OldCoder "Attitude" ? There is none but your own... I've spoken simply and hmmm* is focused on the technical issues
04:34 OldCoder You, he says, have been "sarcastic"
04:34 OldCoder
04:34 est31 lets merge this we do not know really whats happening but we dont care
04:35 Zeno` +1
04:35 OldCoder Is that a proposal or sarcasm?
04:35 OldCoder We do care
04:35 est31 no
04:35 est31 I forgot the "
04:35 est31 its the attitude
04:35 OldCoder See above
04:35 est31 i am criticising
04:35 est31 I know for you as server owner there is not much of a difference
04:35 est31 but for me as developer there is
04:35 OldCoder Sarcasm is "attitude". A workable fix is not.
04:36 OldCoder If you wish to delay this for two weeks when you know there is no point to it...
04:36 OldCoder Proceed
04:36 OldCoder
04:36 hmmmm
04:36 est31
04:36 hmmmm
04:36 est31
04:36 hmmmm
04:36 est31 :)
04:36 hmmmm we're coding in Whitespace
04:36 OldCoder A marvelous tongue
04:37 Zeno` My problem with this bug is that I tried for weeks to reproduce it (I still had mtzeno server at the time) and could not, so I couldn't really debug it. I tested this patch a year ago on my server and encountered no problems though (albiet the code path was never executed because I didn't have the issue)
04:37 OldCoder Yes, it was oddly capricious
04:37 OldCoder But quite real
04:38 Zeno` I see that quite a few servers are experiencing it lately though
04:38 OldCoder Hm... a moderate number
04:38 OldCoder Not sure I'd say "quite a few"
04:38 Zeno` Ok, moderate
04:38 OldCoder But the issue needs to be addressed
04:38 est31 OldCoder, I believe that sapier hasn't proposed this patch to be added to git master either
04:38 OldCoder est31 wishes to delay the formal fix for two weeks...
04:39 OldCoder est31, what is your point? He has left MT
04:39 Zeno` But I've seen the issue discussed in -project by more than one person in the last aprrox. month
04:39 OldCoder He told me to submit it
04:39 OldCoder Anyway, it seems to be settled...
04:39 OldCoder est31 wishes, I'm told, to be sarcastic (sorry, I have difficulty detecting that) and to delay the fix for two weeks...
04:40 hmmmm Zeno`:  Did you try connecting with an older client??
04:40 OldCoder for no purpose. But if it will settle things, the compromise seems fine.
04:40 Zeno` hmmmm, I don't remember but probably not
04:40 OldCoder hmmmm, 0.4.14 clients apparently demonstrate the issue
04:40 hmmmm with 0.4.14 servers/
04:40 hmmmm ?
04:40 OldCoder And in 2014 IIRC 0.4.X clients of the period did as well
04:41 OldCoder Not sure about the matchup...
04:41 hmmmm you know what, I don't think this correlation means anything at all
04:41 OldCoder In my case, I blamed mobile clients for triggering a server bug
04:41 OldCoder O.K.
04:42 hmmmm it's probably just because your server and the clients connecting to it are using potatos for network connections and it perturbs these odd bugs that somebody would never see under normal circumstances
04:43 OldCoder "potatos" ?
04:43 * OldCoder takes that as a metaphor for a Bell Curve of different types of connections
04:44 hmmmm actually I created a protocol similar to this one for aircraft to ground station comms over satellite radios and we used IPNetSim to replicate all these types of real world scenarios
04:44 OldCoder How did it work out?
04:44 hmmmm wondering if there's a pure software version of IPNetSim that we can use to test this
04:44 est31 there is netem
04:44 OldCoder You mean, fuzz up the connections?
04:44 est31 part of the linux kernel
04:44 hmmmm not just fuzz up the connections
04:44 est31 but I do not know how to get it work
04:44 hmmmm it does all kinds of things
04:45 hmmmm simulates dropped packets, saturated lines, packet re-ordering, basically all the worst case scenarios
04:46 hmmmm corrupts packets too :-)
04:46 OldCoder Useful in general to test MT... but we already know there will be problems
04:46 OldCoder So, there is an agreement in principle on the current PR?
04:47 OldCoder est31 wishes it held for 2 weeks...
04:47 OldCoder despite the fact this will change nothing... and will not block it subsequently?
04:47 OldCoder This is pointless, but acceptable
04:47 hmmmm it's time to see if he can find the root cause
04:47 OldCoder He said no, hmmmm
04:47 est31 I agree with the principle of the change but I do not agree with calling it a fix for the issue
04:47 hmmmm what?
04:47 OldCoder He has no plans to look at it
04:47 hmmmm okay then
04:47 OldCoder He is waiting for somebody else to do so
04:47 est31 and therefore I demand the two weeks pause
04:47 hmmmm it's 2 weeks for other contribtors if they're interested in solving this
04:47 OldCoder est31, correct?
04:47 OldCoder Very well
04:48 hmmmm i don't see any issue here
04:48 * OldCoder is satisfied and thanks the parties who have spoken
04:48 hmmmm again i've never personally encountered this bug
04:48 hmmmm and i don't hear about it like all the time the way you make it out to seem
04:48 OldCoder Right... it was frustrating, believe me, to be the...
04:48 * OldCoder is quite literal, hmmmm. He states facts, not "seems".
04:48 hmmmm would be way higher on our radars if it were half as prevalent as it sounds
04:49 OldCoder Right... it was frustrating, believe me, to be the only person in late 2014 who was genuinely scr*wed by this
04:49 OldCoder But the problem has been around for nearly 2 years
04:49 OldCoder For multiple worlds
04:49 hmmmm what, are you VanessaE?
04:49 OldCoder hm?
04:49 hmmmm the *
04:49 OldCoder How does VE figure into this?
04:49 * OldCoder is confused
04:49 hmmmm the *
04:49 * VanessaE has been pinged..
04:49 OldCoder Hm?
04:49 hmmmm "G*d dammit"
04:49 * OldCoder remains quite confused
04:49 hmmmm wth
04:50 hmmmm lol whatever
04:50 OldCoder We have a settlement anyway
04:50 OldCoder Ahhh
04:50 OldCoder Got it
04:50 OldCoder Look, just trying to maintain decorum
04:50 OldCoder Figured you as moderator would appreciate it
04:50 OldCoder "scr*wed" seemed more professional
04:50 hmmmm I'll start randomly replacing letters with asterisks in my speech too in an attempt to fit in
04:50 OldCoder Not fit in... but to abide by consensus principles
04:51 OldCoder When in doubt, it's best to be cautious
04:51 OldCoder Again, thank those who have talked. Let's see if there are further insights in the first half of June.
04:52 * OldCoder is going to go investigate the available of a late night snack
04:52 OldCoder o/
04:52 hmmmm okay, sounds G*od
04:52 OldCoder thank you to hose *
04:52 OldCoder hmmmm, scr*wed is hardly random
04:52 OldCoder whereis G*od certainly is
04:52 hmmmm Jose who?
04:52 OldCoder Jose?
04:52 * OldCoder is lost, now
04:52 hmmmm You said thank you to hose
04:52 hmmmm if hose is a name, you probably mean Jose
04:52 OldCoder to those * <- typo in a typo correction
04:52 est31 sapier officially left minetest?
04:53 OldCoder Thank you to those who have commented
04:53 hmmmm Ok i'm done screwin with you
04:53 OldCoder Officially? I doubt it
04:53 hmmmm later.
04:53 OldCoder Very well
04:53 VanessaE est31: not officially, in fact last time he showed up, he said he was just taking a long break
04:53 VanessaE school or some such? can't remember
04:53 OldCoder If you "do not know" me, hmmmm, be advised I do not always know when people are "screwin" with me
04:53 OldCoder So, the fun to be had is limited
04:53 est31 okay thanks VanessaE
04:53 Tmanyo joined #minetest-dev
04:53 OldCoder o/
04:54 hmmmm yaay fun
04:54 * OldCoder takes people at face value initially. Eventually he likes to have fun, himself.
04:54 OldCoder :D
05:01 Zeno` very confusing
05:01 Zeno` https://github.com/minetest/minetest/blob/master/src/script/cpp_api/s_security.cpp#L293   and then  https://github.com/minetest/minetest/blob/master/src/script/cpp_api/s_security.cpp#L250
05:01 hmmmm std:: everywhere
05:01 hmmmm whyyy
05:01 Zeno` at line 293 the macro implements the exact code that is below line 293
05:01 Zeno` same a bit further on
05:02 hmmmm looks like it was a case of confusion
05:02 est31 Zeno`, its not 100% the same
05:02 est31 the macro has an additional if (fd)
05:03 est31 but yeah +1 I wonder why its there
05:04 Zeno` Now I can't remember why I was looking at this file
05:05 Zeno` est31, I think it must have been an oversight when cleaning the code up or something
05:07 Zeno` the macro is actually sort of wrong because fclose(fp) can change errno IIRC
05:07 est31 yeah
05:07 est31 but afaik it only changes it if the fd is invalid
05:08 Hunterz joined #minetest-dev
05:11 Zeno` The  fclose()  function may also fail and set errno for any of the errors specified for the routines close(2), write(2)
05:11 Zeno` or fflush(3).
05:11 Zeno` *shrug*
05:11 Zeno` Is there are utility to annotate source code?
05:11 Zeno` I'd like to add notes for stuff I want to come back to
05:12 Zeno` I suppose I could fix it now
05:17 Zeno` #4172
05:17 ShadowBot https://github.com/minetest/minetest/issues/4172 -- Remove unused code in s_security.cpp by Zeno-
05:17 Zeno` now back to what I was doing
05:17 paramat joined #minetest-dev
05:23 Zeno` est31, #3859 is ready? I note your comment regarding the return values but is there a better way?
05:24 ShadowBot https://github.com/minetest/minetest/issues/3859 -- Add minetest.check_password_entry callback by est31
05:26 est31 well shrug its all your opinion that having true/false/nil is bad
05:30 Zeno` est31, http://irc.minetest.ru/minetest-dev/2016-05-28#i_4621145
05:31 emptty joined #minetest-dev
05:31 Zeno` I think that's the only reason it was mentioned
05:31 est31 I have heard that argument but I dont think users are that stupid
05:31 Zeno` probably not
05:32 Zeno` I really don't have *strong* thoughts either way but since it was mentioned in the PR comments *shrug*
05:33 Zeno` I'll merge it later I guess (unless you or someone else does)
05:34 est31 #4173
05:34 ShadowBot https://github.com/minetest/minetest/issues/4173 -- Initial Gamepad support by est31
05:38 Zeno` I wish github put the .h files first but I supposed it's sorted alphabetically
05:51 Zeno` Big PR est31 :)
05:52 est31 worked a week on it
05:55 Zeno` It looks good from what I can see. I have some minor nitpicks but I might not mention them (e.g. I don't like bs())
05:55 Zeno` but *shrug*
05:56 Zeno` I'd prefer it was called bitpos() or something more obvious tbh
05:56 Zeno` up to you!
05:57 Zeno` now I need a gamepad :)
05:57 est31 bs was meant for sparing characters
05:58 est31 I do like << notation
05:58 Zeno` yeah
05:58 Zeno` bp then!
05:58 Zeno` lol
05:58 est31 perhaps I'll make JLO_B_PB a parameterized macro
05:59 Zeno` maybe yeah
05:59 Zeno` est31, https://github.com/minetest/minetest/pull/4173/files#diff-18513665750ef5adf42b5ec29e14162eR1615
06:00 Zeno` I'm only looking at the PR on github atm so I could be missing something, but are those functions used in more than one file?
06:00 Zeno` The only reason I suggested they might be better as inline functions is for performance
06:01 est31 so you mean inline bool?
06:01 Zeno` yeah
06:01 est31 they are only used in game.cpp
06:01 est31 inline then
06:02 Zeno` I know it's a small issue but for something like input I think that little performance changes do matter
06:05 Zeno` I'm afk for a bit. Nice work on the gamepad est31
06:05 est31 thx
06:34 paramat hi nore please could you review game#1076 game#1106 ?
06:34 ShadowBot https://github.com/minetest/minetest_game/issues/1076 -- Fire: Ignite tnt, gunpowder, permanent flame above coalblock by paramat
06:34 ShadowBot https://github.com/minetest/minetest_game/issues/1106 -- Default: New mese texture. Add missing texture credits by paramat
06:41 paramat thanks, i'll merge some stuff to game later
06:43 ssieb joined #minetest-dev
06:49 nrzkt joined #minetest-dev
08:09 Puka joined #minetest-dev
08:15 celeron55 joined #minetest-dev
08:38 OldCoder joined #minetest-dev
08:57 DFeniks joined #minetest-dev
09:20 lisac joined #minetest-dev
09:52 Calinou joined #minetest-dev
10:31 Sockbat joined #minetest-dev
10:47 paramat #4163 updated and ready for review
10:47 ShadowBot https://github.com/minetest/minetest/issues/4163 -- Sky: Darker, bluer sky and improved horizon haze at night by paramat
10:51 paramat will merge game#1106 game#1119 in a moment
10:51 ShadowBot https://github.com/minetest/minetest_game/issues/1106 -- Default: New mese texture. Add missing texture credits by paramat
10:51 ShadowBot https://github.com/minetest/minetest_game/issues/1119 -- Doors: pass pointed_thing to on_rightclick() callback. by sofar
10:57 paramat merging
11:00 paramat done
11:00 Fixer joined #minetest-dev
11:41 rubenwardy joined #minetest-dev
11:52 damiel joined #minetest-dev
12:12 xunto joined #minetest-dev
12:17 blaze joined #minetest-dev
12:35 lisac joined #minetest-dev
12:45 Hunterz will be possible implement aperoiodic tiling like this: http://imgur.com/E7X7BWv ?
12:47 Zeno` is everyone happy with #3859 now?
12:47 ShadowBot https://github.com/minetest/minetest/issues/3859 -- Add minetest.check_password_entry callback by est31
12:47 Zeno` The only outstanding question, I guess, is whether a format error should log a message
12:49 Zeno` If that's the only issue I'll add a message to errorstream myself while merging
12:49 Zeno` (if necessary)
12:55 paramat Hunterz #2746
12:55 ShadowBot https://github.com/minetest/minetest/issues/2746 -- Randomized textures (sprite strip)
12:59 DI3HARD139 joined #minetest-dev
13:03 Zeno` ok, I'll merge 3859 shortly (I've added errorstream << "check_password_entry: invalid format" << std::endl; for invalid formats)
13:06 Zeno` here is the patch as I will apply it: https://gist.github.com/Zeno-/9d9fe7a75e2e60aa24b1d5544e57a8f0
13:06 Zeno` only change is line 90
13:07 Sokomine i'd love to have #4169 merged. took me some time to figure out how to revoke that unwanted priv, and it wasn't just only me who didn't know. sometimes protection is desirable even in singleplayer worlds
13:07 ShadowBot https://github.com/minetest/minetest/issues/4169 -- do not grant protection_bypass priv automaticly by Sokomine
13:07 Zeno` (and rebased)
13:07 Zeno` it has been
13:07 Zeno` :P
13:12 Sokomine ah, thanks :-) ought to have checked the replies sooner
13:17 Zeno` 3859 merged
13:22 est31 joined #minetest-dev
13:22 srifqi joined #minetest-dev
13:22 est31 No Zeno`
13:22 est31 please amend the commit you pushed
13:22 Zeno` in what way?
13:22 est31 its within the ten minutes
13:22 est31 either remove the errorstream entirely, or make it a warningstream
13:22 est31 and add the name
13:22 est31 name is important otherwise server owners cant debug
13:22 Zeno` I'll change to warning
13:23 est31 and errorstream gets sent to everybody
13:24 Zeno` est31, add what name?
13:24 est31 the player name
13:24 Amaz joined #minetest-dev
13:24 est31 std::string name = luaL_checkstring(L, 1);
13:24 est31 ^ that one
13:25 Zeno` warningstream << "check_password_entry: invalid password format for "
13:25 Zeno` name << std::endl;
13:25 est31 and dont use check_password_entry
13:25 est31 use __FUNCTION__
13:25 Zeno` is __FUNCTION__ standard now?
13:25 est31 idk
13:25 est31 hardcoding the function name makes life hard for people who want to rename the function
13:25 est31 or well
13:25 Zeno` warningstream << "Invalid password format for " name << std::endl;
13:26 est31 maybe its okay to go with check_password_entry as well
13:26 Zeno` It's minor, I'll leave it for now
13:26 est31 what you said is okay too
13:26 Zeno` ok warningstream << "Invalid password format for " << name << std::endl; it is
13:28 Zeno` forced update
13:32 srifqi http://stackoverflow.com/a/597081
13:35 STHGOM joined #minetest-dev
13:43 paramat #4174 < hmmmm
13:43 ShadowBot https://github.com/minetest/minetest/issues/4174 -- Mgv7: Always carve river channels WIP by paramat
13:46 srifqi paramat, so your PR would make river to build a cave or a steep canyon?
13:47 paramat no, it just means rivers are continuous and never blocked by a wall
13:48 srifqi so, the place that intersect with river will be removed?
13:51 DI3HARD139 How would one enable debug when compiling minetest?
13:51 paramat yeah
13:52 paramat as you can see in the 2nd and 3rd screenshots
13:53 paramat you mean a debug build?
14:31 Taoki joined #minetest-dev
14:51 paramat joined #minetest-dev
14:57 KaadmY joined #minetest-dev
15:25 endev15_ joined #minetest-dev
15:32 Void7 joined #minetest-dev
15:38 Krock joined #minetest-dev
15:46 jin_xi joined #minetest-dev
15:51 paramat left #minetest-dev
16:15 hmmmm joined #minetest-dev
16:43 Hunterz joined #minetest-dev
16:47 nrzkt joined #minetest-dev
16:52 BrandonReese joined #minetest-dev
16:53 srifqi joined #minetest-dev
16:53 Void7 joined #minetest-dev
16:57 Zeno` anyone here play chess?
16:58 Zeno` oops, wrong channel
17:11 sofar 1. e4
17:29 ptv joined #minetest-dev
17:44 hmmmm do you guys think use of dynamic_cast<> should be banned from minetest?
17:44 Zeno` personally yes
17:44 sfan5 *googles dynamic_cast c++*
17:45 hmmmm i'm gonna be honest i'm a tad guilty of this
17:45 sfan5 what's the use case for dynamic_cast?
17:45 hmmmm i used it for knowing when to unlink schematics from decorations
17:46 hmmmm sfan5, when you want to know what type of derived class a base class is
17:46 Zeno` I guess I just don't like RTTI
17:46 hmmmm sapier abuses it horribly everywhere
17:47 hmmmm yea
17:47 hmmmm soo, I guess like 2 or 3 more opinions on the matter and if we all agree then we can make it a rule?
17:47 Zeno` I'd support the rule, so get the other opinions :)
17:51 Zeno` a lot of libs and some major apps now have --no-rtti (or whatever the flag is)
17:52 Zeno` imo it's pointless when it's trivial to solve without rtti
17:53 hmmmm yup
17:53 hmmmm you know, some compilers actually implement dynamic_cast by doing string comparisons with class names
17:53 hmmmm blech
17:57 Zeno` It might be ok in something like a word processor... but in something where performance matters I don't like it at all
17:58 Zeno` adding ms (or whatever) here and there for every dynamic cast (for something that simple) is scary
17:58 Zeno` a ms* or even 100ns* heh
17:58 Zeno` you know what I mean
17:58 STHGOM joined #minetest-dev
17:58 rubenwardy joined #minetest-dev
18:23 hmmmm yea
18:23 hmmmm well, inefficiency is baked right in
18:24 hmmmm the STL is quite allocation-happy so i doubt we're going to achieve really lean and mean code
18:24 hmmmm right now dynamic_cast is only used in two areas and one of them is I/O bound (not cpu)
18:45 torgdor joined #minetest-dev
18:59 lisac joined #minetest-dev
19:05 Samson1 joined #minetest-dev
19:20 wkmanire joined #minetest-dev
19:21 wkmanire Hello
19:21 wkmanire If I want to build from the vanilla game from source, do I need to clone both minetest and minetest game?
19:31 Tmanyo joined #minetest-dev
19:50 Fixer yes
20:16 hmmmmm joined #minetest-dev
20:21 hmmmmmm joined #minetest-dev
20:40 Void7 joined #minetest-dev
20:59 Samson1 joined #minetest-dev
21:10 Megaf joined #minetest-dev
21:21 electrodude512 joined #minetest-dev
21:27 hmmmmm joined #minetest-dev
21:29 proller joined #minetest-dev
21:30 troller joined #minetest-dev
21:34 hmmmmmm joined #minetest-dev
21:42 hmmmm joined #minetest-dev
21:48 hmmmmm joined #minetest-dev
22:00 jin_xi joined #minetest-dev
22:12 Puka joined #minetest-dev
22:29 Puka_ joined #minetest-dev
22:41 Megal_ joined #minetest-dev
22:45 Puka joined #minetest-dev

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