Time Nick Message 00:15 BlockMen could someone agree on that small thing? https://github.com/BlockMen/minetest/commit/c9ac9992c7a8addc4839fdcc379cc2a757c60fc0 00:15 BlockMen just to fix compiling on msvc 00:24 Exio4 BlockMen: any ideas what could cause http://exio4.com.ar/private/mtw.ogv with default minetest_plus? 00:27 BlockMen Exio, just with mt+ or also with mt_game (and similar mod configurations) 00:30 Exio4 it is a default non-modded setup 00:30 Exio4 and it doesn't happen with mt_game but mt+ 00:31 specing 01:30:59: ACTION[ServerThread]: player specing crafts default:stick 4 00:31 specing 01:30:59: ACTION[ServerThread]: player specing crafts default:stick 4 00:31 specing ... 00:32 specing Can you make it so that stack crafting is done client-side and not like it is done right now? 00:32 specing redundant packets/whatever. 00:32 us_0gb For what reason? 00:33 us_0gb I guess if it was sent all in one packet, it could speed things up .... but it would still be in the log as seperat times. 00:33 us_0gb *separate 00:33 specing I don't know whether there is any technical reason for handling crafting as it is handlen right now, but it seems kinda silly for the server to handle only 4 sticks at a time 00:33 us_0gb So you wouldn't know the difference. It might be sent in one packet now even. 00:34 specing Maybe, but then it is kinda silly to log 4 at a time 00:34 specing Could just say 00:34 specing 01:30:59: ACTION[ServerThread]: player specing crafts default:stick 96 00:34 specing ^ I modified the message, this is not actual output 00:35 us_0gb THat would mean one craft recipe yielding 96 sticks. It would be a lying log. 00:35 specing It saves log space, makes it more human-readable and lessens network/CPU load 00:36 BlockMen Exio4, hmm...then i have not really an idea since mt+ does nothing special in comparison to mt_game 00:36 specing us_0gb: No, it doesen't mean that. It means a player has crafted 96 sticks from something 00:36 Exio4 it is the mesh generation 00:36 Exio4 but is mt+ doing something uber-weird with that? changing stuff every X seconds? 00:37 us_0gb It's not human-readable, as it looks like a different recipe. If one line said "01:30:59: ACTION[ServerThread]: player specing crafts default:stick 4, 20 times", that would work, but 96 means 96 sticks from ONE craft. 00:37 BlockMen only thing that is changed every x seconds is hunger AFAIK so maybe the file writing 00:37 specing us_0gb: Okay, I am not here to argue about the implementation, because I might be in a big misunderstanding here. I would just like to raise my concerns with the developers 00:37 us_0gb Okay, I'll stay out of this. 00:38 specing "01:30:59: ACTION[ServerThread]: player specing crafts default:stick 4, 20 times from 20 wood" would be even better ;) 00:43 iqualfragile 21:42:27: ACTION[ServerThread]: Server: Player with an invalid name tried to connect from yu no utf8? 00:44 iqualfragile or was he using singleplayer? 00:44 Exio4 [a-zA-Z0-9] is the match iirc 00:44 VanessaE "specing crafts 20 default:wood into 80 (20*4) default:sticks" 00:45 VanessaE how about something more like that? 00:45 us_0gb Underscores are allowed too, my Minetest name is "0gb_us". I'm not sure, but dashes may be allowed as well. 00:45 VanessaE (adjusting for the fact that 20*4 != 96 :) ) 00:51 specing VanessaE: even better ;) 01:58 VanessaE NNNNOOOOOOOOOOOOOOOOOO------------ 01:58 VanessaE #967 doesn't apply against current HEAD anymore! :(((( 01:58 ShadowBot https://github.com/minetest/minetest/issues/967 02:01 VanessaE VBO doesn't apply either! NOOOOOOOOOOOOOOOOOOOOOo----------------- 02:03 Exio4 you can apply VBO manually 02:04 VanessaE not gonna do it. 02:04 VanessaE can't you people just fucking merge it already? 02:04 VanessaE I've been testing that G*d damn patch for months now. 02:04 VanessaE IT WORKS. 02:09 VanessaE worse: currnt git HEAD does not work with Redcrab's old server (redcrab.suret.net:30401, which still runs 0.4.4) 02:10 Exio4 what does it say? 02:11 Exio4 also, 0.4.4? what? 02:11 Sokomine yes, 0.4.4. and latest git just...shows the sky. but no world. not even the selection blocks. no way to move either 02:12 Sokomine freeminer seems to work 02:12 VanessaE Sokomine: for me, just a grey screen - nothing at all got loaded. 02:12 VanessaE but maybe that's because I was in walk mode, not fly mode 02:12 VanessaE (fly mode will always show sky color) 02:12 Sokomine when it was night, the night-sky was all around me. at day, it was the day-background. no game content 02:13 Sokomine no, i wasn't flying either 02:13 Sokomine oh? hm. ok. possibly. havn't checked that 02:14 VanessaE either way, it's busted :( 02:14 Exio4 what commit exactly caused it? 02:14 Exio4 without that, it is just a "doesn't work" 02:15 VanessaE it would have to be one of the last 7 commits. it worked fine with 15c316765d 02:15 VanessaE so something between there and 3946 is what broke it. 02:17 Exio4 hmm 02:18 Sokomine is it possible to go back individual commits? 02:18 VanessaE [12-15 21:18] freeminer is at 9772322613 + more 02:18 VanessaE [12-15 21:18] so that makes it one of today's commits. 02:18 VanessaE [12-15 21:18] e9e9fd, 848f80, c120ea, 5fd92d, or 3946d2 02:18 VanessaE [12-15 21:18] one of those is what broke it 02:19 VanessaE (since this really belongs here, not in #minetest) 02:21 Exio4 i don't get it 02:22 VanessaE as a rough guess, I'd say e9e9fd is the cause. 02:25 Exio4 wow, 0.4.4 is slow 02:26 Exio4 (not at rendering but mapgen and loading chunks) 02:32 Exio4 it doesn't work for me with 977232261388fa80bd6ab3bb849ae4d7a8ade73e 02:32 Exio4 (test 0.4.4 server + latest git), two different builds 02:33 VanessaE odd, maybe sokomine's freeminer wasn't at 9772 then. 02:33 VanessaE I only tested it with minetest at 15c316, worked fine there. 02:34 VanessaE wait, don't use 0.4.4 directly, instead connect to redcrab.suret.net, it's 0.4.4-git from a bit beyond the stable release. 02:35 VanessaE port 30401 02:35 Exio4 loading the media will take 15 hours or so here :D 02:35 VanessaE haha 02:35 VanessaE that server isn't THAT slow :P 02:35 Exio4 my network is slow 02:36 Exio4 it isn't even 256kbit/s 02:39 Exio4 ha! 02:39 VanessaE ? 02:39 Exio4 i wonder what exact commit it is using 02:40 VanessaE "Version: 0.4.4 git pull 05/12/2012" 02:40 VanessaE https://forum.minetest.net/viewtopic.php?id=1705 02:48 Sokomine my freeminer was latest. pulled + compiled before i tested it 02:48 Sokomine any progress? 02:52 Exio4 ehm 02:52 Exio4 it is weird 02:53 Exio4 i don't know what is happening, it worked before with some commit and then it didn't work anymore 02:54 Exio4 VanessaE: can you re-try it with 15c316? 02:54 VanessaE sure 02:54 VanessaE rebuilding now. 02:56 VanessaE wtf? 02:56 Exio4 it doesn't work? 02:56 VanessaE doesn't work for me at 15c3 now 02:56 Exio4 so we got the same 'thing'\ 02:57 Exio4 it worked for me, went to latest git, didn't work, and went by single commits back to 15c316 02:57 Exio4 and didn't work anymore 02:57 Exio4 so, media stuff? :P 02:57 VanessaE beats me. 02:58 VanessaE lemme back it off by a day... go to d9ef072305b92b020ebe473765118cca0e23608a 02:58 VanessaE going to* 02:59 Exio4 can you tell me any 0.4.6 server that isn't that 'media-loaded'? 02:59 VanessaE I don't know that anyone still runs 0.4.6 anymore 03:00 Exio4 and 0.4.7? :D 03:00 VanessaE redcrab is about the only pre-0.4.7 holdout left 03:00 Exio4 why is it 0.4.4 btw? 03:00 VanessaE because he isn't around anymore to keep it up-to-date. 03:00 Exio4 ah 03:01 VanessaE Exio4: d9 doesn't work either 03:01 * VanessaE goes back another day 03:02 Exio4 ha 03:02 VanessaE next, 4ccaa6d0af852d0aada01f341a61290a3760cffa 03:04 VanessaE that works! 03:04 VanessaE ok, 4ccaa6d0 is good, d9ef0723 is bad 03:06 VanessaE wtf? o.O 03:06 Exio4 what? 03:06 VanessaE none of the three commits in that range looks like they should have anything to do with it 03:07 Exio4 reconnect with that commit, just for trying 03:07 VanessaE sure 03:07 VanessaE yep, works 03:08 Exio4 hmm ok 03:08 hmmmm people actually use freeminer? 03:08 hmmmm *blink* 03:08 VanessaE 3...4...5.... 03:08 VanessaE yep 03:08 Exio4 haha 03:08 VanessaE it works repeatedly at that commit, exio 03:08 Sokomine if mt itshelf does not work properly, trying freeminer is a good test :-) 03:09 VanessaE maybe kaeza's on-prejoin patch? 03:09 Exio4 line of sight 03:10 VanessaE think so? 03:10 VanessaE looks like all server-side stuff 03:10 thexyz shit upstream apparently hates us 03:10 thexyz also VanessaE I really hope you use git bisect 03:10 VanessaE hmmmm: can you please grab pilzadam's VBO, rebase, and fucking merge it? it's about to die a meaningless death :( 03:11 VanessaE thexyz: I had to find the first good commit, first. 03:11 thexyz just take any old one 03:11 VanessaE there are only three between the first good one and the last bad one, so there's not much point to bisect :) 03:11 hmmmm I thought you said it can't be merge 03:11 hmmmm merged 03:11 VanessaE hmmmm: I can't. it needs rebased. 03:11 Sokomine what is git bisect? 03:12 VanessaE hmmmm: it worked fine a few commits ago, sometimes in the last couple of days caused a merge conflict. 03:12 VanessaE s/sometimes/something/ 03:12 VanessaE G*d my typing sucks 03:12 hmmmm i'll do it if someone links me to it 03:13 VanessaE https://github.com/PilzAdam/minetest/commit/7af479cba466f801c5cb648c8a449877957cb723 03:13 VanessaE pilzadam is concerned that it might have memory leaks. I have found no such. 03:13 VanessaE if it has them, then they should be found in the field rather than letting the code die because no one wants to merge it. 03:14 VanessaE thexyz: since there are only three commits, I'm just gonna walk forward in the history. it'll take just as many commands anyway :) 03:15 Sokomine er...now freeminer seems to have the same issues. very odd. or am i stuck somewhere? 03:16 Exio4 the same bug then ;P 03:21 VanessaE hrm, confused. 03:21 VanessaE I better bisect. 03:22 VanessaE might be because I was on my local_patches branch, might have confused things (because the commit I said was bad now works) 03:23 Exio4 it is the http fetch stuff probably 03:24 VanessaE might be 03:24 VanessaE I'm bisecting back to at least a point where I saw it working for sure on several repeated connections 03:25 VanessaE the httpfetch stuff only affects the receipt of media, not map data 03:29 VanessaE aww crap 03:29 VanessaE 0404bbf67196e83d04620180e704916671371ca1 is the first bad commit 03:29 VanessaE http://pastebin.ubuntu.com/6581646/ 03:29 VanessaE kahrl: you bwoke it! :( 03:30 VanessaE good call, Exio4. 03:33 Exio4 i wonder, does it even work when connecting a 0404bbf67196e83d04620180e704916671371ca1 client to a ? 03:33 Exio4 even the one before it? :P 03:38 VanessaE idk 03:38 VanessaE I would hope so :P 03:55 ShadowNinja Can another dev check this? https://gist.github.com/ShadowNinja/7953481 hmmmm? 03:57 VanessaE kahrl: for the sake of testing, it looks like redcrab's server runs commit a47b829040, if the date on the first post is at all accurate (says it was pulled "05/12/2012" which for him would be Dec. 5, 2012). 03:59 thexyz why does everyone expect this kind of compatibility 03:59 thexyz you've spoiled them 03:59 VanessaE be....cause it's an incredibly popular server, despite its age, and redcrab is MIA, thus his server can't be updated? 04:00 VanessaE if he were around, there'd be no excuse :) 04:00 VanessaE the exception is that he keeps paying the hosting bills 04:00 VanessaE so he's still around, or at least his credit card/paypal/whatever is 04:01 thexyz > i can't connect to a year old server using git master PLZ FIX GAME IS UNPLAYABLE 04:01 VanessaE haha 04:01 VanessaE thexyz: actually, it's "I can connect but the world does not load at all" 04:01 VanessaE (meanwhile, the chat works) 04:02 thexyz the problem with that compatibility is that no one actually tests it 04:02 VanessaE well Sokomine and I just did :) 04:02 VanessaE I guess it's just some obscure corner-case that kahrl never realized needed to be accounted for 04:02 thexyz because it's fucking nightmare to test it by hand without automated unit tests or something 04:03 thexyz so just drop it 04:04 VanessaE I could agree with that, generally 04:04 us|0gb Maybe people who want to use that server can keep a second copy of Minetest on their system. 04:05 VanessaE and you're right that old servers need to get off the stick and get up-to-date 04:05 VanessaE (implied) 04:05 VanessaE but if they can't, do we just say "sucks to be you" and leave them behind? 04:06 VanessaE what is the correct solution for those who can't follow? 04:11 thexyz I'd just do that 04:11 VanessaE hrm.. 04:39 Sokomine the question is: if it affects redcrabs server - will it affect other older servers equally? not all are regulary updated 04:40 kahrl ugh, why does this kind of crap always happen when I'm really busy... 04:40 kahrl (by crap I mean the bug, not the testing which is great - but do the testing before the weekend please ;) 04:40 Sokomine you don't have to test with old servers. but if you can come up with a solution - or at least know exactly what did that - it would be far better. who knows - perhaps it's a deeper bug? 04:40 kahrl anyway I have no idea offhand why this thing could be happening 04:41 Sokomine kahrl: it doesn't have to be fixed immediately. take your time! we can tell players on the forum to use an older client for now 04:41 kahrl Hirato's idea that some initializing packet isn't sent sounds somewhat plausible 04:41 VanessaE kahrl: impossible for you to have spotted it, you don't use redcrab's server 04:41 VanessaE (afaik) 04:42 Sokomine hirato? he was on redcrabs server today 04:42 kahrl I don't do any multiplayer at all, guess I should a bit 04:43 kahrl I'm too impatient to wait for media to load, at least that has been fixed a bit now ;) 04:43 Sokomine kahrl: there are a lot of servers with great buildings out there. perhaps having a look at them from time to time would be satisfying. it shows how all this nice work you devs do is used by the players to build great creations :-) 04:43 VanessaE kahrl: my server, when it's not barfing on bad mods, takes only ~20-25 seconds to load with httpfetch :) 04:43 Sokomine media load is only once. after that it's pretty fast 04:43 VanessaE and it's got 25MB of media to feed to the client :) 04:43 kahrl Sokomine: I do clear my cache regularly for some testing 04:44 Sokomine kahrl: ok. that makes it difficult. perhaps you could keep a copy somewhere and link it back when needed 04:45 kahrl a bit of a hassle, but I could write a script I think 04:56 VanessaE hmmmm: *poke* 04:57 VanessaE hmmmm: something just occurred to me. Didn't you say the other day that, out of nowhere, a couple of strips of sand or gravel just suddenly dropped out as rows of entities right in front of you? 04:57 VanessaE like, unexplained? just randomly? 04:58 VanessaE hmmmm: someone on my server reports a very similar instance, says it he noticed it beginning between 1 and 2 weeks ago. I seen it myself in the area he reported it in. happening with gravel but not with the surrounding blocks, including stuff lying on top of the affected nodes. 04:59 VanessaE sound familiar to you? 04:59 VanessaE I repaired the area twice, only to have it come back exactly in that area. 04:59 VanessaE (both times, I thought it had merely been griefed, until I saw the fallen entities come to me() 05:02 VanessaE in fact, here's a screenshot he took of it, which he says is from the 11th: http://postimg.org/image/y8o72ujvl/ 05:03 VanessaE sorry for the blabbering, this has me kinda paranoid because at first, I was afraid I'd cause this with some obscure bug in pipeworks. 10:59 BlockMen any dev around? 11:59 Taoki BlockMen: Not sure how much of a dev I am, but ask away, maybe I know 11:59 BlockMen Taoki, thx but i just need a second agree to push a fix upsteam ;) 12:00 Taoki BlockMen: What's the fix. My opinion might matter a little bit (haven't really checked yet :P ) 12:01 Taoki I am a contributor, but with no upstream rights 12:02 BlockMen Taoki, its just a include switch for fukin MSVC, but rules say 2 devs need to agree and since im just one person im waiting for another dev... 12:03 Taoki ok. I'm probably best at looking into features, not actual code in detail. So maybe wait until PilzAdam or sapier or celeron55 or RealBadAngel return 13:39 BlockMen hmmmm, could you agree on that? https://github.com/BlockMen/minetest/commit/c9ac9992c7a8addc4839fdcc379cc2a757c60fc0 14:15 BlockMen well, since no one reacts and its just a switch of the includes i will push it in a few minutes 15:57 celeron55_ okay so, about the minetest distribution 15:57 celeron55 i propose that we have a download page like this: http://www.linuxmint.com/download.php 15:57 celeron55 the DE being the game that comes with the thing 15:58 thexyz wat? why? why not include all games in one package? 15:58 celeron55 how large are games generally? 15:59 thexyz hm.. didn't check it out 15:59 celeron55 for example Neuromancer (eden) is over 70MB 16:00 celeron55 we at least need a small and a large package, if nothing else 16:00 thexyz this still feels a bit wrong 16:00 celeron55 why? 16:01 thexyz with OS a general user is supposed to use one single DE; this is not the case with Minetest 16:01 celeron55 oh, and: a vast majority of that 70MB is animals modpack... 16:01 thexyz you switch between games whenever you want 16:01 celeron55 wtf 16:02 celeron55 this contains XCF images 16:02 celeron55 hmm, they're not images but models or something 16:02 celeron55 whatever, without animals this is 11M 16:03 celeron55 that's much more bearable 16:03 celeron55 i think we could get away with three sizes 16:03 celeron55 or two 16:04 celeron55 so, how to choose the games? 16:05 celeron55 we need a method that does not take ages and will finish in predictable time 16:07 celeron55 a vote on the forums could work 16:08 celeron55 or a vote on #minetest 16:09 thexyz the problem is that people probably will expect us to support those games 16:09 celeron55 we have no other reasonable option than to explicitly say we don't 16:10 thexyz but that'd be odd if the game completely breaks in some update and then users can't play the world anymore 16:11 celeron55 or pick one to support and have the others as extra or something 16:12 celeron55 thexyz: i assume you don't have a solution 16:12 thexyz yes, I don't 16:12 thexyz I don't know what to do about it 16:12 thexyz just hope games won't break much and if they do then we can fix it easily 16:13 celeron55 this isn't really a new problem; linux distributions ship with a lot of software that they can only hope gets mainained in the future 16:14 celeron55 of course there's a lot more momentum there but anyway 16:14 thexyz true 16:14 thexyz well then let's just hope everything goes right? 16:15 celeron55 i guess so; this probably means we should have maintainability and chance of developers quitting as one criteria for choosing stuff though 16:17 thexyz by the way, any idea why would items (cubes) in inventory be rendered upside down? 16:17 thexyz or maybe not really upside down, but that's the easiest way to describe it 16:18 thexyz like that http://i.imgur.com/eQse6Rj.png 16:20 celeron55 some kind of a Z-buffer issue 16:20 celeron55 maybe 16:21 thexyz ah 16:22 thexyz yes, looks like something related to that 16:24 celeron55 so, hmm... let's say we want to create two packages for windows, one is small and one is large 16:24 celeron55 if we chose the rough sizes for them, then voting the content would be fairly trivial 16:27 thexyz what will the small one include? 16:27 celeron55 hmm... minetest_game is already 7M so maybe the small one will contain only that 16:28 celeron55 i guess it has to contain it anyway because people expect to be able to play their old worlds anyway, and it's not an exactly bad usage of 7 megabytes anyway 16:29 celeron55 we should probably vote the size of the large one 16:29 celeron55 i have no idea how much people are willing to download 16:29 thexyz shouldn't we calculate the total size of games there's a chance we include? 16:30 celeron55 sapier really has to look into the size of the animals modpack 16:30 celeron55 it's ridiculously large 16:31 thexyz minecraft is ~100 megabytes it seems 16:31 thexyz ~120 16:31 celeron55 i'm thinking some of this is probably source material and wouldn't need to be there for this to work 16:33 iqualfragile yes, mobf uses too highres textures 16:33 iqualfragile and additionally there are lots of mobs, maybee that could get slimmed down a bit 16:34 iqualfragile i would recommend ~ 100 mb as upper upper limit and aim for 50 16:34 celeron55 okay so removing all the .blend and .xcf files, animals modpack is 13M 16:34 celeron55 this is what i would expect 16:36 celeron55 this means NeuromancerGame is 25M which means we might not need to limit the size 16:36 celeron55 (of the combined package) 16:37 thexyz does it work? 16:37 celeron55 yes 16:38 celeron55 VanessaE's game could be the largest 16:38 iqualfragile does it contain v7 biomes? i think this would be quite important 16:38 celeron55 but it might not be wanted anyway 16:39 celeron55 iqualfragile: ? 16:39 iqualfragile what are you refering to, vanesaEs game or v7 biomes? 16:39 celeron55 iqualfragile: usage of v7 is still discouraged by hmmmmm 16:40 iqualfragile uh, did not know that 16:40 iqualfragile but it seems to work quite well in pilztest and with the snow mod (in fact my secret aim is to get the snowmod into mintest 0.4.9 because christmas) 16:43 iqualfragile hmmmmm: statement? 17:17 sapier animals modpack is 9MB if you strip unrequired stuf 17:17 sapier compressed of course 17:18 iqualfragile sapier: ever thought about replacing the textures, they are ugly to be honest 17:19 sapier I think about it any time but I'm not capable of creating better ones ... and by now there wasn't anyone to help 17:23 sapier so if you find someone to do it chances those better textures are merged are very big ... at least if they aren't crazy .... e.g. pink sheep 17:25 BlockMen http://www.chillhour.com/img/weird/pink_sheep_park/pink_sheep_1.jpg 17:26 sapier Why am I not surprised at all? :-) 18:16 specing So ... Is there a way to have /mods output printed to minetest client's stdout? 18:24 celeron55 editing the C++ code 8) 18:25 celeron55 as it is, it doesn't log chat at all, and neither does it know what mods are installed on the server 18:33 specing :/ 18:34 specing In other games everything that is outputed to the console is also outputed to stdout 18:41 sapier specing if you need this feature minetest is open source just add it and create a pull request ... or add a feature request on github 18:42 specing Apparently ostream doesen't have an operator << for a wstring :( 18:46 celeron55 specing: util/string.h: std::string wide_to_narrow(const std::wstring& wcs); 18:46 celeron55 we're equipped for these already 8) 18:55 specing Okay, its working 19:09 iqualfragile sapier: yeah, and getting it merged, you forgot that litle tiny detail 19:14 sapier come on guys we got from >80 pulls down to 55 in 4 weeks ... sometimes we should realize how much work we're doing too 19:35 Sokomine logging chat would be nice. lots of servers now come with irc connection, so the need is slightly reduced. i once patched my client to print all chat messages to stdout (mostly in the days where f10 more often led to crash than to calling up the history) 19:35 Sokomine and: thanks for all the good work :-) the game has become really nice 20:00 specing Sokomine: FEATURE, it opened a crash dialogue! 20:19 iqualfragile specing: -.- 20:50 proller announcing broken 21:04 specing proller: is that where all the servers went? 21:06 thexyz wait, does that mean all those servers use latest git master? 21:17 sapier1 production servers running on dev branch :-) funny 21:18 proller maybe e9e9fd7c3f12bc5119b567ad37527d777859dbc0 21:18 proller "production" ahahhahaaa 21:19 proller looks like no threads started 21:20 sapier1 proller what exactly are we lookin for? 21:20 ShadowNinja Erm, b01 or similar seems much more likely to have caused it. 21:21 proller no fetch threads constructors calls 21:21 sapier hmm the jthread cleanup maybe? 22:03 * VanessaE wanders in, reminds of http://pastebin.ubuntu.com/6581646/ which also broke connecting to redcrab.surect.net 30401..... 22:04 VanessaE (yeah yeah I know thexyz doesn't care about backward compat going that far back, but users do...) 22:04 VanessaE er redcrab.suret.net:30401 rather 22:05 sapier guess there's only one person to fix this quick ;-) 22:06 kahrl https://github.com/minetest/minetest/commit/e9e9fd7c3f12bc5119b567ad37527d777859dbc0#diff-d1673a893e7bb7fcc80282dabb44c2a3L542 22:06 kahrl I wonder how this doesn't lock up the whole server thread 22:06 VanessaE hmmmmm: did you see my report last night? 22:07 sapier kahrl for which thread? 22:07 kahrl afaik JThread::Start() doesn't return until the started thread calls ThreadStarted() 22:07 sapier that's only true for simplethread 22:07 kahrl huh 22:08 kahrl SimpleThread didn't have anything to do with starting threads, did it 22:08 kahrl only stopping them 22:10 sapier there's nothing like ThreadStarted() within JThread 22:10 sapier this is done by continuemutex(2) 22:10 sapier and running variable 22:11 sapier but I'm not as sure as I was about the emerge thread triggering after reading some comment "sometimes threads need to be retriggered" ... why the hell was it anytime necessary to restart a worker thread? 22:12 sapier the only reason for those threads to finish prior shutdown is a crash 22:12 kahrl I haven't drunk anything yet but I see a ThreadStarted() declaration in jthread.h 22:13 kahrl and it's not called by JThread itself 22:13 sapier lol :-) not implemented in posix 22:13 sapier pthread directly calls continuemutex2 22:13 kahrl hmm? it is 22:14 kahrl the win32 version does the same 22:14 sapier ohh sorry true 22:15 sapier good question ... it works ... maybe the whole mechanism is broken 22:16 sapier ok the ThreadStarted() is missing in httpfetch only 22:17 kahrl whatever thread happens to do the first httpfetch_async should get locked up 22:17 sapier funny noone realized that bug 22:18 kahrl actually no, it doesn't lock up since you removed the Start call ;) 22:19 sapier oops ... how many bugs did I add to httpfetch without anyone noticing? 22:20 sapier httpfetch.cpp L545 for ThreadStarted() ? 22:21 sapier why the hell did I remove it? 22:21 kahrl it doesn't really matter where it's called, as long as it's called somewhere 22:21 kahrl the other threads call it first thing 22:23 kahrl calling it early is good because it gives the thread calling Start() an earlier chance to continue 22:23 sapier https://gist.github.com/sapier/7995540 this should fix the most pressing issues true? 22:24 kahrl I think so 22:25 sapier I'm gonna push direct 22:28 * VanessaE warms up her git client... 22:28 sapier pushed 22:29 VanessaE building. 22:29 sapier sometimes not checking a return value is a good idea ... 22:30 sapier if it was checked this way of starting would cause errors 22:31 VanessaE no effect on the redcrab issue. 22:31 VanessaE didn't expect it to, just a quick check. 22:32 kahrl sapier: you mean Start()? yeah I guess the IsRunning call doesn't need to be there 22:33 kahrl although it doesn't really matter and I guess checking IsRunning makes the intention more clear 22:34 sapier yes but wouldn't stop it from beeing startet twice, at least within a small time window 22:35 kahrl it does indeed look like a race condition, thankfully Start() checks if (running) as well 22:35 sapier complete request handling is prone to race conditions ... never ever try to use multiple consumer threads with it 22:36 VanessaE [12-16 17:34] however the new git pull is spamming my server with {} over and over and over ---- [12-16 17:35] what commit ID ---- [12-16 17:36] C9ac9992c7a 22:36 VanessaE I guess by "server", kizeren means the console or log or something. 22:37 VanessaE (I have not seen this, nor does it bother me :) ) 22:37 sapier https://github.com/minetest/minetest/commit/c9ac9992c7a8addc4839fdcc379cc2a757c60fc0 this one? really? 22:37 kahrl sapier: the request queue model is pretty safe, as long as the data structures are implemented in a sane way 22:37 sapier no it isn't 22:37 sapier you check queue for empty and fetch a element later 22:37 VanessaE sapier: that's just where he's at, not necessarily the *cause* of the problem. 22:37 sapier if there are two threads taking elements from queue it's gonna fail 22:38 kahrl that's what I meant by sane data structure 22:38 sapier and if my pull request replacing sleep by semaphore based waiting is merged minetest will deadlock instead of crashing 22:39 kahrl although I don't particularly like Java it has some useful classes like BlockingQueue 22:40 sapier there's a way to do it right in my pull request it's just not used anywhere ... and of course you need a "empty" element to take from queue 22:40 sapier but anyone using the queue takes for granted he'll get a valid element 22:40 kahrl you don't need an empty element, just block until there is a valid element 22:41 sapier can't do that as it's called in main loop ... but I wonder why those things couldn't be done in separate worker threads 22:42 sapier yet you need that empty element to shutdown the worker threads 22:42 kahrl oh yeah, those 22:42 kahrl well that equivalent to a poll() call with a timeout and of course that version might not return a valid element 22:42 kahrl that's* 22:43 sapier atm minetest assumes to fetch a valid element after checking for empty ... that's not true atm too .. but causes a instant crash anyway 22:44 kahrl where? 22:45 sapier connection.cpp L595 for example 22:45 sapier m_command_queue.pop_front(); is actually a pop from a mutex queue with timeout 10ms 22:46 kahrl in that case there is only one reader so there is no problem 22:46 sapier yes there's always a single reader ... thats why it does work 22:47 sapier https://github.com/minetest/minetest/pull/1054 I added warnings to those locations at improving mutex queue 22:49 kahrl is it actually thread-unsafe if there is more than one reader? 22:49 sapier yes 22:50 sapier at least it may cause random delays wich aren't supposed to be there at those calls 22:50 sapier for my new version of course the original implementation will crash on multiple readers 22:50 kahrl why crash? it locks the mutex while checking for a new element 22:51 sapier mutexqueue throws "item not found" on timeout ... this isn't cought anywhere 22:51 kahrl ah 22:51 kahrl well I guess that's because there is no need to 22:52 sapier not if you have only one reader :-) 22:52 sapier but you wouldn't see that small detail from code ;-) and using a bool as timeout isn't quite good style too 23:38 VanessaE servers updated with sapier's latest commit. 23:39 VanessaE they are announcing to the master list now 23:39 kahrl good 23:39 kahrl guess sapier didn't like that ;) 23:44 ShadowNinja I updated, but mine isn't anouncing.. 23:56 BlockMen can i push this https://github.com/BlockMen/minetest/commit/73de1c50348ff20731bd0c4ae79ad59329e1501b to fix #1057 ? 23:56 ShadowBot https://github.com/minetest/minetest/issues/1057 23:58 kahrl BlockMen: seems like hiding the symptoms rather than fixing a bug 23:58 kahrl why are single character labels not shown?