Time Nick Message 04:08 hmmmm :/ 04:08 hmmmm so I'm testing PseudoRandom in Dieharder 04:08 hmmmm so far it failed operm5, bitstream, opso, oqso, parking_lot, 2dsphere, 3dsphere, squeeze, craps 05:04 hmmmm here are the full results: http://fpaste.org/198380/64822551/ 05:11 Tablet_One I think I found a bug in the newest android apk on github- when selecting a server from the server list, the address and port are not transferred to their respective input boxes, requiring the port and address to be typed manually 05:34 hmmmm for comparison, here is the PCG32 rand algo: http://fpaste.org/198382/42648275/ and here is FreeBSD's libc rand(): http://fpaste.org/198383/14264828/ 05:36 Tablet_One Also, the game crashes upon selecting the inventory 05:43 hmmmm hah... oh that's nice 05:44 hmmmm great job, android maintainers another quality minetest release. i'm sure it'll get an excellent rating in google play 05:54 Tablet_One Heh 08:55 nrzkt VanessaE, this doesn't stop the death loop. This repair the player which are stucked with 0 hp when connects. The deathloop is not find yet. I think a trigger is missing somewhere, but i need to find where 08:55 VanessaE nope.avi 08:55 VanessaE doesn't fix them when they connect, either. 08:55 nrzkt kahrl, sfan5 , ShadowNinja : #2495, agree ? 08:55 ShadowBot https://github.com/minetest/minetest/issues/2495 -- Save creative_mode and enable_damage setting for each world in world.mt by fz72 08:56 VanessaE wat 08:56 nrzkt then it's another problem if this patch doesn't fix the loop 08:56 VanessaE why? that's specified in minetest.conf 08:56 VanessaE wait, nevermind. 08:56 VanessaE that's client-side/singleplayer 08:57 nrzkt yes 08:57 VanessaE anyway yeah, your fix doesn't actually work in practice :) 08:57 VanessaE there's still only one way to break out of the loop - keep damage enabled on the affected server. 08:57 nrzkt okay. I know the symptoms of the bug but somethink is missing somewhere on respawn 08:57 VanessaE mind you, having damage disabled should have also prevented what started the loop in the first place (the set_hp() call) 08:58 VanessaE but I patched around that bug in technic so at least *that* can't happen anymore 08:58 nrzkt but the think you said is good, maybe there is a enable_damage somewhere which doesn't permit to respawn players 08:58 VanessaE yes indeed, the player never actually re-spawned. 08:58 nrzkt because they mustn't die and the code don't handle it 08:59 VanessaE but the more pressing thing that needs fixed (and this isn't your department I guess) is this ghost entity + player object delete issue I've been bitching about 09:00 VanessaE between that and the player death loop, well, you can understand how frustating it is. 09:00 nrzkt in respawn we have this test 09:00 nrzkt if (!player->isDead() || !g_settings->getBool("enable_damage")) 09:00 nrzkt enable_damage will be removed 09:01 nrzkt this doesn't permit to respawn player, because if player is dead and no damage the packet is ignored 09:01 nrzkt i haven't seen it before, sorry :) i fix it now 09:02 nrzkt pushed. 09:02 nrzkt you can patch and remove your workaround :) 09:03 VanessaE nope, can't 09:03 nrzkt maybe, but later 09:03 nrzkt why i don't have voice today ? :o 09:03 VanessaE unless that ^^^^ idea also causes the engine to ignore the set_hp() call :) 09:03 VanessaE idk 09:04 nrzkt in fact, damage are handled somewhere, but we have a setHP call 09:04 nrzkt and this ignore the enable_damage call 09:04 VanessaE well I mean the lua end 09:04 nrzkt i think having a set_damage call which handle enable_damage paramet would be better, no ? 09:04 VanessaE nah. 09:05 nrzkt this permit to remove the get_hp/set_hp calls and do directly the damage with a call which could disable itself damages on non damage servers :) 09:05 VanessaE if you call someplayername:set_hp() to kill the player, and damage is not enabled on the server, well, the set_hp() command should be ignored and the player's HP should be reset to infinite 09:06 VanessaE but instead, that set_hp() call actually sets the HP, even with damage disabled. 09:06 VanessaE that's how I was able to trigger the loop 09:06 VanessaE (in this case, technic corium, chernobylite, and other radioactive items) 09:07 nrzkt i see 09:07 nrzkt but in fact, setHP doesn't use enable_damage, because it's an HP setter, not a damage generator 09:07 VanessaE in technic I've patched around it to check for the enable-damage flag and skip the radiation-injury ABM if damage isn't enabled 09:07 nrzkt if we have a set_damage call for radioactive... etc it permit to disable the damages on disabled damages servers, directly 09:08 nrzkt i think it's the job of core to do it, not mods, many mods will duplicate your workaround whereas we can offer a better path 09:08 VanessaE agreed. 09:08 VanessaE but new APi calls would be overkill 09:10 VanessaE now, if there were a do_damage() which takes a relative damage amount, that would be preferable to the absolute value needed by set_hp(), but what's there in technic works well enough that that isn't needed right now 09:10 nrzkt for technic, but other mods can use it :) 09:10 VanessaE plus any such changes would need a damage system that allows for, say, floats for HP, or a higher-than-20 range 09:11 VanessaE so that's all stuff for later imho 09:11 nrzkt 0.5 yes 09:11 VanessaE (this subject has been covered before 09:11 VanessaE ) 09:11 nrzkt i set it on the 0.5 roadmap :) 09:11 nrzkt then i will propre a PR for doing damage later today 09:12 VanessaE others have suggested a higher-than-20 range is better, with an open-ended max. I lean heavily toward floats within the 0-20 range, for backward-compatibility sake. 09:13 nrzkt i don't study the HP system, but i think there is something to do client side which break the compat with old clients 09:14 VanessaE well, we'll see. 09:14 VanessaE if it can be done without breakage, all the better 09:15 nrzkt yes :) 09:20 VanessaE bbl, bed 09:33 nrzkt sfan5 ? 11:01 nrzkt i will push a little code cleanup, moving some Server Send() code to functions instead of building packets into the ASyncRunStep 11:18 nrzkt last google stats (saturday): we have 6 customers on Play Store. 4 Android 4.4 and 2 Android 2.3 11:27 Calinou when do you get new stats, weekly? 11:28 nrzkt Updated every day for today - 2 days 11:29 nrzkt and this is a graph, then i can get 1 month or more stats 11:43 sfan5 nrzkt: ? 12:35 nrzkt sorry sfan5 i was AFK. Can you look at the PR i mentioned to you on github ? 12:36 nrzkt and if you can add the Android apk download link there: http://minetest.net/download 12:54 everamzah get a segfault on wrong password now 12:55 nrzkt with current master ? 12:56 nrzkt no problem on my build 13:01 everamzah yes current master and it says "Bus error" 13:01 nrzkt what is your system ? 13:02 nrzkt Bus error ? :o that's very strange 13:03 kilbith can't reproduce it either 13:04 nrzkt if you can use gdb and give us a backtrace 13:05 everamzah it gave proper formspec "wrong password" first gdb run and then i entered the password wrong again and this time terminal says program receieved signal sigsegv -- where do i paste this? 13:05 nrzkt now 13:06 nrzkt type "bt f" 13:06 everamzah ok 13:06 kilbith everamzah, pastie.org 13:06 nrzkt you will have the backtrace, and use pastie.org 13:06 everamzah no symbol table info available, screen stuck on "connecting to server" 13:06 everamzah oh 13:06 everamzah ok thx 13:07 everamzah http://pastie.org/10030288 13:10 nrzkt segfault when you leave game ? 13:12 nrzkt it seems it's a problem with your locale sqlite database 13:13 nrzkt local*. A statement is empty 13:14 nrzkt ShadowNinja will be more competent than me for this. If you can compile minetest in debug mode it's also more useful 13:14 everamzah ok will do 13:23 everamzah http://pastie.org/10030331 <-- the first time when in gdb it doesn't segfault but gives "wrong password" dialog, but the second wrong password is when it segfaults. when not running in gdb it segfaults on the first wrong password 13:24 nrzkt => FINALIZE_STATEMENT(m_stmt_begin) 13:26 nrzkt it seems that your sqlite backend was not well initialized. verifyDatabase() will init it. I don't have more information on sqlite, i'm not specialist 13:36 kahrl Looks like #2219 came back from its grave 13:36 ShadowBot https://github.com/minetest/minetest/issues/2219 -- Singleplayer segfaults if server rejects client 13:36 kahrl the reason is probably that not all statements are initialized to NULL by the Database_SQLite3 constructor 13:37 kahrl (introduced by 708337dfc2) 13:41 kahrl https://gist.github.com/kahrl/6055560b335017056248 13:43 kilbith kahrl, btw : https://github.com/minetest/minetest/issues/2496 13:44 kahrl kilbith: I'm a bit occupied at the moment, but I might do it in April if nobody has by then 13:46 kilbith now that we have more space in the list, we could add the "signal" icon for the lag 13:46 kilbith (if it's accurate enough) 13:49 Tablet_One No offence, but I think the Android build should've been tested more before being added to the Play store- #2497 is a pretty big problem 13:49 ShadowBot https://github.com/minetest/minetest/issues/2497 -- Port and address must be manually entered on Android 13:51 nrzkt i haven't seen this issue on my client, i retest to be sure 13:51 nrzkt you are right. 14:02 srifqi so, any chance to fix? 14:46 est31 I think we should talk about how android builds are released 14:46 est31 because currently its very manual 14:46 est31 nrzkt announces it on chat, and that is it. 14:47 est31 perhaps tagging each "release"? 14:52 nrzkt srifqi, Tablet_One yes 14:54 nrzkt est31, you are right, it's a little bit manual, we released it as soon it was technicaly possible, based on 0.4.12, but 0.4.12 is not really android Friendly 15:06 est31 so you say that this release is manual, and the releases after that are "safe" for android? 15:06 est31 about the nightly builds, where can I download them? 15:08 nrzkt atm there are no upload. Jenkins build every night a build from master here: http://jenkins.unix-experience.fr/job/minetest-android-OfficialRepository-RollingRelease/ 15:08 nrzkt i need to add an upload task to a place, like my minetest-ftp.unix-experience.fr/android for example 15:09 sfan5 nrzkt: github gives me a list of all issues w/ new stuff since last time, this is why i don't notice when I'm mentioned 15:09 sfan5 nrzkt: also you need to mention me by "@sfan5", just "sfan5" is not enough 15:09 nrzkt sorry then sfan5, but i use @sfan5 on my posts :) 15:09 sfan5 you didn't here: https://github.com/minetest/minetest/pull/958#issuecomment-77155144 15:10 nrzkt right, but later i do it in this post :p 15:10 nrzkt sorry for the mistake on first ping :) 15:11 nrzkt est31: i will look at this when i get more time, i'm at work now, it a simple task to do on jenkins :) 15:12 est31 ok thanks nrzkt. 15:14 nrzkt est31: i add the archive mode to jenkins, we will see this night where the file will be added. I also changed the rolling release mode to debug, else you can't install the build on your phone without sign the APK :) 15:36 sfan5 nrzkt: did you change something w/ LocalPlayer::move? 15:44 sfan5 this sucks 15:44 sfan5 why isn't GameRunData a member of the Game class 15:45 sfan5 it's passed to almost any function 15:45 sfan5 but nobody had the idea to just make it a member of the class 15:45 sfan5 now i need to pass it along with many more params just because my function needs it 15:46 sfan5 it's also not consistently named 15:46 sfan5 in function a it's called interact_args 15:46 sfan5 in function b runData 15:46 sfan5 in function c run_data 15:46 sfan5 or in function d args 15:46 sfan5 I'm not even making those up 15:48 sfan5 i have to add 3 lines just to get this damn variable into my function 15:48 nrzkt sfan5: no i generally work on server, client is not my first priority 15:48 sfan5 15:49 nrzkt some designs are broken. PlayerSAO and Player must be merged to, i think . And we need to have a PlayerSession 15:50 sfan5 PlayerSAO is mostly older code 15:50 sfan5 but this GameRunData thing is new 15:50 sfan5 and still badly designed 15:51 nrzkt it's not mine, i don't know this object 15:51 sfan5 i wasn't implying that it was your fault 15:51 nrzkt but you can improve the object, why not improve it ? :) 15:52 est31 the selection bug is somewhere in guiTable.cpp I guess 15:52 nrzkt for Android ? 15:53 est31 yes 15:53 nrzkt i think it's in tab_simple_main.lua it miss a handler for click somewhere if i understand 15:53 est31 but I need more testing 15:53 sfan5 ~tell Zeno` http://irc.minetest.ru/minetest-dev/2015-03-16#i_4188723 15:53 ShadowBot sfan5: O.K. 15:54 est31 nrzkt, there is an event handler, but its not called with "CHG" as its supposed to 15:58 est31 oh 15:59 est31 it might be something different too 15:59 est31 on desktop, the event is simply "CHG:2" 15:59 est31 on mobile, its "CHG:2:9" 15:59 est31 and then everything explodes 16:15 est31 somehow I believe the bug wasn't with android but with normal desktop version 16:15 est31 inside the API 16:15 est31 and then lua assumed to be broken 16:23 nrzkt i don't know very well this API, but we need to fix this bug. 16:23 est31 I'm on it 16:23 kahrl that's rather weird, because it's a table in both tab_simple_main and tab_multiplayer 16:23 est31 now I suspect lua again :) 16:23 kahrl "CHG:2" would be something a textlist sends, not a table 16:24 est31 kahrl, look at core.explode_textlist_event 16:24 kahrl yeah, I see that now 16:24 est31 aww 16:24 kahrl tab_simple_main should call explode_table_event and not that 16:24 sfan5 nrzkt: i rebased #958 16:24 ShadowBot https://github.com/minetest/minetest/issues/958 -- Add player list, viewable by holding Tab by sfan5 16:24 est31 yup 16:24 est31 thats the fix 16:25 est31 man 2 hours searching in the dark and then a one liner ... 16:25 nrzkt sfan5: thanks for the rebase, but the question was more: do we need this fix in core or use Lua ? i agree this function must be in minetest, core or Lua i don't care :) 16:26 sfan5 nrzkt: which fix? 16:26 nrzkt this PR* 16:26 sfan5 it would be easier to add it to core 16:26 sfan5 but using lua would be better 16:27 est31 so, I do a PR kahrl, or you fix it? 16:27 est31 (#2497 that is) 16:27 kahrl I'm a bit busy, so go ahead and make a PR 16:27 kahrl you worked longer on it than I, you get the attribution :) 16:28 nrzkt ok est31 as soon as you send it and i'm at home (in 1-2 hours) i test the build on my phone and if it's okay for Android and regular clients i push it to stable-0.4 and bump a new apk 16:28 kahrl (also I can't test android at all :P) 16:28 est31 dont forget to push it to master too 16:29 nrzkt yes, i will do the two push 16:39 est31 wait thats not the fix 16:39 est31 my pr 16:39 est31 ill fix the fix pr :) 16:44 est31 fixed 18:34 nrzkt ~tell est31 now testing your PR on my phone and android emulator 18:34 ShadowBot nrzkt: O.K. 18:42 nrzkt ~tell est31 your PR is okay and works perfect. I push it 18:42 ShadowBot nrzkt: O.K. 18:47 nrzkt i do a final apk test with release mode enabled in stable-0.4 and i push the modification on github on stable-0.4 and cherry pick into master 19:08 nrzkt hmmm 19:08 nrzkt i found a throw which isn't catched on my server 19:09 nrzkt Server::step => throw ServerError . This throw isn't catched by parents 19:11 nrzkt i don't know if someone removed the try...catch somewhere but this is triggered by Lua here 19:13 est31 nrzkt, servers dont have catch loops 19:13 est31 they just crash in that case 19:13 nrzkt yes 19:13 est31 which is bad ofc 19:13 nrzkt i make an assert 19:13 est31 ummm dunno if zeno will like that 19:14 nrzkt i do an errorstream and an assert(false). 19:14 nrzkt it's due to a mod which crash my server 19:14 nrzkt 19:11:09: ERROR[main]: ...st/games/minetest_game/mods/mg_villages/map_of_world.lua:157: bad argument #1 to 'ipairs' (table expected, got nil) 19:14 nrzkt but the error is not shown because we throw in the nether :p 19:15 nrzkt est31 i committed your change and uploaded the updated apk to google play store. I'll do it on github when i fix this throw problem 19:17 nrzkt thanks for the fix 19:18 est31 if you have time, can you review #2460 ? 19:18 ShadowBot https://github.com/minetest/minetest/issues/2460 -- Optimize minetest.get_(all_)craft_recipe(s) by ShadowNinja 19:18 est31 np 19:19 nrzkt not atm, i fix the throw problem. 19:19 nrzkt if(async_err != "") { 19:19 nrzkt errorstream << "UNRECOVERABLE error occurred. Stopping server. " 19:19 nrzkt << "Please fix the following error:" << std::endl 19:19 nrzkt << async_err << std::endl; 19:19 nrzkt assert(false); 19:19 nrzkt } 19:19 nrzkt replacing the throw by this, is this reasonable ? 19:21 nrzkt this async_err comes from emergethread, which trigger this error from Lua or if network server port is already used 19:23 nrzkt i don't think there is other design for this. We have the error, we must show it and assert because there is a problem on network or in the Lua code. I commit that to master 19:24 nrzkt atm we only have a throw segfault without knowing the error 19:28 est31 lol "Please fix the following error:" truly open source 19:29 nrzkt in fact this will add a Lua backtrace or a port binding error 19:29 nrzkt then user must fix its addons or network :p 19:31 nrzkt s/addons/mods/