Time Nick Message 07:43 hecks Renewing my request for Linux, BSD and Mac users to test irr#52 07:43 ShadowBot https://github.com/minetest/irrlicht/issues/52 -- Implement a GL procedure loader by hecktest 08:30 sfan5 gles stacktrace from yesterday btw http://sprunge.us/yusmgB 10:02 pgimeno @hecks if you read the logs: same log as yesterday essentially, the numbers have changed but not significantly. I can paste it again if necessary 13:48 MTDiscord This is just a slight code style observation, but you might consider using constexpr instead of const for the numerical constants mentioned in the draft. 13:48 MTDiscord Wait, Irrlicht is C isn't it. 13:49 MTDiscord Hmm nope, it's C++. 14:13 rubenwardy C doesn't have const 14:13 rubenwardy Wait no 14:30 pgimeno C doesn't have constexpr 14:47 hecks josiah_wi why does constexpr make any difference over const? 14:48 hecks the compiler will probably be smart enough to treat it as a literal anyway 14:56 pgimeno hecks: https://irc.minetest.net/minetest-dev/2021-08-06#i_5857902 14:56 hecks i updated the test branch too 14:57 hecks the only thing that changed is that it prints some extensions, it should work 14:57 hecks now the GLES segfault is bizarre and I can't imagine why it was and is happening 14:58 hecks considering that it happened before I even touched anything to do with GLES 14:58 pgimeno oh, bus error, that's usually an alignment issue 14:59 pgimeno hm but on x86? 14:59 hecks in dlclose in the destructor... 15:00 hecks ContextManager->drop(); 15:00 hecks ~ContextManager 15:00 celeron55 i'd always be looking at some kind of double frees first when a free segfaults 15:00 hecks i think i know what this is 15:01 hecks if (libHandle) dlclose(libHandle); 15:02 hecks technically dlopen uses reference counting but 15:06 pgimeno what does one have to do to view the player coordinates nowadays? I'm in devtest, I granted myself debug but still no coordinates visible 15:09 pgimeno hecks: still same pointer layout. Should I rebuild from scratch just in case? 15:34 celeron55 the priv for coordinates is basic_privs 15:34 celeron55 eh 15:34 celeron55 basic_debug 15:35 celeron55 maybe to save people's time debug should also enable coordinates... 15:35 celeron55 i can only imagine how much time is wasted figuring that out 15:39 celeron55 usually i just do /grantme all for development purposes 15:39 celeron55 but for gameplay testing it's not ideal 15:54 pgimeno ah, thanks 15:54 pgimeno funny, now it segfaults 15:56 pgimeno it has segfaulted on boot; trying again it worked 15:58 pgimeno time to enable debug I guess 16:12 pgimeno hecks: https://termbin.com/7k16s 16:13 hecks gles2 right? 16:13 hecks oh no 16:13 hecks desktop gl, why 16:14 pgimeno it randomly works, randomly crashes 16:15 pgimeno under gdb I can't get it to work, only from command line 16:15 hecks when does it die, on load or on exit? 16:18 pgimeno on load 16:18 pgimeno the window doesn't even seem to open 16:18 pgimeno rax 0x3ea 1002 16:18 pgimeno => 0x00007ffff7de3010 <+176>: mov r9,QWORD PTR [rax] 16:19 hecks ClipControl is somewhere in the middle 16:20 pgimeno glClipControl appears to be the queried name that makes it crash 16:21 pgimeno it's there as a string only 16:21 hecks I think it's completely random actually 16:21 pgimeno since it crashes randomly, could it be a race? 16:21 hecks no, it's an overwrite of something 16:21 pgimeno ah 16:21 MTDiscord The reason for the split debug privs was that certain, gameplay related info should be controllable server side 16:22 MTDiscord Including the position 16:22 hecks The reason for the split debug privs was that someone was crying about compat breaking when someone else wanted to create a debug priv 16:22 hecks so this ugly workaround was made, or something like that 16:23 hecks or uhhh 16:23 pgimeno hm, looking at 'symbol_scope=0x3ea', that's the value that makes it crash 16:23 hecks right the debug priv is older 16:23 hecks pgimeno: this is a giant red herring, don't bother debugging it 16:23 hecks oh right the debug priv thing was because someone wanted to roll position into debug 16:23 hecks but that would "break" things so basic_debug was made for that... 16:24 MTDiscord That's possible and usually "minor" releases don't break something that big 16:24 hecks it's basically people being too used to the fact that they could look their coordinates up in minetest_game 16:26 specing I think mt should have a compass drawn under/around the crosshairs 16:26 specing with pointed thing itemstring 16:26 hecks pgimeno: try now 16:27 MTDiscord specing: if by "MT" you mean "MTG" then sure, though that'd be a tough sell since it's permanently frozen 16:28 pgimeno hecks: seems to work 16:29 hecks please test like 100 times to make sure 16:29 hecks if that was the bug then I HATE IRRLICHT 16:29 MTDiscord We want to move MT away from game and toward game engine, and that means giving game devs more freedom on how the games are designed, not imposing arbitrary things on them. 16:29 hecks and its """""""clever""""""" memory manager holy dongers 16:30 Sokomine strange: i965: Failed to submit batchbuffer: Bad address and crash 16:30 pgimeno hecks: yeah. Using 'r' from within gdb several times, starting gdb several times to run, and starting it without gdb all worked 16:31 hecks actually i'm not entirely sure if this is irrlicht's fault or c++ 16:32 pgimeno previously I couldn't make it work a single time within gdb, it always failed (which was nice because usually it's the opposite) 16:32 pgimeno let me try a release build which is how I detected it 16:32 hecks in that case I just hate c++ 16:35 pgimeno unrelated, but is this known, or is it just me? .../minetest/src/settings.cpp:52:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] 16:35 hecks it's probably one of the dozens of warnings we ignore every day 16:38 pgimeno yeah, no other crashes 16:39 hecks oh ffs 16:39 hecks how can we make osx use c++11 16:39 hecks no member named 'emplace' in 'std::__1::unordered_set 16:39 pgimeno maybe in 2031? 16:40 hecks how does it even compile MT itself 16:41 pgimeno maybe a problem specifying the C++ version for irrlicht? 16:42 pgimeno Minetest does use C++11 for a while now 16:44 pgimeno also unrelated: sometimes on start it seems to boot directly into the game without even (apparently) showing the menu. If I hold Enter to force it, it takes a bit until it autorepeats; the menu is shown in that case. So it's not the key auto-repeat. Is that a known issue? 16:47 hecks No idea, that never happens to me 16:47 hecks could be X gremlins 16:49 MTDiscord hecks, you can test if you doubt it, but I do not think the compiler will not treat const variables as literals. 16:50 hecks pgimeno: it seems that hitting enter before the menu shows could trigger this, maybe your keyboard sometimes sends a duplicate return key? 16:51 pgimeno I'll check with love2d to see if it can be an X11 thing when creating a new window 16:55 pgimeno anything that can be evaluated at compile time, will. constexpr is useful for the programmer to be sure that it can (and also to give that guarantee to others). 16:56 pgimeno well, not anything, but you get the idea 17:02 sfan5 https://github.com/minetest/irrlicht/blob/7709e1e5f8d8429308ae20d366171fdf6e64bee8/source/Irrlicht/CMakeLists.txt#L210-L217 17:02 sfan5 ^ this is why the stuff doesn't work on mac 17:03 sfan5 workaround: don't put the mt opengl thing in IRROTHEROBJ 17:10 sfan5 the -std=c++11 is redundant as stuff is already compiled as c++11 17:14 sfan5 anyway it dumps some pointers here and other than that works http://sprunge.us/qxUK7K 17:14 sfan5 saw no crashes either 17:15 hecks somehow it did not compile on mac without -std=c++11 17:16 hecks oh wait, the gles CI also magically stopped crashing 17:17 sfan5 hm 17:17 sfan5 I thought we had a set(CMAKE_CXX_STANDARD 11) which is also supposed to do the thing 17:18 hecks i guess the mac compiler did not understand it 17:18 hecks so i just copied the relevant line from the MT cmakelists because you need c++11 to build MT anyway 17:19 hecks there's no downside to mandating 11 in the irr repo now 17:20 hecks guess all that's left is testing osx and android 17:23 hecks if anyone sees Jordach, ask him to test this thing ok? 17:24 hecks aaaaaaaaaa of course something else had to break 17:26 hecks undefined reference to `__imp_GL' 17:26 hecks does the test compile for anyone against the current commit? 17:27 sfan5 I removed the -std=c++11 line from CMakeLists.txt to make it compile so I can't answer that accurately 17:27 sfan5 but with what I've done it does 17:28 MTDiscord Ping confirmed 17:29 MTDiscord Point me at the specified branches and I’ll get it tested under MSVC and Mac Clang 17:30 hecks follow the instructions in irr#52 17:30 ShadowBot https://github.com/minetest/irrlicht/issues/52 -- Implement a GL procedure loader by hecktest 17:32 hecks I guess I need to revert that cmakelists edit but how on earth do we make mac use c++11 otherwise 17:32 MTDiscord Mac supports C++11 since 10.9 Mavericks 17:32 hecks Sure, but take a look at this 17:33 MTDiscord You can specify the required version in CMake I’ve done it before 17:33 hecks source/Irrlicht/mt_opengl_loader.cpp:935:14: error: no member named 'emplace' in 'std::__1::unordered_set 17:33 hecks this is why the mac CI was failing 17:33 MTDiscord set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) 17:34 hecks isn't 17 a little extreme 17:34 MTDiscord I copy and pasted my earlier work 17:34 hecks ok actually 17:34 hecks let me just revert the last two commits and 17:34 hecks we can fix mac in isolation 17:35 hecks done 17:35 hecks now please checkout again and follow the instructions 17:35 MTDiscord I’m at work for the next 45 mins or so 17:35 hecks ah 17:36 hecks ping me when you're free 19:31 MTDiscord "anything" isn't too far off. C++14 allows constexpr functions; the whole function can be executed at compile time. 20:22 MTDiscord Yes i also know computer things 20:23 MTDiscord i should mention should we keep C++11 as main standards we thereby support every Intel Mac since 2007 as they can all run Mavericks 20:35 asdflkj_sh is it impossible to run c++14 on macos maverick? 20:36 MTDiscord C11 was introduced in Mavericks 21:03 pgimeno @josiah_wi: well, yeah it's a bit too far off, imagine https://news.ycombinator.com/item?id=21440306 without the UB