Minetest logo

IRC log for #minetest-dev, 2014-04-23

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

All times shown according to UTC.

Time Nick Message
00:25 Exio4 what if a mod is supposed to start "dedicated threads" with requested apis?
00:25 Exio4 i mean, for the multithread problem
00:27 Exio4 but if it is just that way the thread overhead could be too high for more than a few mods :P
00:49 hmmmm so as an interim solution, i wonder how well it would work to have a lock for each MapSector and use a lock-free hashtable for the Map structure itself
00:49 hmmmm it shouldn't be very heavy (at least on unix-like systems where pthread_mutex_* is userspace only)
01:35 kahrl joined #minetest-dev
02:15 stormchaser3000 joined #minetest-dev
02:47 kaeza joined #minetest-dev
04:04 jin_xi joined #minetest-dev
04:10 smoke_fumus joined #minetest-dev
04:20 hmmmm sorta wondering if we should get rid of the MapSector and make Map just contain the MapBlocks itself
04:20 hmmmm MapSector is from an old, bygone era of 0.3.x
04:23 hmmmm so, EmergeThread is generating map, then it goes to blit each MapBlock back to Map -> allocates the MapBlocks, fills them up, then does the CAS into Map's hashtable.  meanwhile a mod is trying to write there and ends up with a failure because it read just before the write could be completed... so can this situation be dangerous?
04:24 hmmmm would a mod ever have logic such as if (block = minetest.getMapBlock(v3s16) == NULL) { createMapBlock(... blah blah blah) ?
04:25 hmmmm the ServerThread would never actually *need* do to anything like that
04:26 VanessaE_ can't say I've ever heard of such a need but paramat is the expert really on that one
04:26 VanessaE_ all my mapgen stuff has always done things "safely"
04:27 hmmmm errr wtf am i saying... mods don't know about blocks, only get_node and set_node
04:27 VanessaE_ exactly :P
04:27 hmmmm so I guess what I really want to ask is:  is it common for mods to try to set a node if get_node returns nil
04:28 VanessaE_ yes actually
04:28 VanessaE_ but normally only in the case of a logic mistake
04:28 hmmmm okay then that doesn't matter
04:28 VanessaE_ remember that issue with leaves disappearing along mapblock edges?
04:28 VanessaE_ (long since fixed of course)
04:29 VanessaE_ moretrees had a similar bug as I recall, but in reverse
04:29 VanessaE_ anyway yeah, what you've got in mind should be okay if I read it right
07:10 PenguinDad joined #minetest-dev
07:52 ImQ009 joined #minetest-dev
07:54 darkrose joined #minetest-dev
07:54 darkrose joined #minetest-dev
08:03 SirDigby joined #minetest-dev
08:11 proller joined #minetest-dev
08:31 rsiska joined #minetest-dev
10:03 grrk-bzzt joined #minetest-dev
10:13 RealBadAngel joined #minetest-dev
10:52 twoelk|2 joined #minetest-dev
10:56 proller joined #minetest-dev
11:00 restcoser joined #minetest-dev
11:17 Shardvexz joined #minetest-dev
11:22 rsiska joined #minetest-dev
11:34 Exio4 joined #minetest-dev
11:56 werwerwer joined #minetest-dev
12:24 rsiska joined #minetest-dev
12:57 Fresh_m__ joined #minetest-dev
13:00 hmmmm joined #minetest-dev
13:09 ImQ009 joined #minetest-dev
13:21 PenguinDad joined #minetest-dev
13:28 PilzAdam joined #minetest-dev
13:32 rsiska joined #minetest-dev
13:38 Garmine joined #minetest-dev
15:07 Jordach joined #minetest-dev
15:28 Exio4 joined #minetest-dev
15:44 zat joined #minetest-dev
15:47 Calinou joined #minetest-dev
15:56 OldCoder joined #minetest-dev
16:03 Shardvexz joined #minetest-dev
16:07 tomreyn joined #minetest-dev
16:14 rdococ joined #minetest-dev
16:15 celeron55 hmmmm: mods running in their separate threads were considered originally, but was too much development overhead at that day's point of view
16:16 kaeza joined #minetest-dev
16:16 celeron55 hmmmm: i'm fairly sure it's a superior way of doing it but it necessiates a completely new way of making mods interoperate (that will have to be done with message passing)
16:17 celeron55 it also forces a new group of mods, which is library-like mods
16:18 celeron55 which run in as many copies as there are mod lua threads that want them
16:18 celeron55 (so that they can provide direct interfaces for whatever they do)
16:19 celeron55 think of inventory_plus
16:28 celeron55 hmm, so it seems like threaded mods would be pretty good, even without initial support from the Map
16:28 celeron55 and i'm at least personally fine with an asynchronous API (like what javascript APIs do all the time)
16:30 proller joined #minetest-dev
16:47 Megaf celeron55: You are quite correct
16:48 Megaf Threaded mods are a quite welcome things and they can offer a gigantic performance boost, by simply not causing that huge performance lost they cause at the moment
16:49 Megaf On my four core ARM CPU, I really can't make my minetestserver instance use more than 104% ofmy CPU
16:49 sfan5 uhh
16:49 Megaf and I believe is not actually the server process that is using the CPU, but some mod
16:49 sfan5 1 (one core) can't have more than 104%
16:50 sfan5 also can we not just have a C++ modding interface?
16:50 Megaf so, if a mod could use more core, it will leave one whole core all for the server itself
16:50 Megaf sfan5: yep, so I believe it uses 100% of one core and 4% of another core
16:53 Megaf at the very moment minetestserver is using 109.3$
16:53 sfan5 oh god
16:53 sfan5 how expensive
16:53 Megaf However, it's avarage use is 18%
16:53 sfan5 (you used $ instead of %)
16:54 Megaf s/$/%
16:54 Megaf better?
16:59 diemartin joined #minetest-dev
17:03 CraigyDavi joined #minetest-dev
17:07 rsiska joined #minetest-dev
17:07 Megaf According to 'top' minetestserver is using 9 threads at the moment
17:12 Megaf my minetest.conf settings is set to num_emerge_threads = 4, I will increase that number
17:14 Calinou how can I enable “give_initial_stuff” by default in a game?
17:14 Calinou minetest.conf in the game directory does not seem to work for this
17:14 Calinou only physics
17:15 PilzAdam Calinou, user minetest.conf overrides game's minetest.conf
17:15 rsiska joined #minetest-dev
17:15 Calinou OK
17:15 PilzAdam also, do you have the give_initial_stuff mod in the game?
17:15 Calinou yes
17:17 Calinou still does not work, I removed it from my minetest.conf
17:18 Calinou oh, it works now
17:18 Calinou thanks
17:19 CraigyDavi joined #minetest-dev
17:21 restcoser joined #minetest-dev
17:22 Garmine joined #minetest-dev
17:42 Megaf Interesting, now I set the number of threads to 16, minetestserver is now using 21 threads, and CPU usage is very load, down to 6% with one using mining and building
17:43 sfan5 you can only set the number of emerge threads
17:43 VanessaE_ megaf, never set that value higher than the number of cores you have, minus 2.
17:43 sfan5 there are others too
17:43 VanessaE_ (4 cores, set it no higher than 2)
17:44 VanessaE_ and that ^^^^ is why.
17:44 sfan5 CPU usage is very load
17:44 sfan5 can someone explain that sentence?
17:45 VanessaE_ I'm sure he meant "low". :P
17:46 Megaf VanessaE_: indeed
17:46 Megaf typo
17:46 Megaf I'm not typing well today
17:49 Megaf VanessaE_: I don't quite understand that. It just feels like minetest server is not very good with SMP
17:54 nore joined #minetest-dev
17:56 VanessaE_ Megaf: there are more threads going on in the minetest server than just the mapgen.  you don't want to overshadow the rest of the server with the mapgen
17:56 VanessaE_ and that setting is ONLY for the mapgen.
18:01 Zeitgeist_ joined #minetest-dev
18:01 Zeitgeist_ joined #minetest-dev
18:07 celeron55 i am going to pick up voxel area entities to be the next really visible feature
18:07 celeron55 any naysayers?
18:07 iqualfragile joined #minetest-dev
18:08 VanessaE_ works for me..
18:09 celeron55 as related to: https://forum.minetest.net/viewtopic.php?f=7&t=9147
18:11 iqualfragile technical question: does minetest create a mesh from the voxels and then render that or render multiple instances of a block for each material?
18:11 iqualfragile or something else?
18:13 celeron55 it generates an irrlicht mesh which consists of one meshbuffer per material(~=texture)
18:13 iqualfragile how often is it rebuild?
18:13 celeron55 with auto-generated texture atlases it could be closer to one meshbuffer per mapblock
18:14 celeron55 every time it changes
18:14 iqualfragile so its one mesh per mapblock per material atm?
18:14 celeron55 yes; in the opengl sense of things (where mesh = vertex array)
18:15 iqualfragile ok, great, because to my understanding the main issue with octrees is that you would have to traverse them on every render, which would notbe the case in this case
18:15 iqualfragile right?
18:16 celeron55 if there is any extra slowness in access time compared to the current speed, it's not going to work well
18:17 iqualfragile well, it would be log(n) instead of 2
18:19 iqualfragile you would need about 7 comparisions to reach a positon
18:19 iqualfragile or would you?
18:19 iqualfragile nah, not really, as you could just take a or some subtrees which contain your local area
18:20 iqualfragile so you would need to traverse about ?6? layers
18:20 celeron55 it doesn't make any sense to store mapblock contents in an octree; they are so small that large parts of them fit to CPU cache which makes them blazing fast
18:21 celeron55 if you want to try using an octree for something, try the mapblock storage itself
18:22 iqualfragile but that would not make too much sense, would it?, the great advantage about an octree is to be able to store bigger blocks consisting of one material in less space
18:23 celeron55 so you are running out of memory with minetest but have extra CPU time to spare?
18:23 celeron55 i don't believe that
18:24 iqualfragile i would be if i would decide to divide the currently existing blocks twice
18:24 celeron55 on the client generally the most space is consumed by the meshes, if my calculations are correct
18:25 iqualfragile so map storage is it then
18:25 celeron55 or, similarly much as by the blocks
18:25 iqualfragile (because minetest maps are quite big)
18:26 celeron55 you can try anything though, if it turns out to be measurably better without drawbacks, of course it will be used
18:30 celeron55 i wonder how much weight should be put in a multithreaded modding api
18:30 celeron55 it might not require that much work to implement, considering sapier has already done something relateed with the main menu
18:31 iqualfragile i really fear that it would make all the mods crash all the time
18:31 iqualfragile right now people do not even catch nul pointers
18:31 celeron55 it would make minetest not need to crash if a mod crashes
18:31 celeron55 and it would allow mod unloading at runtime
18:32 iqualfragile sounds good, but it would imply a split of definitions and coding of mods (which i would be happy about)
18:32 celeron55 imply what?
18:32 iqualfragile s/imply/require/
18:33 celeron55 oh ah, you mean like registering nodes
18:33 iqualfragile yes, exactly
18:34 iqualfragile definition := there is something, uses these textures/that model
18:34 celeron55 this is a good point; the mods might still need a part that initializes them that is not run in a separate thread
18:34 celeron55 and that part cannot be unloaded
18:34 iqualfragile i personally think it was kinda wired to even put that stuff into lua in the first place
18:34 Anchakor have you guys given up on farmesh-like stuff?
18:34 iqualfragile Anchakor: yes
18:35 celeron55 Anchakor: it's not a priority
18:35 iqualfragile visit #freeminer, i think they are implementing something like that
18:35 Anchakor saw this lately http://www.reddit.com/r/VoxelGameDev/comments/2398aw/voxel_model_octree_lod_mesh_texture_storing/
18:36 iqualfragile oh, right, sacrificing a bit of memory an octree could actually save quite some memory by saving the median value of an subtree in that node and not loading any more if you are far away
18:37 iqualfragile (i hope that was formulated understandable
18:37 iqualfragile )
18:37 celeron55 but my question really was not anything about the details of threaded mods but instead i wanted to ask whether they are important
18:38 celeron55 ~tell sapier can you give an assessment on how hard implementing the base thing in those would actually be? it's hard to have a good opinion without any facts
18:38 ShadowBot celeron55: O.K.
18:39 iqualfragile what would the advantages be? loading/unloading at runtime would have limited use in my opinion as minetest takes about 2 secs to restart
18:39 iqualfragile single mod crashing
18:40 celeron55 the advantage is that the server execution wouldn't have 5 second pauses due to a mod doing something
18:40 celeron55 which is completely unacceptable and is not repairable in any other way
18:40 celeron55 because some mods just have to process a lot of stuff
18:41 Megaf joined #minetest-dev
18:41 celeron55 the server choppiness actually limits minetest a lot; for example clients can't have smooth movement because the server just isn't there to transfer the continous data
18:41 Guest71509 joined #minetest-dev
18:41 iqualfragile i can mostly, but not fully agree with that, but just allowing mods to start a thread "manually" would be suffient i think
18:41 hax404 joined #minetest-dev
18:42 iqualfragile +c
18:42 celeron55 it will be optional because dropping backwards compatibility isn't likely needed (it would provide almost no benefits)
18:43 iqualfragile just allowing mods to spawn a thread sounds like a lot less work then to change the whole thing
18:44 celeron55 it can't be implemented by changing the thing; in practice you just add to it in order to make it happen
18:44 iqualfragile what?
18:44 celeron55 the way how the mod sees it can be a change or addition though, maybe it indeed should be strictly an addition
18:45 iqualfragile i am a bit slow atm, litle sleep, just ate lots of food, sorry about that
19:08 restcoser joined #minetest-dev
19:16 BlockMen joined #minetest-dev
19:28 BlockMen sapier, game pause in singleplayer does not work anymore since the formspec fix
19:36 sapier joined #minetest-dev
19:41 sapier Blockmen I'm gonna check pause in singleplayer, can't be a big deal
19:44 sapier Celeron55 I'm not sure if It's only me but once people talk about mod threading I always have feeling they think all performance issues will vanish at once ... that's not gonna be true. In fact for what I know mods most mods out there will even cause more lag if done in separate threads. There are mods out there wich would really benefit. But those mods would have to be completely rewritten to gain any benefit.
19:44 sapier And they could already be rewritten to do way better.
19:46 sapier Creating fully separated mods using message passing methods for mod communication will render all mods useless. And as you said we need to find whole new ways for communication as well as common used data ... rough estimation for base code is about 1-2 months of development (full time) ... then about half a year to get it stable and feature complete
19:46 sapier I can't even guess effort required by mods
19:47 nore joined #minetest-dev
19:47 sapier and of course the basic issue required for all multithreading is added too ... map locking
19:48 sapier I guess that's gonna be additional 1-2 months ... but we need this for any really usefull multithreaded thing so I don't mix it up
19:49 sapier on the other hand the asynchronous job based aproach (my personal preference so this estimation may be biased)
19:50 sapier we already have most code for it in I guess making it available for mods is only a couple of days. To get it at least somewhat usefull I assume we need to enable it to allow vmanip operations. give that another half a week.
19:52 sapier imho things like mapgens and maybe pathfinding could be done with async job based mechanisms too. I don't have benchmarks to proove this by now true
19:53 sapier spawn algorithms could be done in async (with vmanip support) too
19:54 proller vmanip = lot of copied data
19:54 sapier that's true proller but memory is cheap
19:54 sapier and better work on a copy then locking map causing main thread to hang too
19:55 proller what if other thread change copied block?
19:55 sapier of course it'd be better to have a database providing a shadow copy mechanism but that's gonna be way more work
19:56 cg72 joined #minetest-dev
19:56 sapier well the only way to prevent this is either lock whole map ... then we don't need to do the threading work
19:57 sapier or improve database for smaller locking
19:58 sapier e.g. transactions would be an option, tell map "i need block xyz > abc" and if someone changes that block you're told about it and have to do your operations again
19:59 sapier if someone changes it before you're done
20:00 sapier but that's not really mod related but map/database thingy
20:00 VanessaE_ minor topic change.  the problem megaf is having with clients timing out and causing a cascade of timeout-server-lockup errors seems to be spreading.  cg72 came here to report the same issue but I forgot to warn her of the webchat being muted in this channel.
20:01 proller connection buggy? woow!
20:01 VanessaE_ shut up, proller.
20:01 proller i know how to fix
20:02 sapier megaf's initial issue is already fixed
20:02 VanessaE_ if it involves reverting some commit or another, then it's not a fix.
20:02 proller revert bug bunch of shitcode
20:03 iqualfragile there are lots of reverts lately
20:03 iqualfragile should/can we apply to gsoc '15?
20:03 ShadowNinja iqualfragile: only remember two within a few months.
20:03 sapier no it's just prollers regular background noise of reverts ;-)
20:04 ShadowNinja celeron55: ^ He actually owns the nick troller...
20:04 iqualfragile yeah, me, too about 2
20:04 ShadowNinja And IMO a few reverts are better than code sitting around unmerged for months.
20:04 proller wtf in logs? 00:04:21: ERROR[ConnectionSend]: con(4/1)RunTimeouts(): Peer 6 has timed out. (source=peer->timeout_counter)
20:05 iqualfragile can just restate it: the core devs would just need to meet once a week and discuss a few pull requests
20:05 iqualfragile regulary
20:05 iqualfragile that would solve lots of issues
20:06 Megaf There's a Hang Out for that
20:06 sapier proller your peer 6 didn't answer for 5 seconds
20:06 proller woow?
20:06 proller whhy 100+ in logs?
20:06 iqualfragile Megaf: well, it does not seem to be working well
20:07 sapier that's good question peer id's should be rotated so peerid 6 shouldn't be reused for quite some time
20:07 proller sapier, stop touching connection while you not use it
20:07 sapier can you provide a log?
20:08 sapier as always proller I'll help if you give me chance to help, I can't do anything if you refuse to get support
20:08 proller start public server and look
20:08 Megaf sapier: I can provide a virtual server
20:09 proller you cant help blindy change code and not viewing at result
20:09 Megaf but I think you can host your own server, cant you?
20:09 sapier I've got only dsl 3000 that's not a base for a public server
20:09 proller its very good base
20:10 sapier no it isn't especially as that line us usually maxed out by other ppl using same line
20:10 BlockMen how is 3000kbit/s good?
20:11 sapier downstream 3000
20:11 sapier upstream hmm 192?
20:11 Megaf my server is hosted on a 100 KB/s upstream link
20:11 sapier no it's 384
20:11 sapier hmm ok that might explain your timeout's megaf ;-)
20:12 casimir joined #minetest-dev
20:12 Megaf I don't think so
20:12 Megaf I used to host much more complex games with much more load without prolbems
20:13 sapier but most important issue is It's not usefull to run a testing server and have 99% of issues caused by line stuffed with other things then minetest
20:14 celeron55 as a fact minetest should be able to work on a 100kB/s upstream link
20:14 celeron55 if it doesn't, that's a bug that must be fixed
20:15 sapier yes with about 5 players that's gonna work ... as long as you really have that 100kb upstream
20:15 celeron55 yes, that's fine
20:16 celeron55 anyway, if you do network stuff, run a server; it can only help
20:16 sapier but my line has a typical downstream usage of about 400-600GB downstream per month ... I assume that's gonna tell about it's typical load without even calculating the details
20:17 proller porn!
20:17 Megaf lol
20:17 proller minetest better than porn!
20:18 VanessaE_ 600GB/mo downstream?  eep
20:18 VanessaE_ that's a fuckload of porn :P
20:18 sapier well as that line is used by my little brother too that guess could even be real
20:19 Anchakor you could share the porn to reduce the usage, just sayin :)
20:20 sapier well as eveything is streaming data lately sharing is quite difficult ... even squid is unable to cache streams ;-)
20:21 Megaf sapier: I will set up a real server at my home so you can use it
20:22 Megaf and you better optmize the code, its a 950 MHz AMD Duron CPU XP
20:22 Megaf I think you wouldnt want it
20:22 sapier thank's megaf, I'm thankfull for any bugreports (especially as those contain logs)
20:23 Megaf sapier: but really, 100 KB/s of upstream is more than enough
20:23 sapier single core? puuuhh ... all the connection optimizations have been targeted at beeing able to use multiple cores more efficient
20:23 Megaf I can host 15 users with that upstream
20:23 Megaf my biggest problem is missutilizations of the ARM cores
20:24 proller and now super multithread connection can transfer 10gbps ?
20:25 sapier if you have a device that fast you could give it a try ... I'd be interested at the results
20:25 CraigyDavi joined #minetest-dev
20:25 proller now its only 1-3 mbps on localhost
20:25 proller try yourself
20:26 proller singlethread enet give me 30-50 megabytes per second
20:27 proller maybe your "optimizations" needs revert? ;)
20:27 sapier It's way better for me on singleplayer but I found out that it's gonna perfom better with more players too
20:27 proller how much ?
20:27 sapier but I had way less performance with previous implementation
20:27 proller prev was more stable
20:27 sapier that's a lie
20:28 sapier I was never able to download even 10 mb of textures with previous implementation
20:28 proller you newer plays in multiplayer, how you detect "lie" ?
20:28 proller it was wery slow, but stable
20:28 proller and tunable to good speed
20:29 VanessaE_ proller, in the old implementation, the engine was lucky to get 50 kbps.  now it can do 10+ Mbps.  without cURL.
20:30 proller but you can play only 3 minutes to disconnect
20:30 VanessaE_ and he has done multiplayer many times, on my servers.
20:30 VanessaE_ my servers have *never* disconnected me unless I explicitly shut them down.
20:30 proller what about other users?
20:31 Megaf yay! I got briefly a 260% load on my server
20:31 VanessaE_ I can't speak for other users.  Some disconnect, some don't.
20:31 Megaf increasing threads to 16 done the trick
20:32 VanessaE_ Megaf: G*d damn it that thread setting IS FOR THE MAPGEN!!
20:32 VanessaE_ and you can't set it higher than the number of cores that you have on your box or it does no good
20:32 Megaf I don't care, increasing it theres lower avarage CPU usage and now it can use more cores
20:33 Megaf VanessaE_: well, 100% = once core, 200$ two core
20:33 sapier proller do you use freeminer or minetest?
20:33 Megaf my server is a four core
20:33 VanessaE_ you're not seeing a true measure or you're not doing a proper test of your server.
20:33 VanessaE_ tru exploring new terrain and get back to us.
20:33 VanessaE_ ARM is NOT a proper platform to run a server on!
20:33 Megaf it is
20:33 Anchakor it is
20:34 VanessaE_ Not with the mods you run it isn't.
20:34 proller arm good with freeminer 8)
20:34 Megaf cheap, efficient and powerful enough
20:34 sapier megaf I'm not sure if using more then 1 emerge thread is even supported by now
20:34 proller pc bad too if you use mods
20:34 sapier haven't there been issues?
20:34 Eater4 joined #minetest-dev
20:34 proller sapier, fm now use your connection
20:34 Megaf 17:32:37: ERROR[ConnectionSend]: con(5/1)RunTimeouts(): Peer 176 has timed out. (source=peer->timeout_counter)
20:34 Megaf 17:33:29: ERROR[ConnectionSend]: con(5/1)RunTimeouts(): Peer 172 has timed out. (source=peer->timeout_counter)
20:35 Megaf No good
20:36 Megaf joined #minetest-dev
20:36 celeron55 what is the timeout, then?
20:36 sapier peer not anwering for 5 seconds
20:37 celeron55 previously it was 30
20:37 celeron55 also how does the new connection thing do pings?
20:37 celeron55 does it send like my version did, and does it handle it like it did?
20:37 sapier same as old one but at prio 1 channel
20:38 celeron55 change the value to 30 and see if there are any more problems
20:38 sapier ping is high priority so yes ... I'll check the timeout
20:38 celeron55 it could be just that those people use some shitty connections
20:38 celeron55 it's easy to go past 5 seconds in a mobile connection
20:39 PenguinDad I wonder why I never timed out
20:41 Megaf sapier: c55 is right, please do change the timeout for at least 15 seconds
20:41 Megaf Or, is there any harm in increasing timeout?
20:42 Megaf Those players timing out in my server are using tablets and phone, so it can be a shity wifi or 3g
20:43 sapier wait I was wrong about the 5 seconds, that's ping timeout, not peer timeout peer timeout is still 30s
20:44 sapier well it's called CONNECTION_TIMEOUT but it's peer timeout
20:45 sapier ping timeout tells if we didn't receive a packet from that peer for 5 seconds we're gonna send a ping to make it send something
20:45 celeron55 so ping _interval_ is 5s like it was, and the "the other end seems to be dead" timeout is still 30s
20:45 celeron55 sounds like the issue is something else then
20:46 sapier no ping is only sent if we didn't get anything so it's not really a inverval
20:46 celeron55 well, it's an interval if nothing is sent
20:47 celeron55 otherwise it postpones it as if it was a timeout... so it's both 8)
20:47 sapier yes two possible reasons either client is really not responding ... or for some reason server doesn't process anything for 30 seconds
20:47 celeron55 the server can easily lock up for 30 seconds
20:47 celeron55 but my latest connection implementation absolutely always processed pings asynchronously
20:47 sapier invalid packets don't reset timout counter
20:47 celeron55 there was no way that the server thread could stop it
20:47 celeron55 is there a way now?
20:48 sapier yes ping as well as ping ack sending is done out of order to to prevent a stuffed queue from delaying pings too
20:49 sapier of course I can't speak for os packet queueuing
20:49 Megaf ok, there are two distinct messages ofplayer timeout on my logs
20:49 celeron55 the reason for those issues has to be found even if it's going to be wontfix
20:49 Megaf that one I pasted earlier
20:49 sapier I fully agree celeron55
20:49 Megaf and PlayerNick has time out
20:50 Megaf What' s the difference?
20:50 sapier can you show me?
20:51 Megaf hold on, I will paste bin
20:51 celeron55 it's possible to enable very spammy logging for the connection in order to debug stuff
20:51 sapier yes but that's gonna cause other issues ... logging isn't threadsafe
20:52 sapier I had to add a lock around logging while developing it to get it at least somehow working ... did crash within minutes without it
20:54 Megaf sapier: http://paste.debian.net/95322/
20:55 sapier the first one is low level timeout of peer, second one is player timing up a level higher (caused by the low level timeout)
20:56 Megaf Does it really needs to show that twice then?
20:57 sapier I don't think so but I don't think it's related
20:58 sapier do we know about the client versions of the ppl timing out?
20:58 Megaf May be some sort of tablet version
20:58 Shardvexz joined #minetest-dev
20:59 Megaf feromonas timed out twice there, he plays on windows
20:59 NakedFury joined #minetest-dev
20:59 sapier ok we know about some broken tablet versions out ther getting out of sync with sequence numbers (that's been one of the major bugs in old implementation too)
20:59 sapier windows stable or some recent build?
21:00 Megaf may be the stable version, but I canÂt be sure
21:00 Megaf cant*
21:01 Megaf gtg
21:01 Megaf cya
21:02 sapier ok
21:07 Eater4 left #minetest-dev
21:07 Eater4 joined #minetest-dev
21:12 iqualfragile sfan5: have you taken a look at the backtrace?
21:14 sfan5 not yet
21:16 iqualfragile would be nice, i want to create renderings of the map regularly :D
21:16 iqualfragile sapier: not entirely true, squid can with a lot of effort cache streaming data
21:17 sapier hmm maybe but not with simple setup :-) I don't wanna learn how to max out squit too ;-)
21:17 sapier ShadowNinja: are you sure you needed to revert the shifting too?
21:19 iqualfragile sapier: i did, its horrible because too often in documentation or articles they make no difference between squid 2 and 3…
21:23 iqualfragile enought ot :D
21:24 twoelk|2 joined #minetest-dev
21:25 celeron55 that getIntegerAsBlock revert is lame; it's not black magic - i don't understand why ShadowNinja doesn't understand what it does :P
21:26 celeron55 and it isn't even messed up; it perfectly does what it was designed to do
21:26 celeron55 the issue is that it wasn't designed to do what ShadowNinja thinks it should have been
21:26 ShadowNinja celeron55: v3s16(0, -1, -1) -> fffffffffefff000 seems sane to you?
21:26 celeron55 it doesn't operate on bit level
21:26 celeron55 stop thinking it like that
21:27 celeron55 it would be one design for it, but it doesn't work based on that design
21:27 ShadowNinja sapier: Can you check #1226?  I added function serialization. http://pastebin.ubuntu.com/7317714/
21:27 celeron55 but i'm just repeating myself; see the log when i described it
21:27 ShadowBot ShadowNinja: Error: Delemiter not found.
21:28 ShadowNinja https://github.com/minetest/minetest/pull/1226 -- [WIP] Remove dependency on marshal and push the Lua error handler only once
21:28 ShadowNinja BBL.
21:28 celeron55 why didn't you eg. copy my explanation in there instead of writing OMG IT'S BLACK MAGIC NOBODY SHOULD TRY TO EVEN UNDERSTAND IT
21:28 celeron55 that's counterproductive
21:28 celeron55 somebody else can understand it if you don't
21:29 celeron55 at least the original creator of it does (which makes already two of us)
21:34 proller joined #minetest-dev
22:11 EvergreenTree joined #minetest-dev
22:35 Gethiox joined #minetest-dev
23:42 Megaf !up 191.17.35.35 30002
23:42 ShadowBot Megaf: 191.17.35.35 port 30002 is down
23:43 Megaf liar
23:47 Megaf !up 191.17.35.35 28000
23:47 ShadowBot Megaf: 191.17.35.35 port 28000 is down
23:47 Megaf can anyone do a port scan on my IP please?
23:47 Megaf 191.17.35.35
23:47 Megaf sorry, wrong channel
23:48 VanessaE joined #minetest-dev

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