Minetest logo

IRC log for #minetest, 2024-09-15

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

All times shown according to UTC.

Time Nick Message
01:56 boingman joined #minetest
03:07 sparky4 joined #minetest
03:20 gregon joined #minetest
03:35 SFENCE_arch joined #minetest
03:56 gregon joined #minetest
04:00 MTDiscord joined #minetest
04:18 SFENCE joined #minetest
04:53 gregon joined #minetest
05:15 gregon joined #minetest
05:55 gregon joined #minetest
07:00 [MatrxMT] <Blockhead256> since forum reports are still down.. this is a massive, pointless necro https://forum.minetest.net/viewtopic.php?p=439182#p439182
07:07 SFENCE joined #minetest
07:08 jaca122 joined #minetest
07:13 Talkless joined #minetest
07:29 oneeyedalien joined #minetest
07:46 Desour joined #minetest
07:57 jaca122 joined #minetest
08:05 Road_Killer joined #minetest
08:22 Warr1024 joined #minetest
08:32 TomTom joined #minetest
08:33 mrkubax10 joined #minetest
08:47 Warr1024 joined #minetest
08:48 gregon joined #minetest
09:01 fling joined #minetest
09:10 YuGiOhJCJ joined #minetest
09:29 gregon joined #minetest
09:55 gregon joined #minetest
10:34 ireallyhateirc joined #minetest
10:51 gregon joined #minetest
11:05 fling joined #minetest
11:15 mrkubax10 joined #minetest
11:39 ireallyhateirc joined #minetest
11:43 gregon joined #minetest
11:47 est31 joined #minetest
11:52 Road_Killer Another sneaky spammer: https://forum.minetest.net/viewtopic.php?p=439187&amp;sid=bd479ec5e65fce0dd1c850f742eadda9#p439187
12:01 [MatrxMT] <Bram> When trying to run a Minetest server in a Docker container, I keep receiving the following error:
12:01 [MatrxMT] <Bram> ```
12:01 [MatrxMT] <Bram> 2024-09-15 13:59:34: ACTION[Main]: Server: Shutting down
12:01 [MatrxMT] <Bram>     terminate called after throwing an instance of 'DatabaseException'
12:01 [MatrxMT] <Bram>     what():  Failed to prepare query 'BEGIN;': unable to open database file
12:01 [MatrxMT] <Bram> ```
12:01 [MatrxMT] <Bram> Does anyone know what this means? The Minetest server doesn't restart, but just gets stuck on this error.
12:01 [MatrxMT] was kicked by ShadowBot: Message flood detected. Use a pastebin like pastebin.mozilla.org.
12:01 [MatrxMT] joined #minetest
12:01 [MatrxMT] <Bram> Rejoin what? I restart the Docker container, throw away the image, and restart, and the issue keeps popping up.
12:02 [MatrxMT] <Bram> It's not a log that appears when a client joins the server. The server won't start as a result of this error.
12:04 Krock Bram: make sure the file is still intact. run an integrity check from command line
12:05 [MatrxMT] <Bram> Which file? The error doesn't mention a file.
12:05 [MatrxMT] <Bram> I was trying to start a new world, so there was no file. I was assuming that perhaps the code just needed a `map.sqlite` file and I created one using my client. After having added the file, the same error is thrown.
12:06 sfan5 don't manually create it
12:07 sfan5 a possible issue is that the folder can't be written from inside the container
12:09 [MatrxMT] <Bram> Oh yes, that was it. That also explains why it only gave this error for the new world, and not for an existing container. The server now halts because of a different error. _(Which I think I know how to fix.)_ Thanks!
12:12 gregon joined #minetest
12:28 boingman joined #minetest
12:29 Glaedr joined #minetest
12:30 Thelie joined #minetest
12:36 Thelie joined #minetest
12:51 gregon joined #minetest
13:07 mazes_84 joined #minetest
13:08 ___nick___ joined #minetest
13:10 gregon joined #minetest
13:12 jadedctrl joined #minetest
13:16 SpaceManiac joined #minetest
13:19 jaca122 joined #minetest
13:23 illwieckz joined #minetest
13:36 ___nick___ joined #minetest
13:39 ___nick___ joined #minetest
13:47 silverwolf73828 joined #minetest
14:03 gregon joined #minetest
14:15 Desour joined #minetest
14:39 [MatrxMT] <Bram> My server now works, but it keeps crashing whenever I try to load a new chunk. The first few chunks worked (because the mod was still inactive back then), but now the server crashes when people join the server too close to the border to trigger an `on_generated` event in the mapgen async environment.
14:40 [MatrxMT] <Bram> I'm not getting logs of that, though! Is there a way to get logs from the async environment, or to verify whether the mapgen environment causes an error that triggers to server to restart? I'd like to see if something in that environment causes everything to break, or that I'm overlooking something else.
14:45 lemonzest joined #minetest
14:45 gregon joined #minetest
15:04 [MatrxMT] <Bram> Hmmm - I've rewritten the mapgen to be in the main thread, and it seems to work just fine. The server still restarts without given an explanation:
15:04 [MatrxMT] <Bram> ```
15:04 [MatrxMT] <Bram> mt-survival  | 2024-09-15 17:02:48: [Emerge-0]: Starting cavegen!
15:04 [MatrxMT] <Bram> mt-survival  | 2024-09-15 17:02:49: [Emerge-0]: Finished cavegen
15:04 [MatrxMT] <Bram> mt-survival  | 2024-09-15 17:02:49: [Main]: Using game specified by --gameid on the command line
15:04 [MatrxMT] <Bram> mt-survival  |  - Found space
15:04 [MatrxMT] <Bram> mt-survival  |  - Found space
15:04 [MatrxMT] was kicked by ShadowBot: Message flood detected. Use a pastebin like pastebin.mozilla.org.
15:04 [MatrxMT] joined #minetest
15:04 [MatrxMT] <Bram> ```
15:04 [MatrxMT] <Bram> After these logs, it's just logs of mods initializing.
15:04 [MatrxMT] was kicked by ShadowBot: Message flood detected. Use a pastebin like pastebin.mozilla.org.
15:04 [MatrxMT] joined #minetest
15:10 cx384 joined #minetest
15:11 hunter0one joined #minetest
15:21 bodiccea_ joined #minetest
15:31 bodiccea joined #minetest
15:36 SFENCE joined #minetest
15:40 mrkubax10 joined #minetest
15:40 gregon joined #minetest
15:43 SFENCE joined #minetest
15:47 Thelie joined #minetest
15:53 chilledfrogs joined #minetest
15:53 bdju joined #minetest
16:01 gregon joined #minetest
16:04 turtleman joined #minetest
16:23 [MatrxMT] <🇬regon> I think this was written by ChatGPT: https://forum.minetest.net/viewtopic.php?t=30980
16:49 ireallyhateirc joined #minetest
16:59 boingman joined #minetest
17:05 gregon joined #minetest
17:14 Trifton joined #minetest
17:16 Sokomine joined #minetest
17:17 SFENCE joined #minetest
17:36 ___nick___ joined #minetest
17:39 ___nick___ joined #minetest
17:49 SFENCE joined #minetest
17:50 SFENCE joined #minetest
18:06 SFENCE joined #minetest
18:18 SFENCE joined #minetest
18:41 SFENCE joined #minetest
18:49 SFENCE joined #minetest
19:08 v-rob joined #minetest
19:10 v-rob More AI spam, it appears: https://forum.minetest.net/viewtopic.php?t=30981
19:14 SFENCE joined #minetest
19:17 Krock this user appears to be kind of legit but I really question what this person is doing there
19:23 MTDiscord <damotrix> Wait, that person is in the discord I think lol
19:23 MTDiscord <damotrix> Nvm I'm wrong
19:23 [MatrxMT] <Bram> People can use bad behaviour with good intentions. This might be a confused person who's using ChatGPT to create slightly related Minetest posts.
19:23 SFENCE joined #minetest
19:29 Krock or using a chat AI to translate stuff, or correct bad writing. That's not a proper way to learn it.
19:58 [MatrxMT] <Bram> I think there's a bug in the mapgen environment that causes my mod to break. Whenever I use `register_on_generated` in the main thread, the mod works fine, but the server breaks without notice when run in the mapgen environment.
19:59 ireallyhateirc perhaps related to this Out of Memory bug: https://github.com/minetest/minetest/issues/15169
19:59 [MatrxMT] <Bram> As a result, _(and for backward compatibility purposes)_ I'm going to rewrite the mod so that it can run on either thread, depending on what the server admin prefers. Is there a recommended way for a script to determine whether it's in the main thread vs. the mapgen environment, or would you recommend me to program my own solution in my mod?
20:00 ireallyhateirc any errors?
20:00 [MatrxMT] <Bram> Yes, I'm highly certain that that's it. My local Minetest installation doesn't crash, but it does slurp up a LOT of memory.
20:00 ireallyhateirc I do this:
20:00 ireallyhateirc local mapgen_env = minetest.save_gen_notify
20:01 [MatrxMT] <Bram> Unfortunately not, that's why I've spent the entire day on it today. It took me a while to figure out the cause, considering that it only appeared after I uploaded a new world with ~10 new & updated mods.
20:01 ireallyhateirc then:
20:01 ireallyhateirc if mapgen_env then do_something() end
20:01 [MatrxMT] <Bram> save_gen_notify is not available on the main thread?
20:01 ireallyhateirc it isn't
20:01 [MatrxMT] <Bram> Oh, you're right. That's an elegant solution, thanks.
20:02 ireallyhateirc rewriting the code to work in the mapgen env is painful but it's worth it
20:02 ireallyhateirc will get easier with the IPC
20:03 [MatrxMT] <Bram> I hope it will be worth it if it no longer crashes my server. 😅
20:04 [MatrxMT] <Bram> On my local computer it did work amazingly, though.
20:05 [MatrxMT] <Bram> I recently pushed out a cave gen mod that built caves using the mapgen env, but now I feel like I need to push an update so people don't brick their machines. 😬
20:05 [MatrxMT] <Bram> https://content.minetest.net/packages/Noordstar/ns_cavegen/
20:05 ireallyhateirc Could be the OOM bug honestly
20:05 ireallyhateirc did you fix performance issues with your thing? I plan taking a look at it one day
20:07 SFENCE joined #minetest
20:07 [MatrxMT] <Bram> Honestly, the JITprofiler mod helped most. After reducing it from 15s per chunk to 0.8s per chunk, the JITprofiler helped it reduce to ~0.1s.
20:07 [MatrxMT] <Bram> The mapgen env just makes the experience slightly more smooth, in those cases where you happen to place a torch and the torch appearing there only 10 frames later.
20:16 ireallyhateirc using more emerge threads would make it faster
20:16 ireallyhateirc for example in Exile we have our volcano mod
20:17 ireallyhateirc it generates the whole volcano in 48 seconds
20:17 ireallyhateirc with the mapgen env and 4 threads it got down to 18 seconds
20:17 ireallyhateirc There's a problem with using more than 1 emerge threads: https://github.com/minetest/minetest/issues/9357
20:18 ireallyhateirc so we're not using more than 1 until this gets fixed
20:18 ireallyhateirc The volcano is like 16x16 mapchunks, 300 nodes tall
20:18 ireallyhateirc I think, it's big anyway
20:19 TomTom joined #minetest
20:28 SFENCE joined #minetest
20:30 [MatrxMT] <Bram> That's pretty quick. 👌
20:35 Mantar Not the whole volcano, just a small pre-selected chunk thereof for performance testing.
20:37 Mantar the whole thing can be up to 900 nodes high, and goes several hundred below 0, and spreads out for somewhere around 1.5-2k nodes from the center, ain't nobody got time for that
20:37 ireallyhateirc t-thanks for clarifying
21:04 SFENCE joined #minetest
21:12 [MatrxMT] <Bram> Hmmm - the issue seems to persist after downgrading back to 5.8.0 - which I assumed was a bassline for having it work.
21:12 [MatrxMT] <Bram> Perhaps the function takes too much memory of itself, not even _needing_ the memory leak to overload the program.
21:22 SFENCE joined #minetest
21:36 [MatrxMT] <Bram> It's extremely frustrating. The mod doesn't like the cave generator and I can't figure out why.
21:36 [MatrxMT] <Bram> It keeps crashing and giving no logs. It would be _really_ nice if it could just give some out-of-memory error.
21:37 [MatrxMT] <Bram> Running `docker stats` suggests that the container doesn't even take that much memory though. It remains quite stable around 8.00%, even when run on the main thread.
21:39 ireallyhateirc can happen if you have an infinite loop somewhere
21:39 [MatrxMT] <Bram> The server quits without notice on an infinite loop?
21:40 ireallyhateirc freezes and becomes unresponsive
21:40 [MatrxMT] <Bram> I mean that not a single line is put through to stdout or `debug.txt`. The server just stops.
21:40 SFENCE joined #minetest
21:40 [MatrxMT] <Bram> It stops and _immediately_ restarts.
21:40 ireallyhateirc is it programmed to do so?
21:41 [MatrxMT] <Bram> Any connected client times out.
21:41 [MatrxMT] <Bram> Most definitely not.
21:41 [MatrxMT] <Bram> The strange thing is that it never does it when I run it on my machine. When run in a Docker container, however, it always does it.
21:43 [MatrxMT] <Bram> A freezing server would make sense to me. But the fact that it offers zero explanation and just decide to reload all mods and restart, is very confusing to me.
21:43 sfan5 are you sure it's not docker hiding the error from you?
21:44 sfan5 processes don't just randomly exit
21:44 Verticen joined #minetest
21:47 [MatrxMT] <system> file minetest_server_freezing.mp4 too big to download (11763458 > allowed size: 1000000)
21:47 [MatrxMT] <Bram> minetest_server_freezing.mp4
21:47 [MatrxMT] <Bram> I'm running with Docker compose. If the program exits, it tends to display in the terminal.
21:48 [MatrxMT] <Bram> I will test by configuring that the container doesn't restart actually, just to make sure. But I'm fairly certain that the server doesn't exit.
21:50 [MatrxMT] <Bram> Yeah no, it doesn't exit. Partially because I believe the container is configured to not exit.
21:51 [MatrxMT] <Bram> Can you view the video I sent in the chat? Perhaps it's related to the 100% spike that happens when it restarts. I can't really tell which one causes the other.
21:53 SFENCE joined #minetest
21:54 cheapie [16:47:10] <[MatrxMT]> <system> file minetest_server_freezing.mp4 too big to download (11763458 > allowed size: 1000000)
21:54 cheapie no, we can't
21:54 [MatrxMT] <Bram> lol - I believe it's 11MB. Let's see if I can compress it.
21:56 [MatrxMT] <Bram> Oh, it needs to be less than 1MB? Let's see if I can get it down to that. Or if I can publish it somewhere.
22:01 [MatrxMT] <Bram> I put it up on PeerTube: https://spectra.video/w/u6AMFF9CVFxmxkWsdTEX9U
22:13 SFENCE joined #minetest
22:17 [MatrxMT] <Bram> What is odd to me, is that it seems related to my `minetest.on_generated` function, but it always seems to finish the execution of that function (including the `write_to_map()` call before it crashes and restarts. Does `write_to_map` secretly happen afterwards and does that then cause a crash?
22:19 ireallyhateirc you don't do `write_to_map` in the mapgen env
22:20 ireallyhateirc you just set VM data, write_to_map is implicit after all mapgen scripts finish doing their stuff
22:20 [MatrxMT] <Bram> That I'm aware of - and I don't do that. That would cause an error, which the server doesn't here.
22:21 ireallyhateirc just a hypothesis, but maybe you're adding something weird into the VM array?
22:21 ireallyhateirc check its length and such
22:21 [MatrxMT] <Bram> I'll check that.
22:22 ireallyhateirc I managed to crash minetest silently once, don't remember what that was but I think in node definition I set name to a nested array like this {{}}
22:22 ireallyhateirc something like that
22:33 panwolfram joined #minetest
22:35 [MatrxMT] <Bram> No, I'm afraid that's not the case.
22:36 [MatrxMT] <Bram> It also wouldn't make sense. I set the array first, and then use the function to place schematics on the VM. So my expectation is that the function wouldn't finish if the table was malformed.
22:37 [MatrxMT] <Bram> Just to be sure, here's the code snippet with which I checked:
22:37 [MatrxMT] <Bram> ```lua
22:37 [MatrxMT] <Bram> for i = 1, va:getVolume(), 1 do
22:37 [MatrxMT] <Bram>     if type(data[i]) ~= "number" then
22:37 [MatrxMT] <Bram>         minetest.debug("Data index " .. i .. " is not a number! It is type " .. type(type(data[i])) .. "!")
22:37 [MatrxMT] <Bram>     end
22:37 [MatrxMT] <Bram> end
22:37 [MatrxMT] was kicked by ShadowBot: Message flood detected. Use a pastebin like pastebin.mozilla.org.
22:37 [MatrxMT] joined #minetest
22:37 [MatrxMT] <Bram> vm:set_data(data)
22:37 [MatrxMT] was kicked by ShadowBot: Message flood detected. Use a pastebin like pastebin.mozilla.org.
22:37 [MatrxMT] joined #minetest
22:37 [MatrxMT] <Bram> What does rejoin mean? Does that mean that the messages don't come through?
22:39 ireallyhateirc rejoin where? you mean IRC/Matrix?
22:39 [MatrxMT] <Bram> I sometimes see the message: "<system> rejoin" from the chatbridge.
22:39 ireallyhateirc could be unstable net, idk
22:39 [MatrxMT] <Bram> So I'm not sure if all the messages bridge. Did you see my code snippet?
22:40 [MatrxMT] <Bram> I'll repeat just in case: it also wouldn't make sense. I set the array first, and then use the function to place schematics on the VM. So my expectation is that the function wouldn't finish if the table was malformed.
22:40 [MatrxMT] <Bram> Just to be sure, here's the code snippet with which I checked:
22:40 [MatrxMT] <Bram> ```lua
22:40 [MatrxMT] <Bram> for i = 1, va:getVolume(), 1 do
22:40 [MatrxMT] <Bram>     if type(data[i]) ~= "number" then
22:40 [MatrxMT] <Bram>         minetest.debug("Data index " .. i .. " is not a number! It is type " .. type(type(data[i])) .. "!")
22:40 [MatrxMT] <Bram>     end
22:40 [MatrxMT] <Bram> end
22:40 [MatrxMT] was kicked by ShadowBot: Message flood detected. Use a pastebin like pastebin.mozilla.org.
22:49 SFENCE joined #minetest
22:56 vampirefrog joined #minetest
23:05 Eragon joined #minetest
23:30 SFENCE joined #minetest
23:55 SFENCE joined #minetest

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