Time Nick Message 00:06 kahrl ShadowNinja: check if the index fits into the vector, and call resize() if not? 02:15 sapier1 ok I think I'm done with investigating minetest networking issues https://github.com/sapier/minetest/tree/server_improvement is as good as it will get, it's capable of downloading 170 mb textures in < 5 min, can handle >100 simultaneous bots without stalling and is really reliable (at least compared to current version) 02:16 iqualfragile_ faptastic, is it backwardscompatible? 02:16 iqualfragile_ sapier1: ? 02:16 sapier1 there are two issues I can't fix without breaking old clients: 02:16 sapier1 -maximum filesize for textures limited to 16MB 02:16 sapier1 -lack of cumulative ack 02:17 iqualfragile_ how does lack of cumulative ack affect clients? 02:17 sapier1 As far as I can tell it is compatible, yet old clients may still suffer from the bugs in their stack, but chance to happen is reduced dramatic 02:18 iqualfragile_ great, lets test it 02:18 sapier1 it's a performance feature, each packet has to be acknowledged itself, tcp for example acknowledges last of a bunch of packets only. Sender receiving an ack can be sure all previous packages are completed 02:19 sapier1 and in combination with our 16 bit sequence number this is really painfull 02:23 iqualfragile_ throws some warnings when compiling 02:23 sapier1 yes just ignore them for now 02:24 sapier1 btw this won't help if it's client side only, don't expect it to behave any better on connecting to an old server 02:33 iqualfragile_ sapier1: yes, i am using your code on my server 02:35 sapier1 there are some possible optimization points in this code but those need better measuring methods to adjust to correct direction 02:38 iqualfragile_ well, mineguild.de uses that branch for now 02:39 sapier1 please note it's still beta there's almost nothing same as before 02:39 iqualfragile_ i am aware of that 02:39 iqualfragile_ my server allways runs latest git of everything 02:40 sapier1 I didn't even look at how much I actually have changed 02:40 iqualfragile_ its there to break 02:40 sapier1 and it contains my server.cpp split too 02:41 sapier1 and a outdated version of mutex queue fix (functionnames changed in latest version of mutex queue fix) 02:44 E4xoi better 02:45 sapier1 what is "better"? 02:46 E4xoi sapier: try even more pulls-that-should-get-merged at once! :P 02:46 sapier network fixes are not supposed to be merged 02:47 sapier the other ones are separate commits, network fixes require mutex queue fixes in order to work at all 03:12 OWNSyouAll Is it possible to set the size of heart.png? 04:15 OWNSyouAll cause you can't see shit when yout set the heart size higher than like 32x32 04:15 VanessaE been there, complained about that, got told to sit down, shut up, this is how it's gonna be. 04:16 VanessaE (the heart needs to be less than about 19x19) 04:46 OWNSyouAll Well found the max texture size you get bad allocation when attempting to load textures of 4096 x 4096 04:48 VanessaE most vid cards don't like textures > 2048px anyways, so I thought? 04:49 ShadowNinja OWNSyouAll: What was the size of the texture? (Filesize-wise) 04:50 OWNSyouAll ShadowNinja, biggest one is 3MB all the others are about 50KB 04:51 OWNSyouAll VanessaE, appears to be 65536 according to http://blog.cuvilib.com/2010/06/09/nvidia-cuda-difference-between-fermi-and-previous-architectures/ 04:52 OWNSyouAll ShadowNinja, Sorry 9.5MB is the biggest 04:54 OWNSyouAll ShadowNinja, Dosen't appear that one 4k texture crashes it but it might be i'm hitting the memory limit 04:55 ShadowNinja Minetest's limit is 16-32MB per file, that's why I was wondering. 04:55 ShadowNinja (In the net code) 04:56 OWNSyouAll I'm not using the net though just singleplayer 04:59 ShadowNinja Singleplayer still uses a network connection in the background. 04:59 thexyz but you do 05:00 ShadowNinja Would be nice if it supported unix sockets.' 05:25 OWNSyouAll "you hacker you!" 05:25 OWNSyouAll well that was unexpected 09:03 thexyz ShadowNinja: what's the point of that? 10:26 thexyz something's not very right https://gist.github.com/xyzz/483e1db06d6b4707134d/raw/c8c1f1ff4ca540ea81f479bb0cb5a0068f5ed815/gistfile1.txt 11:05 sapier thexyz seems to be the connection unit test, happens to me sometimes too, no idea how to fix it to work better in multithreaded environment, but it did happen with current dev before too 11:57 thexyz sapier: what's your connection speed you got 5 minutes for 170 mb of data on? 11:58 sapier <5 min ... i haven't found a way to do a precise mesurement ... but it's way from comparable to ftp or http 11:58 sapier best thing is compare 5 min to copy 170 mb on your machine ... so quite slow 11:59 thexyz "connection speed" 11:59 thexyz ah, it's localhost? 11:59 sapier yes 11:59 thexyz alright 12:00 sapier but there's at least another bug left 12:01 sapier argh gdb pretty printing doesn't work on -O0 12:17 iqualfragile_ sapier: wasnt some special debug -O introduced lately 12:19 sapier something like "-DCMAKE_BUILD_TYPE="Debug_yes_really_DEBUG" 12:23 thexyz why can't it just be changed to -O0 by default? 12:25 sapier I was punched for doing this accidently multiple times 12:27 sapier iqualfragile_: I fixed your client side crash, it's been a invalid assertion checking something completely different it was supposed to check only 12:28 sapier john_minetest: everyone ducks and sneaks a way as soon as you mention something like "win32", "windows" "msvc" "cygwin" ... and some other keywords 12:29 sapier yes that's the sad thing about it 12:31 sapier we will fix it ... but I guess noone wants to do win32 fixes on christmas eve ... at least I can't motivate myself to fix my windows build right now ... everytime I did this it tool 2-4 hours 12:32 sapier for windows everyone seems to be fine if it builds within his special build env, noone seems to even try to get it generic 12:32 sapier or has given up on trying to do so 12:33 sapier usually minetest doesn't compile on win32 without prior fixing 12:34 sapier at least that's my experience 12:34 iqualfragile_ john_minetest: false, most of the users use android 12:35 sapier no idea if someone already did this fixes the last times 12:35 sapier iqualfragile do my fixes work for you? 12:36 sapier as far as I know delayed for unspecified time 12:36 sapier seems I'm the only one who really wanted a christmas release and I can't do it on my own 12:41 sapier ok I do a single try if it's going to work you get it if not skip for today 12:45 sapier ... I already said I give it a try 12:46 sapier I did not say it's gonna work 12:54 proller i have 30-100 RE-SENDING timed-out RELIABLE to per second.. 12:55 sapier ok seems to require some tweaking 12:56 sapier guess automatic timeout adjustment isn't doing that fine ;-) 12:58 sapier does anyone remember command for building a zip ? 12:58 proller yes, enet tweaking 12:59 sapier ok as we're talking about tweaking did you start tweaking enet to support old clients yet? ;-P 13:03 proller its useless 13:04 sapier so are some of your comments 13:05 sapier it's fine you tell issues you find, and I'm thankfull for them 13:06 sapier freeminer has about 2 months of good fixes in it it's a pitty you refuse to prepare them for minetest integration 13:07 proller git merge freeminer/master 13:07 proller anything is ready ^ 13:08 sapier why even do this? just persuade community to drop minetest? 13:09 sapier you still don't understand why we don't want commits titled "better" "ugh" "tuning" in our commit history ... do you? 13:12 thexyz ugh 13:13 sapier no I won't look for the exact wording everytime I mention this ;-) 13:13 sapier you know what I'm talking about ;-) 13:14 sapier to me freeminer is a nice play fork containing some interesting things, but you can't expect others to do the work of exptracting those things to mergable potions 13:16 sapier it's out of question everyone will support you on doing so but as of my understanding this is primary your work to do 13:20 proller my primary work - make good playable game 13:21 sapier if you don't even want to understand I can't help and will stop trying to explain to you 13:24 sapier One last try ... proller did you ever think about how you would feel if someone demands you to review thousands and thousands of uncommented unexplained changes? 13:25 sapier ... waiting for "you don't have to review it just merge it"... 13:29 proller ++i; //increase value of i by one 13:31 sapier seems you're even to ignorant to understand what term "commenting" is meant to be 13:32 thexyz seems you're only interested in insulting other people instead of doing work 13:33 sapier thexyz if you had a single look to commit history you'd know it's you insulting others by doing false accusations 13:33 thexyz please don't be mean to people even if you don't like how they do things 13:34 sapier it's not about liking things, do you really think minetest shoud add hundreds of commits with non sense commit messages ? DO YOU? 13:34 thexyz I've already said this, I don't care about minetest for now, I think the development process is flawed here 13:35 sapier I want a answer YES or NO 13:35 sapier come on put your pants town and tell what you think 13:35 thexyz I don't care, that's the answer 13:35 thexyz your question is invalid, by the way 13:35 sapier so why do you insult others who care? 13:36 thexyz I don't insult anybody 13:36 thexyz it's you who say those mean things always 13:36 sapier telling me to insult someone I want to explain why some things are done this way is insulting to me 13:37 thexyz I've never told you to insult someone 13:37 sapier "seems you're only interested in insulting other people instead of doing work" ? 13:37 proller if its hundreds of good commits - no problem. 13:38 sapier no proller good work doesn't weight up bad work in this case 13:40 sapier we can fix broken code by new commits but we can't fix a broken history with justifyable effort 13:41 proller you make game or history ? 13:42 sapier if you want to maintain a project you need a usefull history ... lack of it may not a problem in short term but will be in mid and long term development 13:44 sapier john_minetest: http://animalsmod.comuf.com/downloads/minetest-0.4.8-dev-20131224-sapier-mingw32.7z try this one, no guarantee for anything built this on my windows box which is a playground only 13:46 proller ++i; //increase value of i by one, it can broke game if i>65534 13:47 proller john_minetest, okay, WHAT broke windows and freebsd threads? and how to fix it? 13:47 proller you have good history! 13:48 sapier proller why do you always try to put most extreme example? we don't expect comments like those noone ever requested this 13:48 sapier the only thing we absolutely demand is a commit message telling what a author intended to do with a commit ... this our first hint to see if the code can even to what was intended 13:49 thexyz have we actually solved any issue with the help of glorious history minetest has? 13:49 thexyz I mean 13:49 sapier and we demand reasonable small pulls, one feature one pull request 13:49 thexyz there're like 3 commits 13:49 thexyz and you go all shit on them 13:49 thexyz every time someone mentions Freeminer here 13:50 sapier last time history beeing usefull I remember was finding the commit making entity duplication worse instead of better 13:50 sapier thexyz because this is the primary reason for all this mess! 13:52 sapier most of us did refuse to review prollers changes for ages because of not knowing what to review at all 13:52 thexyz sapier: three commits is the primary reason for all this mess, noted 13:52 sapier which three? 13:54 thexyz dunno, you always talk about them 13:54 sapier I didn't ever tell about three commits? 13:55 sapier what are you talking about? 13:57 sapier and btw thexyz and proller if you didn't realize, I want to find a way to get fixes from freeminer to minetest. The only suggestion you make is just merge everything at once, but this isn't an option. So if you don't move a single mm I can't help no matter how hard I try 13:58 proller my small useless messages was from other rule - "rebase anything 2 times per day" 13:59 sapier yes and this is true for all of us proller, do you think you're the only one beeing annoyed about it? 13:59 sapier I usually rebase any commit about 10 times prior getting merged (some more some less) 14:02 thexyz well if everyone is annoyed then why not get rid of this rule? 14:02 sapier what rule? 14:03 sapier rebase prior merge? because it's the only way to get a straight history 14:03 sapier and there's no difference between rebasing and merge (as of work to be done) 14:06 thexyz no, not really 14:07 thexyz often people are asked to rebase their pull requests multiple times 14:07 sapier actually it is if you did squash your commits prior rebase 14:07 thexyz well honestly, talking about the history is not the most productive thing we can do 14:07 sapier true 14:07 sapier we need to find a way to do it better in future 14:08 thexyz I just think we should stop caring that much about history and care about code instead 14:08 sapier no 14:08 thexyz the forcepush being allowed is another case of it 14:08 thexyz ah fine 14:08 thexyz do whatever you want then 14:08 sapier "history" as of things beeing done in past should be ignored for future discussions 14:09 thexyz just don't expect others to do the same 14:09 sapier but history as of timeline of changes is important 14:09 thexyz and don't be upset when someone else calls your way of doing things ridiculous, too 14:10 sapier maybe we should do a poll about this right now it's proller and you who don't care about history which is very very important for coordinating work. For example I usually read commit log to see what happended. 14:11 sapier and me defending this ... all others seem to either rely on me defending or you not requireing it ... but haven't told about their real attitude 14:17 thexyz it's not that i don't care about history 14:17 thexyz also you shouldn't even ask me since I don't contribute to Minetest much those days 14:18 thexyz better ask active contributors 14:26 Exio4 tell me what https://github.com/freeminer/freeminer/commit/664e6813be456998e0c5b7cf3096bc4643418792 does 14:30 Exio4 https://github.com/freeminer/freeminer/commit/149a2c99084edb8ed486e7ac2d188f6e28150466 why this 14:32 thexyz ah, I guess proller forgot to squash them before pushing 14:33 Exio4 there are some good ones 14:33 Exio4 but because there are some like thoses, the controversy 'and shit' 14:33 sapier yes latest freeminer commit seem to get better 14:33 Exio4 there are a lot of changes i would like to see in minetest 14:34 Exio4 but that applies to changes that i would revert locally if i could (without breaking compatibility) 14:35 sapier me too exio4 but I feel betrayed proller claiming all the fun (coding) for himself and forcing others to do the administrative tasks(squash, comment, prepare for review, fix review comments) 14:36 thexyz no one forces you to do this 14:38 sapier either this way or argueing about not finding anything in hundreds of nonses commit messages in about half a year 14:39 thexyz well so what's the problem? 14:39 sapier I don't know your background proller and thexyz but just have a look at any good oss project I guess you won't find a lot of broken commit messages 14:39 Exio4 yay 14:39 Exio4 found the merge commit https://github.com/freeminer/freeminer/commit/32d43bbcb00db2d206e366caf70b82673b0ceb21 14:40 sapier yes I already found it by reverse engeneering yesterday 14:40 sapier reverse engeneering == make dev crash and look when that file was last changed in freeminer 14:40 sapier and that commit isn't all there's andother one exio4 14:40 Exio4 yeah 14:41 thexyz well so what do you want from me/us? 14:41 sapier wait ... that isn't even the one I found yesterday 14:42 sapier what I would like from proller and you thexyz is split fixes and feature improvements from freeminer to single reviewable commits ... so enough wishes for christmas, I have to go no 14:42 Exio4 it gives us enough info to then do this: https://github.com/proller/minetest/compare/null 14:42 sapier actually https://github.com/minetest/minetest/pull/1070 is all required for a bot to join 14:43 thexyz ok, fine 14:44 thexyz to me it always looks like he thinks we have to conform to his standards 14:44 Exio4 you are both two extremes 14:45 Exio4 (and my english is shit) 14:46 thexyz fine 14:46 thexyz and you don't even code D: 14:47 Exio4 i don't know the codebase enough for being able to do a lot of shit :P 14:47 Exio4 the last time i tried to do something irrlicht trolled me with its copy&paste support 14:49 thexyz do something which doesn't involve irrlicht then 14:49 thexyz if you want to, of course 14:50 Exio4 yep 16:26 kahrl_ anybody mind me merging https://gist.github.com/kahrl/8106473? 16:27 kahrl it fixes the win32 bug john_minetest reported 16:28 hmmmm that looks good 16:30 kahrl brb, will merge it then when I come back in 15 minutes 16:59 kahrl I think testing if (max_fd == -1) would be better than if (max_fd < 0) 16:59 kahrl can valid windows sockets be negative? 16:59 kahrl brb in a few hours 17:06 OWNSyouAll Hey am i doing something wrong i can't get string:split to work http://pastebin.com/fCc2V5jf 17:10 thexyz use . 17:10 thexyz instead of : 17:11 thexyz don't ask those questions here, they're not related to minetest development 17:18 sapier thexyz I don't want you to meet "my standards" (which are quite relaxed to standards set e.g. for linux kernel, samba wine ...) I just want there to be defined standards different from "none" 17:18 thexyz then don't complain 17:19 sapier you didn't even bother to read did you? 17:19 thexyz ok 17:19 thexyz you want there to be standards 17:19 sapier "defined standards" 17:19 thexyz you think this isn't true for a particular project 17:19 sapier AND "different from none" 17:20 thexyz that's fine 17:20 thexyz what is not fine 17:20 sapier then start at defining standards instead of argueing about it 17:20 thexyz is that you try to force stuff like this 17:20 sapier come one I just want to enforce things I have been told anytime I wanted to merge something 17:21 thexyz you want to force those on a particular project which you aren't even a part of 17:21 sapier It's crap to have one standard per person and maybe per personal mood too 17:21 thexyz I just don't understand this 17:22 sapier wait I was assuming you intended to merge your development back to minetest by some time (not saying anything about how)? 17:22 sapier is this assumption wrong? 17:22 thexyz I've already said: at this point I don't care 17:22 thexyz yes, this is wrong 17:22 thexyz is it clear enough now? 17:23 sapier ok then I'm sorry no need to continue this discussion 17:24 thexyz great, it didn't took too long 17:26 hmmmm no, windows sockets cannot be negative 17:27 sapier joso good to merge hmmmm? 17:27 sapier -jo 17:27 hmmmm which piece of code is he talking about exactly 17:28 sapier https://gist.github.com/kahrl/8106473 this one 17:28 sapier we should have a pull request to talk about 17:28 hmmmm ahh 17:32 hmmmm I would change that to max_fd == -1 17:32 hmmmm simply to conform to cURL's own specification 17:33 sapier you're right about that 17:33 hmmmm socket descriptors in Windows aren't sequential at all, but in practice they aren't negative either 17:33 hmmmm that doesn't really matter though because we just follow the spec 17:33 sapier I don't understand much about windows internals so I have to rely on kahrl's opinion for it 17:34 hmmmm doesn't matter 17:34 sapier and of course relying on spec is another option to ... then it's spec's fault ;-) 17:34 hmmmm you don't need to know anything about windows internals 17:34 hmmmm it's just following the manpage 17:35 iqualfragile_ is there some way to tell minetest to stop generating new blocks? 17:35 hmmmm nope 17:35 sapier maybe I'm biast specs I usually have to work with are in best case incomplete and sometimes even wrong 17:35 hmmmm although I can understand the need for such a mechanism 17:35 hmmmm I was thinking of adding generation limits to emergethread 17:35 thexyz iqualfragile_: i think you can add allow_generate = false to enqueueBlockEmerge 17:35 iqualfragile_ ok 17:35 hmmmm clearly, he means from a configuration option :p 17:36 thexyz who knows 17:36 iqualfragile_ yes, i do, but i can just change a litle bit of code 17:36 thexyz map pre-generation would be nice too 17:36 hmmmm I was going to do that 17:36 thexyz so that I can pregenerate my map and then just disable the mapgen 17:36 thexyz would be really cool 17:37 iqualfragile_ my usecase was to stop the generation and then remove unused but generated blocks 17:37 iqualfragile_ so they can be regenerated 17:37 thexyz since the lock here waits the most time according to my profiler 17:37 iqualfragile_ when will mapgen v7 be ready, when will differential storage be ready? 17:38 thexyz differential storage? 17:40 sapier is differential storage saving diff to what would've been generated only? 17:41 iqualfragile_ yes 17:41 proller https://github.com/freeminer/freeminer/commit/575d8c8e71ad15573a8f8b7031d46a523a5ed47d 17:42 sapier hmm taking this thougth to another level we could skip map generation completely and make client to it 17:42 hmmmm haha 17:42 hmmmm you can't do that 17:42 sapier why not hmmmm? 17:43 hmmmm it's too complicated in practice 17:43 hmmmm the mapgen would need to be pixel-perfect between clients 17:43 hmmmm well, voxel-perfect :) 17:43 proller and client must run all lua mods 17:44 hmmmm yep, that too 17:44 proller it main problem 17:44 hmmmm it would be doable with a much simpler version of minetest that lacks a lot of features 17:44 sapier ok the lua thing is an issue true 17:44 hmmmm but at that point you might as well make a new game 17:45 sapier but at least we could skip sending blocks 17:45 hmmmm also think about all the synchronization 17:45 sapier assuming it really is node perfect ... what I assume to be 17:45 hmmmm say like player A is in a far away area from player B and he modifies a node there 17:46 sapier changes already need to be synchronized no need to do anything more, map is rebuilt as player enters or leaves ... of course this will put just "slightly" more presure to client cpu ;-) 17:46 hmmmm yeah but think of all the modifications you need to keep track of 17:46 sapier server gets node modifications, once player enters that block he'll get the delta from server 17:47 hmmmm alright sorry about that, back 17:47 sapier but of course I'm by no means sure the complexity is in any relation to the bandwith reduction 17:47 hmmmm so let's think about this 17:48 hmmmm each client would store the map on his own 17:48 hmmmm in terms of deltas 17:48 hmmmm it'd be quite stupid any other way, so this would combine two big features together 17:48 hmmmm s/features/improvements/ 17:49 sapier then you need checksumming for block so client can re-request server delta and rebuild it's block uppon e.g. network split 17:49 hmmmm so the server is storing the deltas as well? 17:49 hmmmm er, right, it'd have to 17:49 hmmmm dumb question 17:49 sapier I don't se a way how this should work without it 17:50 hmmmm I'm distracted at the moment 17:51 hmmmm anyway that would be an interesting idea, p2p minetest 17:52 sapier but getting that one stable is even more work then fixing the current network code ;-) I don't see map handling beeing broken anywhere close to this to justify the effort ;-) ... but of course if someone is interested in havng fun :-) 17:52 hmmmm decentralized servers in terms of swarms 17:52 hmmmm this would require a ridiculous amount of effort and it'd never make it out of the idea stage 17:52 hmmmm at this point you might as well design a brand new game 17:52 sapier yes 17:52 sapier almost 17:53 hmmmm and I don't know anybody who would want to start a brand new minetest after already working on minetest 17:53 sapier I don't even have an idea how much time this will be ... btw my guess fixing network code is about a week of work was quite accurate I'm at day 4 now and only doing finetuning 17:55 hmmmm so like, where do you get the time to work on minetest exactly? 17:55 sapier actually there are rumors about replacing irrlicht, network protocol, packet format, serialization format, map format, formspec ... rough guess this is about 50% of game ;-) 17:55 hmmmm right now I'm on my vacation and I find myself doing more christmas-y stuff with family instead 17:55 sapier I abuse sleep time ;-) 17:55 thexyz why do we want to replace irrlicht? 17:56 hmmmm but erm 17:56 sapier replacing irrlicht by ogre was discussion 3 months ago 17:56 hmmmm my formspec replacement idea would be quite easily done come to think of it 17:56 hmmmm it's not like the biggest thing ever 17:57 sapier I'm a real nerd hmmm I do this as a hobby ... unless I have to repair cars, bake bread/pizza or do the work I get paid for ;-) 17:57 hmmmm I do this as a hobby too 17:57 hmmmm but nevermind any of this 17:58 hmmmm are we going to get a release by tomorrow, you think? 17:58 sapier well I'm a little bit execessive about hobbys ;-) spend quite a lot time for months and then don't do much about it for months too 17:58 hmmmm the current master is quite stable right now, only bugfixes the past week or so 17:58 sapier no idea hmmmm noone actually proclaimed a feature freeze 17:58 hmmmm I know 17:59 sapier master doesn't seem to work on freebsd 17:59 hmmmm announcing a feature freeze is just telling people to not add new stuff formally 17:59 hmmmm and that's bullshit, it works for me 17:59 proller broken!11 18:00 sapier but I'm not exactly sure proller is really testing master 18:00 hmmmm well freeminer seems to be broken on Windows with his latest patch that he posted here 18:00 proller alreasdy fixed 18:00 hmmmm I noticed in his commit that he pasted here he didn't have any #ifdef _WIN32s or whatever around the uname call 18:01 proller but minetest still broken 18:01 hmmmm it's not 18:01 proller yes. 18:01 hmmmm it works fine for me here on freebsd 9.2 18:01 hmmmm new rule 18:01 proller with tests ? 18:01 hmmmm if you're going to say it's "broken", you need to SAY HOW IT'S BROKEN 18:02 proller i already post here gdbs 4 or 5 times 18:02 hmmmm what, you're running the unit tests? 18:02 proller just debug build 18:02 hmmmm we already know those fail, I had --disable-unittests as the command line for like centuries 18:02 proller and problem not only in tests 18:03 proller i canr run game without --disable-unittests, and it crashes everywhere in meny 18:03 sapier then please post those backtraces, especially if they're not all identical 18:03 proller menu 18:03 hmmmm yes, let's see the backtraces 18:03 sapier and tell precisely what you're doing 18:04 sapier ok I have to leave no, I'll be back later 18:06 proller try n6: http://paste.org.ru/?4vh8if 18:06 hmmmm so when you try ctrl+C 18:08 proller run game and press exit to menu: http://paste.org.ru/?cyvye1 18:08 hmmmm okay, yes, I do get a failed assertion when I try to exit via ctrl+c 18:08 proller and it happen everywhere, in moddb, serverlist, ... 18:08 hmmmm running the game and exiting to menu does not crash for me 18:09 hmmmm and the latter is just a backtrace with no error 18:09 hmmmm so we don't even know what exception is handling in what thread 18:09 hmmmm s/handling/happening/ 18:10 proller #0 0x0000000804c3c23c in thr_kill () from /lib/libc.so.7 18:10 ShadowBot https://github.com/minetest/minetest_game/issues/0 18:10 proller http://paste.org.ru/?p0zzjf 18:11 hmmmm that last one looks like it's a SIGABRT caused by an unhandled exception 18:11 hmmmm if you gave the exception text "terminate thrown after receiving exception: blah blah blah" then i'd know what to look for 18:12 proller always terminate called after throwing an instance of 'SocketException' 18:13 hmmmm alright 18:13 hmmmm and this happens when you exit to menu you said? 18:13 proller yes, to menu, from game, ... 18:14 proller and when just run with tests 18:14 hmmmm that last one is a result of the select failing 18:14 hmmmm as in, result < 0 and errno is not EINTR 18:15 hmmmm so could you go into your debug.txt and show what it says for "Select failed: "? 18:15 proller 5: Select failed: Bad file descriptor 18:16 hmmmm alright 18:16 hmmmm so you have your Connection thread running and it's select()ing on some sockets 18:16 hmmmm then you press exit to menu which kills the Client thread 18:16 hmmmm which shuts down that socket 18:17 hmmmm so then that socket becomes invalid and select() returns from that thread and fails with that error 18:17 hmmmm this in theory is not specific to FreeBSD at all 18:17 proller "it's not" 18:18 hmmmm it's not broken as in all of these errors happen on shutdown 18:18 hmmmm the game isn't BROKEN, just some shutdown procedures 18:18 hmmmm and I don't even get this error that we're talking about... I'm just going by your backtraces 18:19 proller if player cant exit to menu -> game is broken 18:19 hmmmm it's a bug that some people get 18:19 hmmmm I certainly don't get it 18:20 hmmmm so anyway there's no real good way to fix this, I suggest what you do is just handle if result < 0 && errno == EINVAL 18:20 hmmmm return false on that instead of throwing a SocketException 18:25 hmmmm we're discussing errors that happen on shutdown 18:26 hmmmm yes, not hangups, errors 18:26 thexyz I think we totally need this http://stackoverflow.com/questions/1618927/cmake-microsoft-visual-studio-and-monolithic-runtimes 18:26 thexyz some modules randomly switch to /MD 19:04 iqualfragile_ hmmmm: i have to admid, i did not read the whole discussion, but sapiers idea might actually be doable: before requesting any block the client tries to generate it, hashes it and asks the server if that hash is correct 19:04 iqualfragile_ if it is it uses that block, if it is not the server sends the whole block 19:11 iqualfragile_ that would in turn enable the addition of caching later on 19:11 proller for what? 19:11 hmmmm erm, that's not what we were talking about at all lmao 19:11 hmmmm the idea is that the client generates the map, and the server only sends modifications to the clients 19:11 hmmmm but again, that's crazy and requires a radical redesign 19:11 proller and where is profit ? 19:12 proller now block generation not bottleneck 19:13 hmmmm the idea is to minimize the network bandwidth required 19:13 celeron55 i recommend KISS 19:13 hmmmm i know, meshmaking is the actual bottleneck 19:13 hmmmm we need an algorithmically more efficient method of making meshes 19:13 celeron55 if map generation is distributed like that, then it becomes waaaay less flexible 19:13 celeron55 and nobody likes less flexibility 19:14 celeron55 yes, mesh generation is a good target of optimization 19:15 proller current bandwith is not a problem 19:15 hmmmm it sure is when you scale up 19:15 proller locking everywhere - biggest problem 19:16 celeron55 hmmmm: so we now became an MMO technology provider? 19:16 celeron55 good luck with that 19:17 proller 100+ ppl already works in FM 19:17 hmmmm hey look, this is sapier's idea 19:17 hmmmm I don't want to move map generation to the client 19:17 proller 500-1000 - possible if break locking 19:17 celeron55 hmmmm: yes, we don't move it, no matter who suggests it; discussion over 19:17 proller no problem to host server with 1gbps connection 19:22 hmmmm hmmm 19:23 hmmmm once sapier comes back I'll point him to the jsemaphore assertion failure 19:23 hmmmm but that's not very critical 19:24 hmmmm any other bugs we should be aware of before 0.4.9? 19:25 iqualfragile_ hmmmm: yes, there are no christmas trees in the christmas release! 19:25 hmmmm i don't think the easter egg thing would've worked out any way 19:29 hmmmm i can't find that one error pastebin with the jsemaphore::wait() assert(blah == 0) 19:29 hmmmm could you paste that one again proller 19:30 proller it was caused by what ? 19:30 hmmmm i don't know 19:34 proller cant find with assert 19:34 hmmmm hrmm 19:36 proller all today was with sockets 19:38 hmmmm what the hell 19:38 hmmmm so I'm looking at sfan's playerlist thing 19:38 hmmmm why does he add a new kind of statistic into a hud element 19:38 hmmmm no you don't do that 19:38 hmmmm stop it 19:39 hmmmm do you see TOCLIENT_HUD_SET_PARAM? 19:39 hmmmm that's what you use 19:39 hmmmm TOCLIENT_HUD_CHANGE changes a specific hud element 19:47 * hmmmm blinks 19:48 hmmmm who devised HUD_PARAM_HOTBAR_ITEMCOUNT? why do you serialize an integer as a binary string and re-read it? 19:48 hmmmm I turn my back on hud for one second and look at what happens to it 20:04 * blaaaaargh . 20:51 rambomedic can we merge this already? https://github.com/minetest/minetest_game/pull/220 20:55 rambomedic PilzAdam: sfan5: celeron55: can we merge this already? https://github.com/minetest/minetest_game/pull/220 21:08 us_0gb john_minetest: Even the ones that conflict with each other? 21:09 hmmmm why would you need a core dev to merge with minetest_game? 21:09 hmmmm minetest_game is not the core 21:11 us_0gb Hmm. I suppose I should look into compressing the textures in my rewrite as well. 21:12 us_0gb I plan to rewrite minetest_game as Alternatest_game. It'll use all (most) of the regular textures for familiarity. 21:12 us_0gb Or compressed versions of them. 21:13 us_0gb Any of the regular texture that I can find a purpose for. 21:13 us_0gb *textures 22:27 sapier1 stop stop stop moving mapgen to client was just a game of mind about what could be done not a actual suggestion 23:02 kaeza well, it could help if mt_game was managed by more people 23:03 kaeza but again, changing a simple line always causes holy wars, so meh 23:07 sapier john_minetest: 23:08 sapier john_minetest: no you can't show whats loaded right now only what was loaded last 23:10 sapier actually you don't even know what's loaded right now, only what will be processed next ... yet e.g. if you lost a packet from texture A you could already have texture B C D E F G H J queued while waiting for retransmission of that single lost packet 23:10 sapier as a matter of fact biggest texture will require most time to load ;-) 23:11 kahrl why does SHA1::addBytes assert that num > 0, shouldn't it simply be a nop for num == 0? 23:12 sapier depends on point of view word ... "add" implies you wanted to add something ... but that's a good point for useless discussions too :-) 23:12 kahrl well apparently some servers send empty files so when ClientMediaDownloader computes the SHA1 of those files, the assert fails 23:12 sapier imho of you add nothing it's perfectly ok 23:13 sapier why do you even compute a sha of 0 bytes? it's absolutely nonsense 23:14 kahrl the sha1 of the empty string is well defined 23:14 kahrl so why add an extra "if" just to check if size == 0 23:14 sapier it's something different if you just add 0 bytes to existing data for sha or compute sha from a total of 0 bytes ;-) 23:15 kahrl the only way to get data into the SHA1 class is addBytes 23:15 sapier imho sha of a total of 0 bytes is undefined 23:15 kahrl nope 23:15 kahrl that's not a question of "imho" 23:15 sapier so what's result of 0 bytes? 23:16 kahrl according to wikipedia: da39a3ee5e6b4b0d3255bfef595601890afd80709 23:17 kahrl alternatively: echo -n|sha1sum 23:18 sapier ok ok ... we don't have du discuss about sha1-ing data < 20 bytes ;-) 23:20 sapier guess if every other implementation accepts 0 bytes we should do it this way too 23:20 kahrl *da39a3ee5e6b4b0d3255bfef95601890afd80709 23:21 sapier another question is what will happen to those messed up data in other places of core? 23:24 kahrl what messed up data? 23:32 sapier I guess all those media with 0 bytes will be in cache with same hash? or is it a send issue only and those data will be dropped anyway? 23:33 kahrl I don't know why the server sends those files 23:34 kahrl well, it sends those because they are in some of the media directories I guess 23:34 kahrl they're probably unused 23:36 sapier I assume we would've seen problems by now if there were any ... yet it may be something to look for by some time 23:41 sapier can you tell me why this code: "(next_outgoing_seqnum - lowest_unacked_seqnumber) > window_size)" results in compiler warning about comparing signed and unsigned? all of those variables are unsigned 23:48 jin_xi subtraction result cant go < 0 ? 23:48 sapier argh ... true ... silly compiler one line above is checked this can't happen ;-)