Time Nick Message 00:12 imi hi 00:12 imi sometimes my minetest (client) hangs or crashes and I see this in dmesg: [24734.774011] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:1:84dffffb, in minetest [8353] 00:14 imi this is a hand compiled MT: 587f6656a - (4 months ago) Bump version to 5.6.1 - sfan5 (tag: 5.6.1, origin/stable-5 00:15 imi how and where should I report this 00:23 FavoritoHJS i suspect gpu driver progrms 00:23 FavoritoHJS problems* 01:23 MTDiscord Was able to retrieve a stack trace from my periodic segfaults. Is it normal for there to be 739-ish seemingly recursive calls to PathFinder::updateAllCosts? Backtrace is here: https://gist.github.com/Awkanimus/e5110dc107041622ff0f9d688017a6d9 01:32 MTDiscord I'm going to rebuild with CMAKE_BUILD_TYPE=Debug and see if I can get the line numbers out of it. 01:35 lsabino is it possible to use mapgen v7 but with no flying islands? 01:35 MTDiscord There's a checkbox when creating the map 01:36 lsabino I unchecked that but it create a lot 01:37 lsabino I'm using the mod Wilhelmines Natural Biomes, maybe it cause that? 01:37 MTDiscord Odd. Sorry, I've no idea 01:37 FavoritoHJS you mean floating bits of land, especially around tall, rough terrain? Those are probably a feature of the mapgen. 01:39 lsabino FavoritoHJS yes, there's some conf to reduce the incidence? 01:39 FavoritoHJS I don't think there's one 01:40 FavoritoHJS but no-one said you can't use other mapgens 01:40 lsabino I'll try with v6 01:40 FavoritoHJS well, except that one 01:40 FavoritoHJS v6 is very janky 01:43 lsabino oh I always to use v7, but now it is creating a lot of bits of land 01:43 lsabino is v5 better? 01:44 FavoritoHJS in terms of keeping floating islands in check, no 01:44 FavoritoHJS from what i recall v7 is more of a tamed v5 01:44 FavoritoHJS i was thinking more of valleys or carpathian 01:45 lsabino I didn't try valleys, I'll do a city, that's sound a good idea 01:46 FavoritoHJS am i talking to chatgpt or what, as I don't think there's a city mapgen 01:47 lsabino oh no, sorry. I just commented on my building plans 01:57 imi FavoritoHJS: ok, how do I figure out? where do I report it? 01:58 imi might be possible though, sometimes the whole machine freezes which suggests kernel level hiccup 02:01 FavoritoHJS have you overclocked your hardware or something like that? 02:02 FavoritoHJS if not, consider updating your intel graphics drivers 02:14 imi FavoritoHJS: no 02:15 imi I've just reported a bug to ubuntu maybe that'll help 02:43 FavoritoHJS very stupid question: is there a way to ensure that a function passes some arguments in, for example `rax`, the 3'rd element of the stack, stuff like that? As I'm unsure how working around abi issues is even possible without that, at least not without writing large amounts of assembler 03:38 muurkha use a compiler that implements the calling convention you want to use; GCC implements several which you can choose with __attribute__ 04:52 lissobone Greetings. 04:52 lissobone I might consider using arena_lib. 04:52 lissobone The problem with hard dependencies is that they have to stay very stable, otherwise all dependent mods and games crash. 04:53 lissobone Just some thoughts. 04:53 lissobone Developing a library is a great responsibility. 04:57 MTDiscord Well, arena_lib is actively maintained, and used and tested on our minigame server. Zughy takes code correctness very seriously 04:59 MTDiscord There are occasional breaking changes, that require mods to update, though those are going to be documented. The actually breaking changes occur at milestones in the planning. So far, it seems Zughy has made sure to give advance warning and compatability code (which is removed in another update) for breaking changes 05:01 MTDiscord Such as engine warnings that a particular feature is no longer supported, and the mod should update ... 05:11 lissobone [Best prices in the Tri-State Area!] 06:58 lissobone I used statistical mechanics to compute the best configuration of the player spreader. 06:59 lissobone Maybe spawn players in special boxes at the start? 07:02 lissobone [[Specil]]. 07:38 lissobone I'll first make an API with numerous functions, then build my game on top of them. Sounds like a gamer move. 08:24 luk3yx kilbith: Where did i3_cannot.ogg come from? 10:43 lissobone Greetings. 11:31 ROllerozxa mfw neither one of the minetest wikis have functioning syntax highlighting 11:31 ROllerozxa I thought only the dev wiki was broken but the regular wiki can't do syntax highlighting either 11:32 ROllerozxa could just throw prism.js in and be done with it 11:59 MinetestBot 02[git] 04Panquesito7 -> 03minetest/minetest: Replace minetest_game with "Minetest Game" where appropriate 13d82d18b https://github.com/minetest/minetest/commit/d82d18bfb1a51e0f2f0a89999474e98890addf7e (152023-01-07T11:58:16Z) 13:27 sfan5 ROllerozxa: I'm sure there are working plugins but someone needs to care for the wiki(s) 14:27 kabou when I do a `minetest.read_schematic(filename,options)` minetest seems to halt completely 14:27 kabou it crashes with "segmentation fault" and dumps core 14:28 kabou even `minetest --trace` shows no hints as to what went wrong 14:29 sfan5 attach a debugger to get more details 14:35 jwmhjwmh kabou: What's your Minetest version? A bug was fixed with that function recently. Are you calling it at load time, or after? 14:36 kabou after 14:36 Krock gdb minetest 14:36 Krock r 14:36 Krock bt 14:37 kabou i'm writing a mod that checks schematics from a chat callback 14:37 Krock ^ that's the thing you can do to find out what's going wrong 14:37 kabou do I need a minetest binary compiled with debug support 14:37 Krock would be nice, but more important is to know which MT verison you're using 14:37 lissobone Just compile one. 14:38 kabou Minetest 5.6.1 (Linux) 14:38 kabou Using Irrlicht 1.9.0mt8 14:38 kabou Using LuaJIT 2.1.0-beta3 14:38 kabou from debian testing 14:38 Krock alright... recent enough. release build should give you some symbols 14:39 kabou Thread 16 "Server" received signal SIGSEGV, Segmentation fault. 14:39 kabou [Switching to Thread 0x7fffc8e226c0 (LWP 183480)] 14:39 kabou 0x00007ffff7174dd9 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 14:39 Krock pastebin.com is your friend 14:39 Krock or other paste services 14:40 kabou those three lines is about the info it gives 14:40 Krock there must be more, e.g. when you hit Enter to continue the backtrace output 14:41 kabou i'm sorry, not very familiar with the debugging process with gdb 14:41 kabou I run `gdb minetest` 14:41 kabou then `run` 14:41 Krock then you have this crash and type "bt" 14:41 sfan5 related: I had the idea a while ago that we should add a --debugger option to Minetest that automatically runs it under gdb with all the right options to get useful output 14:41 kabou it starts minetest, I start a world that has the mod enabled 14:41 kabou then I run the offending chat command 14:42 kabou and apart from the last `minetest.log` before it calls `minetest.read_schematic`, those three lines is all I get 14:42 jwmhjwmh See if the persists with the latest Minetest version from git. 14:42 kabou ah okay, just did bt 14:44 kabou https://pastebin.com/ur1zFQJJ 14:44 Krock sfan5: yes. Wine also has an automatic debugger attach on crash to give a backtrace. it would be quite helpful to have that for minetest. perhaps we can read out the core dump file? 14:45 Krock kabou: okay that backtrace is pretty useless. I can only tell that it went through the Lua API (obviously) and a few Minetest functions... 14:45 Krock although .. why lua_pcall? 14:45 kabou gonna check if there is a dbg build in debian 14:45 lissobone chesecak:-[ 14:46 Krock kabou: mind sharing a minimal version of your mod so that I could try to reproduce it? 14:46 sfan5 kabou: you're better off just building from source 14:47 jwmhjwmh I expect an invalid pointer is being passed to lua_pushstring. 14:48 kabou https://pastebin.com/WxBgZSvq 14:48 kabou that's te script 14:50 Krock on it.... 14:54 kabou could it be related to the fact that I got the filename from an insecure environment? (the script is a trusted mod) 14:55 Krock cannot reproduce. works for me on this week's Minetest 5.7.0-dev 14:56 Krock loaded 152 mts schematics from mineclone 14:56 jwmhjwmh https://github.com/minetest/minetest/commit/386bfcda2b3565b38c79af76743ad3d76c452fd5 14:56 Krock so the fix here does indeed work ^ 14:57 Krock I suppose it's time for a 5.7.0 release 14:58 kabou well I guess my script is a bit of an uncommon case anyway 15:00 Krock I remember fixing a similar issue in place_schematic (or so) a while ago - seems like that function suffered from a similar issue. well then. if you're already compiling Minetest, you could get the newest one with the fix included 15:01 kabou gonna get the deb with dbgsyms first 15:04 kabou paste with symbols: 15:04 kabou https://pastebin.com/ivWVRySj 15:04 Krock https://github.com/minetest/minetest/commit/386bfcda2#diff-be4624c7b000e30c1dfd7240605f7b0f6414b8da1b9cdaebef53922d765d8c42L1748 15:05 Krock it's precisely this line 15:06 kabou allright then ,that's settled.  thanks for helping me find what's going on.  Time to build current git minetest then 15:10 Krock alternatively you could try to get a Frankenstein Debian by using the nightly Minetest build from the Ubuntu PPA and hope that it runs 15:13 MTDiscord building from git is probably easier (after you do it once or twice) and less likely to break your system 15:14 kabou in fact I  try to add the debian build stuff to minetest git and have it build a .deb 15:14 kabou worked before when debian was severely lagging 15:15 kabou they're reasonably up to date now 15:15 kabou btw the debian packages are of a higher quality than the ubuntu ppa ones I think 15:15 kabou especially if you want to run a server only 15:38 lissobone Ok, so. 15:38 lissobone I am back. 15:38 lissobone I've got good news. 15:39 lissobone I have implemented the smooth radius and coordinates transition. 15:39 lissobone While figuring out the algorithm I found out something interesting. 15:40 lissobone What I wanted to do is to make the numbers transition at a constant rate. But at first they went really fast at the beginning of the transition and really slow at the end. 15:40 lissobone I might use this somewhere else. 19:40 kabou after building minetest in place, `make clean` does not remove the minetestserver binary 19:41 kabou it does remove the minetest binary from `bin` 19:51 muurkha doh 23:13 MTDiscord My minetest server segfault saga continues. Rebuild with RelWithDebugInfo and eventually it droped a core. Using GDB I now have a stacktrace with line numbers. Stack trace and version info are here: https://gist.github.com/Awkanimus/d9037f646d0e36b8c377773b4840842f 23:27 sfan5 that's a textbook stack overflow 23:27 sfan5 you hit a bug in the pathfinder 23:28 sfan5 if you figure out how to reproduce it it'd be nice to report it on the issue tracker 23:30 FavoritoHJS seems like it has to do with `PA_DIJKSTRA`, it also appears like the self pointer isn't updating so if it's using a linked list of some sort make sure it doesn't have objects linking to themselves 23:33 sfan5 the `this` pointer refers to the class the method is in, it doesn't change 23:33 MTDiscord This could be a case where a recursive implementation needs to be converted into an iterative one to spare the stack 23:34 FavoritoHJS hmm, that algoritm seems horrendously slow in the "no path" case. 23:34 MTDiscord e.g. it could be the case that this isn't a bug but rather a stack storage limitation, AFAIK the C stack is pretty small by default 23:34 FavoritoHJS I wonder if that plus a small stack is causing the problem... 23:34 MTDiscord dammit now I'm curious how it's implemented 23:34 FavoritoHJS that's... bad 23:35 FavoritoHJS if you have no path and attempt to find a long path it can stall for 5 seconds 23:37 MTDiscord oof, that code is a mess 23:44 MTDiscord A bug in pathfinder you say. I'll try to keep figuring out how to reproduce it and will report if I figure it out. It tends to occured randomly, but approximate twice a day. 23:46 FavoritoHJS hmm... Devtest has a pathfinding tool, that could help replication 23:58 MTDiscord Thanks, that's good to know 23:59 MTDiscord Thanks for the insights all