Time Nick Message 05:09 hmmmm i am having a lot of trouble with the lua stuff 05:10 hmmmm seemingly randomly -- it's based on coordinates though -- when i access a value in the array returned by my function it'll apparently be nil 05:10 hmmmm is this a common problem, maybe? 05:12 hmmmm http://pastebin.com/jJBNtu0r for the hell of it, i'll paste the problem here. someone might be able to help. 05:13 hmmmm i am not setting anything to nil - everything from the C++ side is exactly as expected 05:13 hmmmm seemingly, anyway. 05:13 hmmmm i modified WorldEdit 4 in order to test this 05:29 hmmmm i have a feeling that the lua stack is getting screwed up 05:30 hmmmm if i add print(noiseval) after local noiseval = ... 05:30 hmmmm it'll print out on the first iteration and all, but on the second, it errors with "bad argument #1 to add_node, table expected, got nil" 05:34 VanessaE the Lua code looks clean to me, on first glance 05:35 VanessaE also, you don't need ,1 in your for loops. just fyi,. 05:35 hmmmm nevermind what i said previously, that was me being dumb and commenting out np. really, it tries to call kill() when i pass a nil to print(). so anyway i tried print(type(noiseval) and i am getting interesting results.. every x = 2 and 3 are nil and the rest are numbers 05:35 hmmmm every 2 and 3... .... ...WTF 05:39 hmmmm if this were some sort of memory corruption i would be having way more problems everywhere else, no..? 05:39 VanessaE depends on what's getting corrupted. 05:40 VanessaE in the old days, I would have said you might be overflowing some memory area by just a few bytes - not enough to cause major issues, just a few wtf's 05:40 hmmmm i'm clearly not though 05:41 VanessaE right, in this day and age I guess it's more difficult to do that sort of overflow 05:41 hmmmm it's not - but there's just nowhere for me to do that 05:43 hmmmm somewhere in between the C++ to Lua code, those tables are getting really corrupted 05:44 hmmmm could it be getting garbage collected? 05:45 VanessaE no idea 05:45 hmmmm you should be able to return a 2d array in lua 05:45 hmmmm i don't see why not 06:07 hmmmm i'm going to take a break from this bullshit 10:02 Progers_ Hi:D 10:02 Progers_ hi celeron55 ) 10:03 Progers_ celeron55 you are on Ubuntu? 10:08 sfan5 i think he's busy right ow 10:08 sfan5 *now 10:12 RealBadAngel yeah, with snorring ;) 10:13 RealBadAngel its sunday mornin, almost no folks there 10:14 sfan5 morning? its 11:16 10:15 RealBadAngel well, since its sunday... ;) 10:16 RealBadAngel i also slept way longer than usual 12:33 thexyz just as celeron55_ requested, all travis builds fail now >< 12:34 thexyz apparently, that's because they updated clang to 3.2 12:37 RealBadAngel at least it worked for a few days ;) 13:11 sfan5 :D 13:43 RealBadAngel Calinou, you there? 13:45 RealBadAngel oops 17:37 Progers Hi 20:26 Progers hi 20:59 PilzAdam thexyz, this should be done too: https://github.com/PilzAdam/minetest/commit/28f5b55643080e07a89af5a2e21ffadf3781be19 20:59 thexyz PilzAdam: merge it then 21:00 thexyz though I don't really like the whole idea of "on_rightclick" 21:00 thexyz especially the fact that everything is done server-side 21:09 thexyz celeron55: I rebased my leveldb pull request https://github.com/celeron55/minetest/pull/326 22:17 dsimon hey all, i'm looking for some advice on what i should do next on my client_requests_blocks branch 22:17 dsimon it's been a while since i worked on it, and c55 helped me out a bit with it 22:17 dsimon but it never got to a point where it was ready to be merged with master 22:18 dsimon in particular, has anything about the mapblock model or network infrastructure changed massively in the last 6 months or so that i need to adjust for? 22:19 dsimon and also, what's the best way to stress test? 22:20 dsimon the branch is part of c55/minetest github if anybody wants to poke at it 22:34 dsimon brb 23:47 hmmmm oh my god 23:47 hmmmm i'm going to murder something 23:47 hmmmm want to know what my lua problem was? 23:48 hmmmm the numbers i was using as index arrays in Lua were apparently a bit off or something 23:48 hmmmm something that didn't show up when i print()ed the coordinates 23:48 hmmmm as a result i'd get nil instead of my number 23:48 hmmmm so i have to use map[math.floor(x - x1) + 1] ... 23:49 hmmmm why does lua have to be dynamically typed 23:49 hmmmm dynamically typed languages are HORRIBLE. 23:52 dsimon or at least dynamically typed languages with bad error reporting and overly "helpful" automatic type casting 23:52 hmmmm oh hey wait you're the one doing the client_requests block branch 23:52 dsimon yah 23:52 hmmmm you went missing for a couple months there 23:52 dsimon yeah, 5 :-) 23:52 dsimon work got really busy 23:52 dsimon but i'm back to having at least some free time now 23:53 hmmmm no problemo 23:53 hmmmm the mapblock model hasn't changed, neither has the network infrastructure... a couple packets have been changed and added but nothing that would break what you currently have 23:54 hmmmm so what does it need to get finished, would you say? 23:54 dsimon well, first off, there are some bugs 23:55 dsimon sometimes blocks aren't being transferred 23:55 dsimon which is not a good bug since that issue is the whole point of my changes :-) 23:55 dsimon but i should be able to track it down; it's more likely to be an outright logic error than some subtle race condition thing 23:55 hmmmm oh that reminds me, i forgot to tell you about the addition of TCP for bulk transfers 23:56 dsimon secondly, i need to get it working under load 23:56 hmmmm I believe right now it's only being used to transfer media, not blocks, so 23:56 dsimon ah, ok 23:56 dsimon that should be alright, my changes only involve blocks 23:57 dsimon anyways, c55 tried out my changes and said that there were some performance issues 23:57 dsimon he made a few improvements to address that, mostly tweaking various delay constants 23:57 hmmmm i see 23:58 hmmmm he kept telling me to take a look at it but i never really did 23:58 dsimon but i'd like to see if i can't get it working better at core 23:58 hmmmm i can't give too much input on it 23:58 dsimon which is why i'm interested in stress testing 23:58 dsimon ok 23:58 hmmmm i've been working on a lot of other things related to the mapgen and noise 23:58 dsimon the main point of it is like the name says: the client requests what blocks it wants, instead of the server providing the blocks that it predicts the client needs 23:58 hmmmm well, i know that much 23:58 hmmmm as far as specifics with your code though 23:59 dsimon ok 23:59 dsimon well, the data structure for mapblock changes in one way: there's a counter for the # of changes made, basically a version number 23:59 dsimon the client requests blocks and specifies what version, if any, it already has 23:59 dsimon that way the server does not have to retransmit blocks that are unchanged