Minetest logo

IRC log for #minetest-dev, 2013-11-30

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

All times shown according to UTC.

Time Nick Message
00:00 troller sapier, its on start
00:00 sapier debug?
00:00 sapier can you try --disable-unit-tests?
00:03 troller no, near menu
00:04 ShadowNinja troller: You bought a XenForo license?
00:04 sapier the only thing I see is someone calling pthread_kill ... which is something you can't actually do and expect to be able to continue
00:05 sapier pthread_kill is a desperate method to stop things if everything is already lost
00:07 troller ShadowNinja, me - not ;)
00:08 ShadowNinja troller: Who did then? xyz?
00:08 troller ask him
00:10 troller sapier, its after pressing "play" in singleplayer
00:11 sapier hmm
00:12 troller http://paste.org.ru/?b6ya49
00:12 sapier can you remove like 97 in l_async_events.cpp?
00:13 sapier ok something is obviously terribly wrong when shuting down the worker threads on openbsd
00:14 Exio4 openbsd? wasn't it freebsd
00:15 troller http://paste.org.ru/?ebidke
00:15 PilzAdam sapier, thread apply all bt
00:15 sapier bsd
00:15 troller ^^ without kill
00:16 sapier the asyncenvironment should wait for worker threads to finish if this doesn't work for some reason on bsd your problems would be exactly what I expect to happen
00:19 sapier argh
00:19 sapier ok I know whats wrong ... no idea why this only happens for you
00:20 john_minetest Leaving now.
00:20 john_minetest soon
00:22 john_minetest now
00:22 john_minetest cya
00:22 john_minetest left #minetest-dev
00:23 Exio4 sapier: what is wrong? ;P
00:24 sapier I added stop thread and used running variable to do so
00:24 sapier then I wait for thread to really stop .... by checking running variable ;-)
00:24 sapier if course that wont work at all
00:24 Exio4 hehe
00:25 sapier stop request and running need to be different variables of course
00:34 Taoki joined #minetest-dev
00:39 hmmmmm joined #minetest-dev
00:40 iqualfragile btw: @forummods: https://forum.minetest.net/mmdb/queue/
00:42 iqualfragile sapier: plz add escape button
00:43 PilzAdam iqualfragile, eh, is it wanted that I can access that site?
00:43 sapier later
00:44 iqualfragile PilzAdam: if your userid is in this list: 194, 332, 3279, 153, 239, 1580, 4473, 1963, 4908, 249, 3710, 2443, 4128, 2429, 231, 4088
00:50 sapier troller can you check this one https://github.com/minetest/minetest/pull/1026
00:50 us_0gb joined #minetest-dev
00:52 sapier I guess I shouldn't aproove my own mods :-)
00:52 PilzAdam sapier, there are textures missing in growing_cactus
00:52 sapier oops have default textures been renamed?
00:53 PilzAdam no, but there is an empty textures folder
00:53 sapier then no textures are missing
00:53 sapier that mod doesn't have any own textures
00:54 sapier same for growing trees
00:54 us_0gb Why is there a textures directory then?
00:55 sapier because those mods are quite old and I followed mod directory rules a little bit to exactly by that time ;-)
00:55 us_0gb Ah, got it.
00:56 sapier but I don't want to create a new version just to remove a directory :-)
00:57 us_0gb Oh, another question, for anyone. I notice that Minetest accepts textures in <module>/textures as well as <module>/models. Is that intended?
00:59 sapier even if it wasn't we couldn't change it once released with stable version
00:59 us_0gb I've thought about pitting textures in an arbitrarily-named directory to see if that would be accepted as well. I'll have to try that when I have a moment.
00:59 us_0gb *putting
01:00 hmmmmm joined #minetest-dev
01:00 sapier I assume only official folders have a chance at least if you want to have sem transfered by server
01:05 troller sapier, seems better, 10 runs and 0 coredumps
01:06 troller was 50% hit
01:06 sapier yes was a huge bug should've occured for others too but maybe a different scheduling was required to trigger it more often
01:07 sapier ok any core dev here to get this one merged prior others get same problems?
01:08 * troller still coredev
01:08 troller i'm okay
01:10 sapier everyone could claim to be you ;-)
01:12 Exio4 you could just merge it
01:12 Exio4 it is a bug fix for a code you posted somewhen recently
01:13 sapier as this is a critical bug I will push it but usually changes like that should be reviewed to avoid things like exactly this bug get merged ;-)
01:14 sapier hope I haven't broken windows build
01:14 Exio4 ha! :P
01:14 hmmmmm ah!
01:15 Exio4 i should setup a build-env with ms vs 2012, are there any updated docs for that?
01:15 hmmmmm sapier committed the lua async jobs
01:15 Exio4 (i've a VM with W7
01:15 Exio4 +MS VS 2012)
01:15 sapier yes got 3 agreements .... and had to fix 3 critical bugs noone noticed before
01:16 hmmmmm that's a bad name for that commit, it should be something more fitting like "Implemented Lua Async Job API; now used in modstore and favorites tab"
01:17 sapier I guess it's to late to rename ... isn't it?
01:17 hmmmmm yep
01:17 hmmmmm don't forget to close your jsemaphore thing
01:17 sapier but at least the asynchronous is mentioned in name
01:17 hmmmmm what do you think we should do about httpfetch now that it's kind of unnecessary?
01:18 Exio4 it isn't unnecessary
01:18 sapier as far as I know httpfetch is required for vanessaE's bug
01:18 hmmmmm ah
01:18 sapier I already have a (almost) up to date branch here I'll rebase once again and issue a pull request
01:18 hmmmmm wow, the menu is fast :p
01:19 sapier hope so it uses 4 asynchronous threads ;-P
01:20 zat1 joined #minetest-dev
01:26 hmmmmm hah, I wrote almost the same exact code in the latest commit today at work
01:38 sapier https://github.com/minetest/minetest/pull/1027
01:47 VanessaE um...  why does building the server depend on irrlicht?
01:52 hmmmmm oh dear
01:53 hmmmmm the main menu freezes the hell up if you try to X out of it
01:54 iqualfragile sapier: whats the resolution of the mods titlepictures in the minetest client?
01:54 iqualfragile and: is this resolution final or do you intend to change it (if yes: to what)
01:54 sapier there is no resolution it's scaled to this size
01:55 sapier no I don't intend to change it as this would require changeing whole layout
01:57 iqualfragile so: to which resolution is it scaled to? (i intend to provide thumbnails)
01:57 VanessaE um, hello?
01:57 sapier it's scaled to minetest block inventory block sizes
01:58 sapier 3,2
01:58 sapier width 3 height 2
01:59 iqualfragile can you tell me the ammount of pixels used?
01:59 sapier no idea sorry
02:03 VanessaE again, why does building the server require irrlicht?  shouldn't that be client-only?
02:03 sapier guess noone did cleanup usage of irrlicht datatypes
02:05 VanessaE *sigh*
02:05 * VanessaE installs 121 MB worth of extra crap just to compile a 3.8MB binary.
02:06 sapier guess chances to get someone to fix this aren't that big
02:11 OldCoder joined #minetest-dev
02:36 sapier left #minetest-dev
02:38 Miner_48er joined #minetest-dev
03:32 ShadowNinja VanessaE: Because a lot of things that the server uses (Like u32) are in irrlicht.
03:33 VanessaE right
03:33 VanessaE this needs cleaned up soon.
03:36 ShadowNinja Easy fix for types: #ifndef(IRRLICHT) typedef u8 uint8_t; typedef u16 uint16_t; ... #endif
03:37 VanessaE the cmake stuff would need a corresponding tweak to allow irrlicht to not be defined.
03:37 VanessaE (presently, it errors out)
03:53 hmmmmm that's probably the one thing that C needed most, a preprocessor macro for determining if a type has already been defined
06:13 werwerwer joined #minetest-dev
06:23 ShadowNinja Sapier forgot to add a error handler to his async API... And somehow calling scriptError(char* fmt, ...) compiled...
06:25 ShadowNinja lua_getglobal(L, "engie"); -- Note misspelling. How did this run?
06:25 us|0gb joined #minetest-dev
06:29 ShadowNinja /TODO replace by ShadowNinja version not yet merged to master
06:36 ShadowNinja His custom scriptError() doesn't throw a LuaError(or anything to stop execution). Maybe there's a reason for that.
06:45 ShadowNinja Seems he fixed the typo.
06:49 ShadowNinja hmmmmm: Perhaps set_lighting(light[, p1, p2]) to show that the last two are optional? (ditto for calc_lighting)
06:50 hmmmmm sure... I wasn't sure what the notation was for optional parameters
06:50 hmmmmm i'll fix that up in the next commit
06:51 hmmmmm do you guys know offhand if mapgen v6 still has those partial cave shadows?
06:51 hmmmmm i need to know if i screwed something up just today
06:55 ShadowNinja hmmmmm: Partial cave shadows? Screenie?
06:55 hmmmmm screenshot?
06:55 hmmmmm that defeats the purpose
06:56 hmmmmm I could just go back to a different commit and test myself
06:56 ShadowNinja Well, that description doesn't sound familiar...
07:31 proller joined #minetest-dev
07:32 hmmmmm you know
07:33 hmmmmm i was playing on minimal for a little bit just now and I realized you just can't beat the original textures
07:33 hmmmmm so much nicer imo
07:44 RealBadAngel joined #minetest-dev
07:45 RealBadAngel hi hmmmmm
07:45 RealBadAngel have you tried shaders already?
07:45 VanessaE RealBadAngel: your shaders are FAIL :(  http://digitalaudioconcepts.com/vanessa/h​obbies/minetest/screenshots/Screenshot%20​-%2011292013%20-%2003%3a52%3a38%20PM.png
07:46 VanessaE you broke all solids that have alpha :P
07:46 hmmmmm not yet, but it seems you did something to test_shader_1
07:46 VanessaE and your code needs rebased....again
07:51 RealBadAngel 1st) its not a fail
07:51 RealBadAngel but wrong defined node
07:52 VanessaE um
07:52 RealBadAngel only alpha shader is allowed to use texturtes alhpa
07:52 VanessaE those leaves in the background have not changed defs in forever
07:52 RealBadAngel all other shaders cannot use it
07:53 VanessaE every node with alpha is broken with your shaders now.  this wasn't the case before you tried to apply that inventory fix.
07:53 RealBadAngel thats what setting use texture alpha is for
07:53 VanessaE nononononononononononon
07:53 VanessaE I don't mean that kind of alpha
07:53 VanessaE I mean any node that has any transparency at all.  like a dry shrub or leaves.
07:54 RealBadAngel i have rebased it twice today
07:55 VanessaE or default glass, or jungle grass, etc.  anything that is not a solid, opaque cube.
07:55 VanessaE ok, lemme pull
07:55 RealBadAngel maybe i have messed something
07:55 VanessaE CONFLICT (content): Merge conflict in builtin/mainmenu.lua
07:55 RealBadAngel ok, i am sayin this for the record
07:56 RealBadAngel i will revert all the offending small, as big as one character even pulls
07:56 VanessaE don't.
07:56 RealBadAngel that will come in way of commit that changes almost 40 files
07:56 RealBadAngel thats sick
07:56 VanessaE this was all work on the mod store or something
07:56 RealBadAngel no
07:57 RealBadAngel nore/sapier are pushin all the time to mainmenu
07:57 RealBadAngel and im forced to rebase manually
07:58 RealBadAngel nore's pull was just one character
07:59 VanessaE ok, so it's the weekend...
07:59 VanessaE let's get this done right now then
07:59 darkrose joined #minetest-dev
07:59 VanessaE rebase it one last time, lemme bug-check the result, and push the fucking thing to master.
07:59 RealBadAngel i got it done a few times already
08:00 darkrose joined #minetest-dev
08:00 RealBadAngel now im goin to sleep
08:01 VanessaE come on, one last time :)
08:01 RealBadAngel it was last time already
08:01 RealBadAngel got sick of it
08:01 RealBadAngel goin to sleep
08:01 RealBadAngel bye
08:08 VanessaE ...
08:08 VanessaE he keeps such weird hours.
08:10 kahrl joined #minetest-dev
08:34 Calinou joined #minetest-dev
08:43 sapier joined #minetest-dev
08:51 sapier ShadowNinja how do I prepend a string to a lua error with your new handlers?
09:18 sapier RealBadAngel https://github.com/sapier/minet​est/tree/fix_rba_shader_rework rebased but transparency is still broken ... I don't have any clue about fixing shaders
09:19 mrtux joined #minetest-dev
09:40 Calinou joined #minetest-dev
09:46 nyuszika7h joined #minetest-dev
09:57 Jordach joined #minetest-dev
11:09 nore joined #minetest-dev
11:09 proller joined #minetest-dev
11:28 ImQ009 joined #minetest-dev
11:32 john_minetest joined #minetest-dev
11:33 john_minetest Hello
11:40 john_minetest Is this fixed yet: https://github.com/minetest/minetest/issues/203 ?
11:50 iqualfragile joined #minetest-dev
11:51 john_minetest https://github.com/minetest/minetest/issues/102 -> Didn't ever experience. Might be fixed.
11:51 john_minetest https://github.com/minetest/minetest/issues/206 -> Fixed? Idk.
11:55 john_minetest And: I have free time, give me something to test :)
12:00 celeron55 this is boring but: you could quickly test if you can cause 102
12:01 celeron55 also, i closed 203; 206 still exists afaik
12:02 john_minetest Okay, I just posted it because it is over a year old and minetest changed a lot over the time.
12:05 john_minetest This pull should be made as soon as tested. Very good for servers with tons of mods: https://github.com/minetest/minetest/pull/1027
12:06 sapier john thats why this pull is there ;-)
12:06 sapier but I want to merge RealBadAngels shader fixes first ... at least if the transparency issues are fixed
12:07 john_minetest okay
12:08 john_minetest Shaders worked before but somehow it went wrong
12:09 sapier I can't reproduce 102 I closed it commenting to reopen with more detailed information about repro steps
12:09 sapier reopen if still present for calinou of course
12:09 john_minetest Oh, just found https://github.com/minetest/minetest/pull/426 -> Is this fixed? I thought I have seen it being fixed somewhere but not sure.
12:10 celeron55 sadly that hasn't been merged or fixed
12:11 john_minetest Okay, I think I will try to rebase it.
12:12 celeron55 it will conflict a lot with proller's liquid changes
12:16 john_minetest Okay...
12:23 werwerwer joined #minetest-dev
12:39 john_minetest If you need a new feature tested, just ping me
12:41 sapier john_minetest you could test the httpfetch branch if you want to
12:41 sapier downloading textures from server should be a usefull testcase
12:42 sapier but basicaly everything downloaded is switched to httpfetch implementation
12:43 Gethiox joined #minetest-dev
12:48 john_minetest sapier: okay, I will test this in an hour or so.
12:53 sapier shouldn't environmental step be called as often as entity steps?
12:54 Zeitgeist_ joined #minetest-dev
12:55 nore aren't they?
12:56 sapier doesn't look like
12:56 sapier I put a print in environment step callback in lua
12:56 sapier and one in on_step of a entity
12:57 sapier I'd expect them to be show A B A B A B ... but what I seee is AAAAAABAAAAAABAAAAAA
12:57 john_minetest sapier: Now testing httpfetch
12:58 nore sapier, which one is A?
12:58 sapier A is environment ... but there's some other code around ... guess I need to do a simple test to be sure
13:00 john_minetest sapier: Do I have to enable httpfetch somewhere?
13:01 sapier no
13:02 sapier it's a drop in replacement if there's no bug you won't realize any change (except some fixed bugs)
13:02 john_minetest so media will load faster?
13:03 sapier don't know if faster but at least there shouldn't be any lost ones
13:21 john_minetest sapier: minetest httpfetch just crashed
13:21 john_minetest investigating
13:24 sapier nore forget about it ... was a mesurement error
13:25 john_minetest sapier: minetest-httpfetch takes ages when loading media
13:26 john_minetest I don't think that it terminates at all
13:26 sapier interesting that one should be fixed by it but I guess we need kahrl to verify it I just rebased his work
13:29 john_minetest oookay
13:30 john_minetest some  bug found that exists in minetest master
13:36 nore I found a bug: detached inventory updates are always immediately sent to client, even if there are 200 updates in a second
13:37 nore and if the update is quite big (lot of metadata in item), it blocks everything from being sent to client during that time
13:37 john_minetest Please somebody test: Click in the textbox and press arrow key
13:37 john_minetest .
13:38 john_minetest It might crash but I am not sure if reproducable
13:39 nore john_minetest, in which one?
13:39 john_minetest in master
13:39 john_minetest minetest/minetest
13:40 nore I mean, in what textbox?
13:41 john_minetest empty name, password,port or IP
13:41 john_minetest texbox has to be empty
13:42 nore john_minetest, it does not have to, but it only crashed with up and down arrow
13:42 nore (well, not crash, nice error message...)
13:43 john_minetest sapier: BUG!
13:44 john_minetest sapier: When connecting with httpfetch I get a hang sometimes with http://pastebin.com/raw.php?i=sE75WEHS
13:45 nore can someone explain me why every update in an itemstack is sent to client with a detached inventory, and not else?
13:45 john_minetest nore: It always gives error message for me when pressing any arrow in empty field
13:45 john_minetest nore: correction, only up and down
13:46 nore and in non-empty fields?
13:46 sapier can you provide backtrace of all threads john?
13:47 nore sapier, any idea about that? ^
13:48 nore (detached inventories get sent when there is any change...)
13:49 john_minetest sapier: How to do that?
13:50 sapier nore I'm not sure if I know what you're talking about
13:50 nore well, if I change a detached inventory, even if I do that 250 times in a second, every update is sent to the clients
13:51 nore preventing any server-to-client communication during that time
13:51 nore the other way works fine, though
13:51 nore and if I change a node inventory, it does not do that
13:52 sapier I guess noone did think about a sane inventory update handling
13:52 john_minetest sapier: Backtrace of all threads: http://pastebin.com/raw.php?i=6Zfx5qjt
13:53 sapier two threads only?
13:53 john_minetest sapier: That's what it displays
13:53 sapier wait let me have a look if the stop fix is within this branch ... hope I didn't forget to merge that last one
13:55 john_minetest Sapier full bt: http://pastebin.com/raw.php?i=c3Ntaa6x
13:55 sapier that seems to be a shutdown but whatever triggered it is already gone
13:55 john_minetest To reproduce: Try to login. Try it over and over again, abort when it starts to connect.
13:56 john_minetest Sometimes it hangs up first try, sometimes you need 4 tries.
13:56 john_minetest Couldn't reproduce in minetest/minetest
13:56 john_minetest sapier: After the hangup I did ctrl-c
13:56 john_minetest It just hangs, it doesn't crash
13:57 sapier could you try compiling -O0 and run in debugger?
13:57 john_minetest sapier: other error now
13:57 john_minetest Program received signal SIGSEGV, Segmentation fault.
13:57 john_minetest [Switching to Thread 0x7fffe6ffd700 (LWP 10713)]
13:57 john_minetest 0x00007ffff40d1484 in std::_Rb_tree_rebalance_for_er​ase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) () from /usr/lib/libstdc++.so.6
13:59 sapier someone is crashing while cleaning up
13:59 john_minetest Backtrace of all thread: http://pastebin.com/raw.php?i=2ZexvWEc
13:59 sapier how do you trigger it?
13:59 john_minetest 2nd time
13:59 john_minetest Just press "Connect"
14:00 sapier ok I try to reproduce
14:00 john_minetest If it doesn't crash, get back to login screen
14:00 john_minetest Try again
14:03 hmmmm joined #minetest-dev
14:04 zat joined #minetest-dev
14:09 john_minetest ...
14:09 john_minetest sapier: There are two different crashes:
14:09 john_minetest The first one says something like:
14:09 john_minetest [Thread 0x7fffec4fd700 (LWP 11195) exited]
14:09 john_minetest [Thread 0x7fffe6ffd700 (LWP 11199) exited]
14:09 john_minetest [Thread 0x7fffe77fe700 (LWP 11198) exited]
14:09 john_minetest [Thread 0x7fffed222700 (LWP 11196) exited]
14:09 john_minetest and then just hangs up
14:09 john_minetest no backtrace
14:10 john_minetest The other one is that one:
14:10 john_minetest 0x00007ffff40d1484 in std::_Rb_tree_rebalance_for_er​ase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) () from /usr/lib/libstdc++.so.6
14:10 john_minetest With actual crash and backtrace.
14:10 sapier thats just a follow up error
14:10 john_minetest Couldn't reproduce any of them in minetest/minetest
14:11 sapier ok
14:12 iqualfragile joined #minetest-dev
14:12 john_minetest Oops, I might have cluttered VanessaE's server logs...
14:12 john_minetest :|
14:18 john_minetest anyways. re-checked. Bug not present in master
14:38 hmmmm 07:52 RealBadAngel only alpha shader is allowed to use texturtes alhpa
14:39 hmmmm the whole way the first category of nodes works is that they can have alpha, but if the top alpha bit is set then it's transparent, otherwise it's solid
14:39 hmmmm let me see his code....
14:40 hmmmm what the hell is this     float specular = pow(clamp(dot(R, lVec), 0.0, 1.0),1.0);
14:40 hmmmm pow(x, 1.0)? ;/
14:41 sapier I assume a good compiler will use x :-)
14:41 hmmmm that's glsl
14:41 hmmmm how advanced of an optimizer do you think a driver is going to keep
14:41 sapier :-) so not a good compiler
14:42 hmmmm right off the bat, it seems like he might be using solids_shader for most things when he should be using leaves_shader for all nodes that aren't translucent (e.g. liquids, clouds, so on)
14:42 hmmmm let me actually look at the code itself
14:43 hmmmm alright this is not right https://github.com/RealBadAngel/minetest/com​mit/12c4fd9d6ae8ababb7decdf34d2969ca7e02cb53​#diff-18513665750ef5adf42b5ec29e14162eR824
14:43 hmmmm is this a trick to making us think that we can disable parallax occlusion a la proller with finite liquids
14:44 hmmmm s/to/for/
15:02 proller joined #minetest-dev
15:04 nore hmmmm, what do you mean about the swap_node thing?
15:07 hmmmm well the purpose of swap_node is to preserve metadata across setting one node to another, correct?
15:07 hmmmm if that's the whole point, why are you re-inventing the wheel and recreating add_node when you can simply add a parameter that you could set to true called, preserve_metadata or something
15:11 nore yes... but the question was if I would still need to add another command id, or not
15:12 hmmmm no.  don't add that.  add an optional field to the add_node packet instead.
15:12 Exio4 wait, isn't there a "better way" to do the itemdef thing than https://github.com/RealBadAngel/minetest/com​mit/12c4fd9d6ae8ababb7decdf34d2969ca7e02cb53​#diff-598e9ded205c524fa4804d7869c9c4cdR393?
15:13 nore hmmmm, how would I do that and still keep compatibility?
15:15 celeron55 it might be possible to just mark the mapblock not sent for older clients
15:15 celeron55 (but still send the add_node too so that the visuals change immediately)
15:16 nore celeron55, isn't there a set_meta command?
15:16 nore but the question I asked was about adding an optional parameter and still keep compatibility for that command
15:17 hmmmm how would you keep compatibility if you add an entirely new packet anyway?
15:17 hmmmm at the end of each packet serialize/deserialize there's a try catch block where you get optional parameters
15:17 hmmmm that's where you'd put this parameter
15:17 hmmmm i'm not exactly sure what celeron is talking about
15:17 celeron55 the client doesn't care if it gets extra data after the data it knows in a packet
15:18 celeron55 hmmmm: well i'm not exactly sure whet you two are talking either 8-)
15:18 celeron55 what*
15:19 hmmmm he wants to add a new command, TOCLIENT/TOSERVER_SWAPNODE that's exactly the same as ADDNODE except it preserves metadata across the node swap
15:19 john_minetest older clients -> Why not just do protocol version ++ ?
15:19 celeron55 john_minetest: do you mean drop support for old clients?
15:19 hmmmm this isn't going to be compatible with older clients any way you look at it, because he'd have to increase the protocol version anyway to do that
15:20 hmmmm at least here old clients won't completely break
15:20 celeron55 john_minetest: protocol version isn't a magical thing; if you raise it, then you either have to drop support for old client or somehow maintain support with old clients; and in either case you raise the version
15:21 celeron55 hmmmm: that's what i was addressing all the time
15:22 celeron55 it's not that hard to support old clients if one wants to
15:22 celeron55 and everyone will be pissed off if they can't update their servers to git without dropping all stable users
15:24 VanessaE joined #minetest-dev
15:25 nore celeron55, but should I add a new event type, or not? (MapEditEvent)
15:25 celeron55 if somebody doesn't know: currently minetest handles absolutely all node metadata changes (network-wise) by marking the corresponding MapBlock "not sent", and after a short while the thing gets fully re-sent
15:25 OWNSyouAll joined #minetest-dev
15:26 celeron55 nore: doesn't matter; either new event or a boolean parameter to MEET_ADDNOE
15:26 nore I reckon I will usea new event then...7
15:26 nore -7
15:28 jin_xi joined #minetest-dev
15:29 john_minetest This client problem is why I wanted all that new stuff pulled BEFORE 0.4.8...
15:29 Exio4 uh?
15:30 john_minetest Adding a ton of features directly after version increment isn't very good.
15:30 hmmmm ah
15:30 sapier john_minetest you'll never pull "all that new stuff" ;-P
15:30 celeron55 john_minetest: it's exactly how it should be done
15:30 hmmmm I didn't know that actually, I don't really pay attention to node metadata as much as I should
15:30 hmmmm that makes the case for swap_node functionality even stronger
15:31 john_minetest So the git version is one week newer than the official one but the feature set differs extremely.
15:31 celeron55 nore: and it's fairly straightforward from there; just add a boolean parameter to Server::sendAddNode and check there if the client is old or new; if new, send it the parameter in TOCLIENT_ADDNODE; if old, send the parameter-less kind of TOCLIENT_ADDNODE and additionally mark the block not sent for the old client so it's metadata gets corrected
15:31 hmmmm alright, so nore, did you hear that?  add the optional parameter to ADDN
15:31 hmmmm yeah what he said
15:31 sapier I wonder why linux kernel maintainers pull all that new stuff right after releasing a kernel version john_minetest ;-)
15:31 hmmmm he ninjaed me
15:32 nore ok, that's what I'm doing...
15:32 nore so, I change the packet size from 8+mapnodesize to 9+mapnodesize
15:32 nore and add a boolean at the end?
15:32 john_minetest sapier: Linux kernel is developing fast. New one every week, not every month.
15:32 proller hmmmm, can you make biomes heat and humidity noises configurable from settings?
15:33 hmmmm they are I thought
15:33 hmmmm nparams_biome_*
15:33 hmmmm ?
15:33 Exio4 isn't minetest developing fast too? ;)
15:33 sapier so you'd be more comfortable with having a broken stable with new features for half a year john_minetest? ;-)
15:33 john_minetest It is developing fast, but the versioning is <nevercanges>.<changes in two years>.<major version>
15:34 hmmmm john_minetest, every month isn't too bad
15:34 nore hmmmm, like that? ^
15:34 john_minetest hmmmm: Is minetest getting a new version every month?
15:34 sapier we all kow our releases are tooo slow ;-)
15:34 john_minetest I don't think so.
15:34 hmmmm i hope so
15:34 proller hmmmm, but where they readed from config? i can found only hardcoded
15:34 john_minetest 0.4 was last year in september or so.
15:35 sapier but john as you started testing again you see pulls get merged if someone cares to test em
15:35 john_minetest sapier: Yeah. But that means nobody cared before.
15:35 Exio4 it is when-the-features-are-ready, and because leveldb and lots of shit merged it got delayed even more that it should
15:35 hmmmm I am hoping for a christmas 0.4.9 release
15:35 john_minetest With a minetest release every month I would be okay.
15:36 john_minetest But not more often and not much less.
15:36 sapier I suggest adding only httpfetch and shaders as big patches till christmas this way we could really release then
15:36 john_minetest yep. shaders and httpfetch
15:36 sapier of coutse small bugfixes are always fine
15:36 sapier -t+r
15:36 celeron55 release interval is quite directly proportional to the amount of new stuff in each release
15:37 hmmmm proller, I see, I'll add that
15:37 celeron55 so to get the interval down, get the amount down
15:37 Exio4 that is why 0.4.8 took that long :P
15:37 hmmmm celeron, I wanted 0.4.8 out in a month and a half originally, remember?
15:37 hmmmm I think it has more to do with me not pushing for a release
15:37 celeron55 hmmmm: i know; you should've hammered the feature freeze with a bigger hammer
15:38 hmmmm I was busy with getting a job and moving and all that
15:38 celeron55 you've been doing the producer duties for long enough that everybody just waits for you to do them 8)
15:38 sapier imho we should use feature freeze more often ... don't know why people are that afraid from it
15:39 john_minetest https://github.com/minetest/minetest/is​sues?direction=desc&amp;milestone=2&amp​;page=1&amp;sort=created&amp;state=open <- GOGOGO!!!
15:40 sapier someone fixed the chat beeing above formspec months ago wasn't that ever merged or is there a regression?
15:40 Exio4 what bugfix are you talking about?
15:41 sapier I'm once added a pull request but there was a better solution than mine basicaly now if there's chat show you can't click any button in upper area of screen
15:42 Calinou joined #minetest-dev
15:44 Exio4 something like this but for the chat window? https://github.com/EXio4/minetest/commit/​cde2e1c6f716127b6a5c17de74d35b42d839fbf3
15:44 Exio4 chat
15:44 john_minetest sapier: chat is over formspec
15:44 Exio4 well, that ugly textbot :P
15:44 john_minetest I checked it
15:45 sapier no if I remember correct it was related to irrlicht layering
15:45 Exio4 ahm
15:45 thexyz sapier: because in linux kernel world most users use stable versions of software
15:47 sapier most USERS do for minetest too it's just developers like us using bleeding edge
15:49 thexyz yes, I mean, server owners
15:49 thexyz who want to 1) have all the newest features 2) have stability 3) have backwards compatibility 4) have forward compatibility
15:50 thexyz 5) update once per year 10 versions forward without any issues
15:51 celeron55 i wonder how much of the minetest server "ecosystem" 1) has become to be because of the things thexyz mentioned, 2) would actually need all that
15:52 sapier is there any way to find out if a particular node is active?
15:52 celeron55 i mean, it's kind of cumbersome to maintain all that, and especially new developers are prone to slipping in bugs that break it
15:54 celeron55 sapier: on server? C++ or Lua?
15:54 sapier on lua
15:54 iqualfragile joined #minetest-dev
15:55 celeron55 i think no
15:55 sapier I realize strange crowds of mobs but mobs aren't supposed to spawn near others ... I assume thos mobs are spawned within inactive areas and instantly deactivated ... this way at next try that particular location seems to be "free"
15:56 nore https://github.com/minetes​t/minetest/pull/1017/files <-- better?
15:56 sapier I fix this on activation ... but activating 50 mobs at once causes lag
15:58 nore celeron55, hmmmm, so?
15:59 john_minetest Minetest is basically a dev community. Most of the people are writing mods. I actually never used any stable version of minetest myself. Only dev versions.  <thexyz> sapier: because in linux kernel world most users use stable versions of software
15:59 john_minetest On windows I might have had one stable but this was like winter 2012
15:59 thexyz "basically"
15:59 thexyz "most of the people"
15:59 thexyz well keep believing this
15:59 thexyz most of the people use windows and never write mods
16:00 thexyz even in the Minetest community
16:00 sapier there's a huge bias because those huge amount of ppl never say anything
16:01 thexyz http://i.imgur.com/n6HP54C.png
16:01 thexyz some old data
16:02 sapier seems to be almost 80% windows hits
16:02 thexyz also 47 vista users on the next page
16:02 thexyz and that's forums, not the main site
16:03 sapier guess that makes more then 80%
16:03 thexyz probably
16:03 EvergreenTree joined #minetest-dev
16:07 nore celeron55, hmmmm, should I do a protocol bump for old clients?
16:08 nore to be sure the meta is sent to them?
16:09 Jordach joined #minetest-dev
16:09 nore or is there a way to do so without protocol bump?
16:10 john_minetest thexyz: Can you track hits on the download page? Statistics would be very interesting.
16:11 nore john_minetest, you forget the users who compile from git or use other builds...
16:11 thexyz john_minetest: I cannot because I don't host minetest.net
16:11 john_minetest Who hosts it?
16:12 thexyz also last time I tracked stats PA raged about this and that made me upset
16:12 thexyz celeron55 does
16:12 john_minetest nore: I mean just tracking the non-real-unix OSes
16:13 john_minetest Or actually: Tracking binary downloads
16:13 john_minetest I wonder who downnloads what.
16:13 thexyz tracking binary downloads is easy
16:13 thexyz I can do that
16:13 john_minetest If we had stats of all builds we could see.
16:13 thexyz Windows: 100%
16:13 john_minetest I mean WHICH binaries.
16:13 john_minetest the sfan, PA or other builds
16:14 Exio4 anyway, windows users are a hell lot, but they don't actually come to the irc and say "hi i'm a windows user count me in the stats"
16:14 Exio4 they just download and play
16:14 thexyz john_minetest: okay
16:14 thexyz Windows official build linked from the main page: 99.9%
16:14 thexyz Others: 0.1%
16:14 thexyz john_minetest: what do you want to do with the stats?
16:15 thexyz you just can't track all users because many of them use distro-provided packages
16:15 john_minetest thexyz: Since we know that windows users are a lot of people, it would be interesting to know if they prefer the stable version or the dev builds, and if dev then whose dev builds.
16:15 john_minetest Linux isn't really interesting.
16:15 john_minetest It is too difficult to track those.
16:15 sapier we could add a tracker to modstore but I don't like things like that
16:15 thexyz ah
16:16 thexyz that'd be interesting to know, yes
16:17 Exio4 something that could be added is a .txt in minetest.net with the version, and if there is a new one say in-game (or in-menu) a "A new version got released!" or something like that
16:17 Exio4 just a simple and totally unrelated
16:17 Exio4 +feature request
16:18 john_minetest Exio4: I will create a github issue later.
16:18 john_minetest With this feature request.
16:18 Exio4 i would like to know what dev thinks about it first
16:18 john_minetest Anyways: We have to get everybody who provides builds to provide stats.
16:20 thexyz no one is going to do that
16:23 jin_xi joined #minetest-dev
16:23 john_minetest We have to ask: sfan5, PA, fess, blockmen and the one (c55?) who makes the official builds.
16:24 john_minetest 5 people.
16:24 john_minetest Why shouldn't they do it?
16:24 thexyz I make official windows builds but since they're hosted on Github we don't know stats
16:24 thexyz btw, MSVC windows builds appear to be broken because there's no unistd.h on Windows
16:25 thexyz sapier: I think you did that ^
16:25 thexyz what from unistd do you use in async?
16:27 thexyz lol
16:27 thexyz https://github.com/minetest/minetest/blob​/master/src/jthread/win32/jthread.cpp#L80
16:28 sapier I guess my fear to have broken windows build is right :-/
16:28 thexyz how do I detect msvc in #ifdef block?
16:29 thexyz #ifdef _MSC_VER
16:29 sapier yes
16:31 john_minetest lol
16:32 thexyz apparently we need some windows devs
16:32 john_minetest with this you can hide malicious stuff in software and on linux nobody will realize :P
16:32 john_minetest thexyz: No dev would use MSVC.
16:33 john_minetest :P
16:33 john_minetest thexyz: So it can only be done with msvc?
16:33 thexyz MSVC is a nice IDE, dunno what you're raging about
16:34 thexyz I wish I could use it on my linux system
16:34 john_minetest It is proprietary and the compiler is not standarized.
16:34 thexyz at least Jetbrains is going to give us something very nice for Christmas
16:34 john_minetest It is built to extend and embrace C/++
16:34 thexyz I'm talking about the IDE, not compiler
16:34 john_minetest the ide might be nice. Never tried it since it is connected to the compiler.
16:34 thexyz I don't really care about it being proprietary since there are no real alternatives
16:35 sapier visual studio IDE is great ... if there wasn't all those unnecessary features ... e.g. compiler
16:37 john_minetest thexyz: So we need somebody testing stuff on MSVC?
16:37 thexyz that'd be nice
16:37 thexyz but we need that someone to actually fix stuff, not just say "it doesnt werk"
16:38 thexyz because otherwise it'll slow the development even further
16:38 thexyz because since sapier, for example, doesn't have msvc it'll take much more time to fix trivial things
16:41 john_minetest I don't use windows. I got a windows PC next to me, even running. But only because I won't install skype on my "good" computer and I want to stay in contact with my friends...
16:41 celeron55 windows developers tend to do closed source commercial projects 8)
16:41 thexyz john_minetest: if you're willing to fix stuff you can be the one
16:43 celeron55 about tracking usage: maybe we should add opt-in usage tracking in minetest which could send some stuff to some server
16:43 celeron55 i mean, the client, and maybe even server
16:44 Exio4 yeah, that too
16:45 celeron55 it would be ethical because it'd ask the user (a checkbox in settings?) and it would be more precise because it would get info about actual users, not those that download a certain package from a certain server
16:45 john_minetest celeron55: Idk... My idea was to look which win binaries are used most. So we look whose windows builds are used most.
16:45 thexyz celeron55: if it's opt-in then no one's going to be tracked
16:45 werwerwer joined #minetest-dev
16:45 thexyz especially if it's only in settings without big popup flashing or something
16:45 thexyz then no one will find it
16:46 Exio4 make it an option in the settings page
16:46 thexyz john_minetest: we can't just drop msvc, if that's what you're talking about
16:46 thexyz since those are the only builds that support directx
16:46 celeron55 thexyz: maybe it needs to ask the user if the setting isn't configured yet... i'm against that, but could be acceptable for one release
16:46 thexyz inb4 getting removed from all repos
16:47 Exio4 thexyz: is there any "updated guide" about how-to setup a working msvc enviroment for compiling minetest?
16:47 thexyz I still don't understand the reason behing this
16:47 thexyz Exio4: there's one in readme.txt
16:47 celeron55 before even considering putting anything like that into it, we should know what we would even do with the data
16:47 Exio4 i would have said it didn't work but i will try ;P
16:47 celeron55 so let's maybe just drop the idea
16:48 thexyz yes, that's what I'm talking about
16:48 thexyz Exio4: one little hint that can save life: for some reason it sets Lua "Runtime Library" to "/MD", you should change that to /MT to make it build
16:48 thexyz I'm not sure if that's because of my setup though
16:49 Exio4 thanks for the tip
16:51 thexyz and when built with Debug msvc build just aborts()
16:53 thexyz sapier: this makes it build on windows http://pastebin.com/raw.php?i=ndGaPCji and it seems to launch too!
16:53 thexyz but I'm not sure what should I test to verify if it works correctly
16:54 hmmmm nore, yes you'd need a protocol bump for that but we shouldn't do that right away
16:54 nore I could leave it like it is now else... (but old clients would need to wait)
16:54 john_minetest thexyz: I meant: We should look if and how many users download the dev builds and how many are downloading the official ones.
16:54 sapier no sleep on windows?
16:54 nore to get the metadata
16:54 thexyz sapier: no unistd on windows
16:54 hmmmm also these 5 lines https://github.com/minetest/minetest/pull/1017/f​iles#diff-ab005ad9757130721ffb66a09833090aR1327   could be compressed into event.type = remove_metadata ? MEET_ADDNODE : MEET_SWAPNODE;
16:54 thexyz john_minetest: what do we need this info for?
16:55 hmmmm the code looks nice
16:55 john_minetest thexyz: We don't "need" any info. It is just for statistics. I am interested in if people are using the dev versions or the official ones
16:56 celeron55 hmmmm, nore: the protocol version should be raised immediately
16:56 thexyz john_minetest: you want to sacrifice user privacy, probably make some people rage just for the sake of curiosity?
16:56 celeron55 otherwise it's impossible to know what client supports what
16:56 john_minetest thexyz: Download statistics aren't really a thing of privacy.
16:56 mrtux joined #minetest-dev
16:56 hmmmm meh alright then
16:56 john_minetest Just add a download counter on the download site.
16:56 celeron55 everyone should learn to understand that increasing the main protocol version is important to do often and does nothing by itself
16:57 hmmmm nore you hear that?  bump the protocol version in that as well
16:57 hmmmm also we need to look at other pull requests that change the protocol version
16:57 nore hmmmm, where?
16:57 nore (I mean, where is the protocol version defined?)
16:57 thexyz john_minetest: I still feel that if we need just download stats then it's enough to use piwik
16:58 thexyz (without the need to modify client/server)
16:59 hmmmm i think clientserver.h
16:59 nore ok, I found that
16:59 hmmmm yes
16:59 celeron55 hmmmm: yes, they should be "incorporated" to the same version until next release
16:59 thexyz sapier: should I push this?
16:59 nore and how do you get the version of a client, for the server?
16:59 hmmmm celeron55, that's what I meant by "it can be added later"
17:00 celeron55 hmmmm: just making sure and clear 8)
17:00 sapier of course thexyz
17:00 hmmmm i don't know how
17:00 hmmmm it's sent with the init packet
17:00 celeron55 hmmmm: RemoteClient
17:01 hmmmm I'm sure there's some field in RemotePeer
17:01 celeron55 ...
17:01 celeron55 *nore
17:01 celeron55 it's client->net_proto_version where you want it
17:01 rubenwardy joined #minetest-dev
17:01 thexyz perhaps it's not really nice to just define it here as `static`, well anyone is free to redo that
17:01 nore I was going to ask that...
17:02 hmmmm yeah RemoteClient
17:02 hmmmm goes to show how much network code i've done
17:03 john_minetest thexyz: I never talked about modifying anything.
17:03 celeron55 i hate the comments for this part; it says "// The serialization version to use with the client" in RemoteClient for serialization_version which is the mapblock serialization version, and it says nothing for net_proto_version which is the overall protocol version...
17:03 nore hmmmm, celeron55: done
17:03 thexyz john_minetest: you wanted to get stats for all versions downloads which is impossible
17:03 john_minetest thexyz: All I said was, that we should monitor downloads of win binaries on the main site as well on the download sites of the other distributor.
17:04 john_minetest As far as possible
17:04 thexyz alright
17:04 thexyz that means celeron55 should install some sort of web stats to minetest.net AND you should convince all other builders to do the same
17:04 thexyz the second part is impossible
17:05 * sfan5 haz piwik stats
17:05 thexyz sfan5: cool, so how many downloads do you have?
17:06 sfan5 which timespan?
17:06 sfan5 +in
17:07 thexyz hmm.. let's say per day?
17:09 EvergreenTree joined #minetest-dev
17:09 sfan5 http://i.imgur.com/YoWby9X.png (oct 29 - nov 29)
17:10 PilzAdam joined #minetest-dev
17:12 nore celeron55, hmmmm, so, is it ok for merging?
17:12 hmmmm no not until we go through everything else that requires a protocol bump
17:13 hmmmm and we merge them all at once
17:13 celeron55 uh
17:13 celeron55 we don't need to
17:13 sfan5 src/script/lua_api/l_async_events.h:101: error: ‘sleep’ was not declared in this scope
17:13 sfan5 who broke it?
17:13 hmmmm you sure..?
17:13 celeron55 and that wouldn't make any sense anyway as we need to add stuff to the same protocol version until next release anyway
17:14 nore ok... (I added protocol bump label to the pull too)
17:14 celeron55 (or, probably need to)
17:14 hmmmm the reason why i'd rather combine protocol versions is because so many people use the development versions
17:15 hmmmm and i say 0.4.9 will be out in less than a month but i don't actually know the future
17:15 celeron55 if they use a development version, they may as well update to the newest development version any day when it gets incompatible with a previous development version of the same pre-release
17:16 PilzAdam I see many people getting a dev version and then they dont update for months; that has to stop
17:16 hmmmm i suppose so
17:16 ShadowNinja sapier: Is there a reason that your copy of scriptError doesn't throw a LuaError?
17:16 celeron55 the cross-compatibility requirements in a way "stop" at the nearest stable versions
17:16 celeron55 PilzAdam: we don't support that
17:16 celeron55 PilzAdam: supporting it would be insane
17:17 PilzAdam celeron55, yep, thats what Im saying
17:17 thexyz sfan5: what compiler? I've just pushed some fix
17:17 sfan5 mingw
17:17 thexyz oh
17:17 thexyz didn't test it lol
17:17 thexyz sfan5: can you show your unistd.h?
17:18 thexyz if it doesn't have sleep function..
17:18 celeron55 nore: readU8(&data[datasize-1]) is very bug-prone when the protocol evolves
17:18 sfan5 http://pastie.org/8519178
17:18 nore celeron55, so what should I write?
17:18 nore right now, it writes the byte right at the end
17:19 nore even if the protocol changes, it will still be at the end...
17:19 celeron55 nore: use a proper index calculation based on the start of the array or alternatively update all handling of that packet to the std::istringstream method already used for newer packets
17:19 celeron55 nore: no no no no no!
17:19 celeron55 nore: that's horrible
17:19 nore ok...
17:19 celeron55 nore: it should append it to whatever there is now
17:19 * nore wants to hide
17:20 nore so, perhaps set the index to 8+mapnodesize instead?
17:20 nore would that be ok?
17:20 celeron55 YES
17:20 sapier I don't think so Shadow but I miss passing non lua error information to your error handlers is there a way to do?
17:21 ShadowNinja sapier: What do you mean? If you call scriptError then there has been a Lua error.
17:21 celeron55 nore: also instead of "[u8 keep_metadata]", write the packet documentation as "u8 keep_metadata // Added in protocol 22"
17:22 ShadowNinja I also oprimized your code a bit and removed the copy of script_error_handler.
17:22 nore but it is still optional (not sent if node is not swapped)
17:22 sapier that's been a unique thing while there was only a single lua instance but async has 5 so I need to pass some information where that error is from
17:22 nore celeron55, ^
17:23 celeron55 nore: you need to put it always there, otherwise it's impossible to extend the packet further
17:23 nore ok
17:23 ShadowNinja sapier: Your version just prints the error and continues.
17:23 sfan5 thexyz: http://pastie.org/8519178
17:23 sapier my version is just a dummy it was planed to be replaced by your one ;-)
17:24 nore celeron55, if I don't write a byte, it is 0?
17:24 celeron55 yes
17:24 celeron55 or um
17:24 celeron55 wait what
17:25 celeron55 you always write the byte; it's not pre-initialized anywhere
17:25 ShadowNinja sapier: Does this look good? http://ix.io/9cN
17:26 thexyz sfan5: there's no sleep but there's usleep
17:26 thexyz sfan5: well, go on and fix it
17:27 thexyz https://github.com/minetest/minetest/blob/ma​ster/src/script/lua_api/l_mainmenu.cpp#L830 V547 Expression 'bytes_read < 0' is always false. Unsigned type value is never < 0. l_mainmenu.cpp 830
17:27 sapier partly
17:27 nore celeron55, done
17:27 celeron55 these protocol contributions are always fucking painful, i think i need to personally rework all the protocol handling to not contain infinite trapholes
17:27 nore is it ok now?
17:27 thexyz V593 Consider reviewing the expression of the 'A = B != C' kind. The expression is calculated as following: 'A = (B != C)'. l_mainmenu.cpp 831
17:27 sapier imho tjere should be a way to pass additional information to script_error
17:28 thexyz sapier: ^
17:28 PilzAdam nore, https://github.com/minetest/minetest/pull/1017/f​iles#diff-d075e6a559bcb98d71ddd9d54873bf01R1337 why do you keep calling it "hacky"?
17:29 nore sry, forgot that
17:29 thexyz V590 Consider inspecting this expression. The expression is excessive or contains a misprint. pathfinder.cpp 524
17:30 sapier I don't see any bug in 831? should I
17:30 celeron55 nore: server.cpp:4120 needs a comment explaining why that's there ("Synchronize metadata to old clients by re-sending the full mapblock")
17:30 nore ok
17:30 celeron55 then i don't see any problems anymore
17:31 sapier same for 524
17:31 nore celeron55, is that explicit enough? "Set block metadata to be sent to old clients"
17:31 thexyz full log: 1, 2: http://pastebin.com/raw.php?i=RUEg1m7m 3: http://pastebin.com/raw.php?i=mVWf1M9b
17:31 sapier ok in 524 the check for != ait is superfluss
17:32 celeron55 nore: well it's not better than my suggestion :P
17:32 sapier != IGNORE of course
17:32 thexyz sapier: well there obviously is a bug on 831
17:32 celeron55 nore: "Old clients always clear metadata; Fix it by sending full metadata again"
17:32 thexyz sapier: although it seems that you don't use bytes_written anywhere so you're safe
17:32 celeron55 that should make it plenty clear
17:32 thexyz sapier: it'll be set to either 0 or 1 it seems
17:33 thexyz it also seems that you want it to be set to what fwrite returns
17:33 celeron55 nore: also, actually that if needs to also check for !remove_metadata
17:33 celeron55 nore: otherwise it overworks old clients for no reason
17:33 sapier yes I do
17:33 thexyz (node_at_pos.param0 != CONTENT_IGNORE) && (node_at_pos.param0 == CONTENT_AIR)
17:34 thexyz sapier: you do what?
17:34 ShadowNinja Does this look good? http://ix.io/9cP (Replace C++->Lua calls of table.insert with lua_rawseti and add pre-allocation for arrays of a known size)
17:34 sapier ok true it's only usefull within the if clause and there it isn't used
17:34 nore done...
17:34 sapier guess it can be removed without loosing anything
17:34 celeron55 nore: for added perfectionism, you should have "bool keep_metadata" for Server::sendAddNode so that there are no unnecessary inversions 8)
17:35 thexyz and for some reason I either don't know how to use clang static analyzer or it just says everything's fine while it isn't
17:35 nore do you want my death?
17:35 sapier wait ... I assume I wanted to check if bytes written == bytes read and return true/false in there
17:35 nore well, I guess I will do it anyway...
17:35 thexyz nore: if you don't want perfectionism then you should know where to go
17:35 nore yes, I know
17:35 celeron55 nore: no; you can decline :P
17:35 thexyz sapier: "I assume", heh
17:35 celeron55 it's not needed, just push it
17:35 nore but the problem is that there are a ton of things to change then
17:36 sapier it is fine as of language ... its superfluss
17:36 nore ok, I will push it then
17:37 sapier yes sometimes I have to guess what I intended to do some time before ... bad habit I know
17:37 ShadowNinja Ahem, does this look fine? http://ix.io/9cP
17:38 nore ok, pushed now
17:47 PilzAdam hmmmm, you should update lua-api.txt about is_ground_content
17:47 PilzAdam also, does the flag change anything for liquids?
17:48 nore btw, I just saw I forgot to update lua-api.txt for minetest.swap_node
17:53 PilzAdam nore, well.... fix that=
17:53 PilzAdam *?
17:53 nore yep
17:54 ShadowNinja Alright, I'll push my table optimizations and the async step errorhandler in a minute if nobody objects.
17:54 thexyz sfan5: have you fixed the build issue?
17:54 nore PilzAdam, is that ok for doc? ^ Set node at position, but don't remove metadata
17:55 PilzAdam nore, I guess thats good enough
17:55 nore should I make a new commit, or change the existing one?
17:55 PilzAdam it should be clear that its only different from set_node when meta is involved
17:56 PilzAdam nore, your original commit is > 10 minutes ago, so make a new one
17:56 nore ok... so, you're ok for that (since last time I made fixes, I pushed without asking...)
17:57 PilzAdam yea
17:58 proller DO NOT push -f to master, NEVER
17:58 thexyz proller: too late they already do that
17:58 PilzAdam proller, our guidelines allow to do that for < 10 minute old history and when its announced here
17:59 proller its very bad guidelines
18:02 proller if your guidelines will allow you to kill kittens or humans - you will do?
18:04 sapier kittens? of course ;-P
18:08 EvergreenTree joined #minetest-dev
18:08 PilzAdam proller, no, because thats against the law
18:10 sapier I guess it's ok to make sousages from kittens in china ;-)
18:11 ShadowNinja nore: Close your pull request.
18:12 sapier how do I get the name from an enity? I know its possible :-)
18:12 proller push -f against the law too
18:12 nore done... sry, forgot that
18:13 ShadowNinja sapier: entity.name, or object:get_luaentity().name.
18:14 sapier thanks
18:15 ShadowNinja Does #957 look fine?
18:17 sapier I'd not link drawtype and selectionbox as it's completely different things
18:17 sapier but we already do this for nodebox .... so I guess it's fine
18:18 ShadowNinja sapier: The drawtype "fencelike" is just a client-side nodebox that looks like a fence.
18:19 sapier are you sure it isn't used in collision handling too?
18:20 sapier ok john_minetest's bug found in httpfetch is in master too
18:21 ShadowNinja sapier: IDK, but you can always set a custom sellection box, this just adds a default which matches the nodebox.
18:21 sapier I already said it's fine shadow ;-)
18:26 Zeg9 joined #minetest-dev
18:34 john_minetest I am 1337 h4x0r since I had "Hack steak" for dinner. Any branches to test?
18:40 PilzAdam hmmmm, https://gist.github.com/PilzAdam/7722780
18:40 PilzAdam I get this while trying to start minetest sometimes
18:41 hmmmm pilzadam, that could be a general memory corruption problem
18:41 hmmmm not necessarily an emergethread problem
18:41 hmmmm when did you start getting that?
18:42 PilzAdam today
18:42 hmmmm i didn't make any changes to that
18:42 hmmmm sounds like a run through valgrind is warranted
18:42 sapier may be the async bug I'm hunting down atm
18:44 sapier at least if it happens close to start
19:07 bas080 joined #minetest-dev
19:10 thexyz sfan5: have you fixed the issue?
19:10 sfan5 no
19:10 sfan5 I was away
19:11 thexyz then please do <3
19:11 thexyz just replace by usleep and fix timings (usleep takes milliseconds)
19:11 thexyz and then fix my #ifdef hack too
19:12 sapier time in there isn't important it' just to avoid the waiting thread block the thread waited for
19:13 NakedFury joined #minetest-dev
19:16 john_minetest sapier: The bug I posted - is it fixed?
19:19 sapier not by now
19:20 sapier for some strange reason it's gone again
19:21 john_minetest Getting that one on master: Program received signal SIGSEGV, Segmentation fault.
19:21 john_minetest 0x000000000066dc0c in log_printline(LogMessageLevel, std::string const&) ()
19:21 john_minetest Suddenly
19:22 john_minetest 0x00007ffff40d13c0 in std::_Rb_tree_rebalance_for_er​ase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) () from /usr/lib/libstdc++.so.6
19:22 john_minetest that one happening, too?!?
19:22 john_minetest wtf happened to minetest?
19:22 john_minetest When I tested it minutes ago it worked...
19:27 sapier I added 4 threads, each one starting a whole lua env... this adds a lot of memory operations ... two options either I added additional errors or I trigger errors that have already been there but have crashed way more rare
19:30 john_minetest What changed that makes minetest crash so often  now?
19:30 john_minetest It is critical.
19:31 hmmmm the thing that sapier wanted to add in right before 0.4.8
19:31 sapier Yes I admit you've been right ;-)
19:32 hmmmm i'd be much happier if i were wrong though
19:32 hmmmm well it's not like it matters, i don't think anybody is going to think "ah yes, i'm going to pull the volatile, development version of minetest just after a release and expect it to be perfect"
19:33 john_minetest Minetest starts to hang up every time I click 'Connect'
19:33 john_minetest IN MASTER!
19:33 sapier ok that has been better
19:33 john_minetest That's critical.
19:34 john_minetest Well, although it is a dev version, I think it is unsatisfying to have something pulled that causes such a significant bug.
19:39 djdduty joined #minetest-dev
20:04 ShadowNinja What do you think of removing the rollback priv requirement from rollback_check? With SQLite rollback it completes nearly instantly.
20:06 sapier ok I think I got it
20:07 sapier log_register_thread/log_deregister_thread are called from different threads working on same std::map without any protection
20:09 hmmmm YEAH
20:10 hmmmm I was going to add a mutex for that but I forget why I didn't
20:10 sapier does anyone know why JMutex isn't initialized in constructor?
20:11 nore ShadowNinja, could be good
20:11 sapier there's no init log function right now so I need to add it just to do something that I think should be done in constructor
20:12 Calinou joined #minetest-dev
20:13 sapier I guess this bug is another one that caused sporadic minetest crashes
20:13 ShadowNinja http://strawpoll.me/796666
20:13 OldCoder joined #minetest-dev
20:14 hmmmm erm, i don't think threads ended before your async thing
20:14 hmmmm which is why I figured it was okay to leave it deregistered
20:14 hmmmm leave deregister unprotected i mean
20:14 sapier didn't threads shutdown on leaving to menu?
20:14 smoke_fumus joined #minetest-dev
20:14 hmmmm erm doesn't that thread turn into the_game()?
20:15 hmmmm oh leaving to menu
20:15 hmmmm yeah, they shutdown in a synchronized manner though
20:15 sapier so pure luck ;-)
20:16 jin_xi joined #minetest-dev
20:16 john_minetest http://pastebin.sabayon.org/pastie/15239
20:16 john_minetest I get that on minetest master
20:16 john_minetest When I log in and press <esc> it comes to that one.
20:17 sapier seems to be right idea to add async to mainmenu first and delay merge to scriptapi to a later version :-)
20:18 jordach joined #minetest-dev
20:20 bas080 joined #minetest-dev
20:20 sapier john try this one https://github.com/minetest/minetest/pull/1028
20:21 jin_xi joined #minetest-dev
20:23 hmmmm you're going to fix all of the other JMutex objects now, right
20:24 hmmmm oh you just noop it
20:27 nore sapier, I don't know if it is the same bug: when pressing Enter to join a server, crash, when pressing the "Connect" button, no crash
20:33 sapier yes hmmmm I know all of them should be fixed but I'm to lazy right now
20:39 Taoki joined #minetest-dev
20:47 Fury joined #minetest-dev
20:59 john_minetest sapier: trying
21:00 OWNSyouAll_DESKT joined #minetest-dev
21:05 john_minetest sapier: https://github.com/minetest/minetest/pull/1028
21:05 john_minetest sapier: It works now.
21:16 john_minetest ...
21:19 john_minetest Anybody: Check https://github.com/minetest/minetest/pull/1028.
21:20 sapier joined #minetest-dev
21:20 ShadowNinja sapier: See logs.
21:21 sapier thanks john
21:21 john_minetest sapier: So it fixes that login bug?
21:22 Jordach has anyone seen this as of 0.4.8-dev: 21:17:34: ERROR[main]: TextureSource::generateTextureFromMesh(): addRenderTargetTexture returned NULL.
21:23 john_minetest sapier: I am a bit confused. The login bug exists in the newest master. What has been pulled that caused it and how did you fix it? O_o
21:24 john_minetest sapier: So to make that clear:
21:25 john_minetest Minetest master of minetest/minetest has that strange login bug
21:25 AllegedlyDead joined #minetest-dev
21:25 john_minetest Older Minetest master of minetest/minetest didn't have that bug
21:25 john_minetest Your 1028 branch doesn't have that bug.
21:28 Jordach joined #minetest-dev
21:38 sapier no john old one did have that bug too it's pure chance it didn't happen
21:39 sapier that's what happens if you don't do thread safe programming while using multiple threads ... bugst come and go depedent on various random things
21:39 sapier -t
21:47 sapier anyone to agree to 1028?
21:52 john_cephalopoda joined #minetest-dev
21:53 john_cephalopoda sapier: I meant: 0.4.7 didn't have that bug
21:53 john_minetest btw, water opacity is buggy
21:54 sapier 0.4.7 did have that bug too
21:55 sapier it's just the difference between bug beeing in and bug causing damage in 0.4.7 that bug could only cause damage if you did close a game leaving to menu
21:56 sapier guess most people did exit in this case anyway
21:58 john_minetest sapier: Okay, then I only never experienced it since I aborted a lot.
21:58 john_minetest Anyway, you fixed it.
21:58 john_minetest Didn't see any bugs so it should be ready to merge.
22:04 john_minetest okay. Then the bug is fixed.
22:04 john_minetest DEVS!
22:11 john_minetest We need a !dev command that pings all devs...
22:11 john_minetest sfan5, PilzAdam, ShadowNinja, sapier!
22:11 ShadowNinja PONG
22:11 john_minetest https://github.com/minetest/minetest/pull/1028
22:12 john_minetest That one should be okay.
22:12 ShadowNinja I can add that to my bot, but some might find it annoying. ;-)
22:12 john_minetest Fixes a nasty bug that seems to exist since always.
22:12 sapier Shadow are you fine with 1028?
22:13 ShadowNinja I'm fine with it as long as it works. Although I wonder why he moved those things from ::Init() and why it still exists.
22:13 sapier it's been me ;-) because I didn't want to touch code everywhere throughout minetest
22:14 sapier and I moved it because there's no sane reason to create a mutex without initializing it
22:14 sapier if this is done in constructor it can't be forgotten
22:14 ShadowNinja sapier: Alright, it looks good then.
22:17 NakedFury joined #minetest-dev
22:17 sfan5 ShadowNinja: ShadowBot isn't even here
22:17 sapier pushing now
22:17 ShadowNinja sfan5: I know that.
22:26 celeron55 sapier: it would be a good idea to abort() if mutex initialization fails
22:26 sapier true
22:26 celeron55 also your windows implementation obviously doesn't build
22:26 celeron55 you can't return from a constructor
22:26 celeron55 a value, i mean
22:27 sapier couln't you have said that some minutes ago? :-)
22:27 celeron55 i wasn't here some minutes ago; but maybe you could've double checked
22:28 sapier If I had seen it I wouldn't have merged it...
22:29 sapier is assert available in windows?
22:30 thexyz ^ being THAT unsure about what's available on windows
22:31 sapier do you know when I did program seriously on windows last time?
22:32 thexyz well you can look up some C++ standard or something, I think assert is defined there
22:32 sapier lol ... standard ...
22:32 sapier microsoft ....
22:32 thexyz yes of course joking about standards and microsoft is fun but on the other hand thinking that assert is not available somewhere is just meh
22:33 kahrl we define assert ourselves in debug.h
22:33 kahrl but it needs the debug streams to be initialized iirc
22:33 sapier guess what it's not there in jmutex.cpp
22:33 sapier not even on linux
22:33 thexyz what?
22:34 sapier header isn't included
22:35 sapier last time I included a standard header <unistd.h> ... that was wrong ... hope I'm free to include <assert.h>?
22:35 thexyz because it's not standard
22:35 thexyz (talking about c++ standard here)
22:36 thexyz right?
22:36 sapier talking about what is commonly used ... but I guess you know if assert.h is standard or not ... I don't
22:37 thexyz yes, or I use google if not sure
22:38 celeron55 sapier: you probably want to use minetest's debug.h's ASSERT()
22:39 sapier by now jthread is a little bit separated if I do that it's finaly completely merged
22:39 celeron55 it aims to log a reasonable error in all builds
22:39 celeron55 (and abort after that)
22:39 kahrl <kahrl> but it needs the debug streams to be initialized iirc  <--- that's a problem
22:39 kahrl since sapier wants to call it from a static initializer
22:40 celeron55 oh, yeah that's actually true
22:42 emptty1 joined #minetest-dev
22:42 sapier ok as assert.h seems to be part of standard c library and microsoft claims to support standard c library I guess using <assert.h> is fine
22:44 emptty1 Hello. Here is a project I'd love to do in minetest: https://www.youtube.com/watch?v=AuqRGEXznfQ
22:45 Miner_48er joined #minetest-dev
22:46 iqualfragile emptty1: well: have fun
22:47 thexyz sapier: i think you're supposed to use cassert actually but that doesn't matter anyway
22:47 sapier https://github.com/minetest/minetest/pull/1029
22:48 sapier assert doesn't work?
22:48 thexyz it works of course
22:49 thexyz but I think you should prefer cassert because you're writing in C++
22:49 kahrl assert.h et al. are in the "deprecated" section of the C++ standard
22:49 kahrl but they won't go away any time soon
22:50 bas0801 joined #minetest-dev
22:51 kahrl sapier: could "initialized" be removed?
22:52 sapier I think so
22:52 sapier complete cleanup of jmutex?
22:53 john_minetest :D
22:57 kahrl I think the interface should stay compatible
22:57 kahrl does anything need to be cleaned up?
22:58 sapier adding asserts to all functions removing initialized ... moving event to separate files instead of polluting jmutex header is an option too
22:59 kahrl sounds fine if you want to do it
22:59 sapier I can do it now but I wont do this part now and in half an hour someone says ... oh now it'd be nice to do that too ;-)
23:01 Miner_48er joined #minetest-dev
23:10 VanessaE is anyone gonna fix the problem with random skin glitches soon?
23:12 VanessaE (where sometimes a player ends up with the old "green guy" image wrapped around the current 3d model)
23:13 sapier sometimes is a little bit hard to debug
23:13 Miner_48er how many servers are experiencing this?
23:14 VanessaE no idea how many - this started right after the player.lua rewrite
23:16 thexyz celeron55: can you please disable password reset on the minetest.net wiki?
23:22 sapier https://github.com/minetest/minetest/pull/1029 I removet Init completely
23:22 sapier -t+d
23:24 sapier does anyone have issues with removing trailing whitespaces? I ask again! don't complain afterwards!
23:30 NakedFury do it
23:36 celeron55 thexyz: done; i've actually got a couple of password re-send emails initiated by someone else too
23:37 celeron55 probably some kids being idiots
23:45 sapier great I can't even test win32 build because it's broken mutliple ways
23:49 john_minetest I have seen skin glitches on VanessaE's server
23:50 sapier whoever did ipv6 addons those aren't compatible to mingw
23:50 john_minetest What is mapgen v7 doing? It is completely useless. Indev is better.

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