Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minetest fails to launch up, it appears to fail at Configuring general top level window properties #11096

Closed
Phate6660 opened this issue Mar 21, 2021 · 8 comments
Labels
Linux Unconfirmed bug Bug report that has not been confirmed to exist/be reproducible

Comments

@Phate6660
Copy link

Minetest version
Minetest 5.4.0 (Linux)
Using Irrlicht 1.8.4
Using LuaJIT 2.0.5
BUILD_TYPE=Gentoo
RUN_IN_PLACE=0
USE_CURL=1
USE_GETTEXT=1
USE_SOUND=1
USE_FREETYPE=0
STATIC_SHAREDIR="/usr/share/minetest"
STATIC_LOCALEDIR="/usr/share/minetest/locale"
OS / Hardware

Operating system: Gentoo
CPU: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz

GPU model: AMD/ATI Cedar Radeon HD 5000/6000/7350/8350 Series
OpenGL version: 3.1 Mesa 20.2.6

Summary

It fails to start up. The output of of minetest --trace is:

2021-03-21 00:42:34: [Main]: Enabling trace level debug output
2021-03-21 00:42:34: INFO[Main]: Using system-wide paths (NOT RUN_IN_PLACE)
2021-03-21 00:42:34: INFO[Main]: Detected share path: /usr/share/minetest
2021-03-21 00:42:34: INFO[Main]: Detected user path: /home/valley/.minetest
2021-03-21 00:42:34: INFO[Main]: Detected cache path: /home/valley/.cache/minetest
2021-03-21 00:42:34: INFO[Main]: Using in-place locale directory /usr/share/minetest/locale even though a static one was provided.
2021-03-21 00:42:34: INFO[Main]: minetest with SER_FMT_VER_HIGHEST_READ=28, BUILD_TYPE=Gentoo
2021-03-21 00:42:34: INFO[Main]: RUN_IN_PLACE=0
2021-03-21 00:42:34: INFO[Main]: USE_CURL=1
2021-03-21 00:42:34: INFO[Main]: USE_GETTEXT=1
2021-03-21 00:42:34: INFO[Main]: USE_SOUND=1
2021-03-21 00:42:34: INFO[Main]: USE_FREETYPE=0
2021-03-21 00:42:34: INFO[Main]: STATIC_SHAREDIR="/usr/share/minetest"
2021-03-21 00:42:34: INFO[Main]: STATIC_LOCALEDIR="/usr/share/minetest/locale"
2021-03-21 00:42:34: VERBOSE[Main]: httpfetch_init: parallel_limit=8
2021-03-21 00:42:34: INFO[Main]: Gettext: domainname="minetest" path="/usr/share/minetest/locale"
2021-03-21 00:42:34: INFO[Main]: Message locale is now set to: LC_CTYPE=en_US.utf8;LC_NUMERIC=C;LC_TIME=en_US.utf8;LC_COLLATE=en_US.utf8;LC_MONETARY=en_US.utf8;LC_MESSAGES=en_US.utf8;LC_PAPER=en_US.utf8;LC_NAME=en_US.utf8;LC_ADDRESS=en_US.utf8;LC_TELEPHONE=en_US.utf8;LC_MEASUREMENT=en_US.
2021-03-21 00:42:34: INFO[Main]: utf8;LC_IDENTIFICATION=en_US.utf8
2021-03-21 00:42:34: INFO[Main]: Searching worlds...
2021-03-21 00:42:34: INFO[Main]:   In /home/valley/.minetest/worlds:
2021-03-21 00:42:34: INFO[Main]: 0 found.
2021-03-21 00:42:34: INFO[Main]: Using default world at [/home/valley/.minetest/worlds/world]
2021-03-21 00:42:34: INFO[Main]: Using default gameid [minetest]
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
2021-03-21 00:42:35: INFO[Main]: Audio: Global Initialized: OpenAL 1.1 ALSOFT 1.21.0, using OpenAL Soft
2021-03-21 00:42:35: INFO[Main]: Irrlicht: Irrlicht Engine version 1.8.4
2021-03-21 00:42:35: INFO[Main]: Irrlicht: Linux 5.10.10-ck-VALLEY #6 SMP PREEMPT Wed Mar 3 05:55:30 EST 2021 x86_64
2021-03-21 00:42:35: INFO[Main]: Irrlicht: Using renderer: OpenGL 3.1
2021-03-21 00:42:35: INFO[Main]: Irrlicht: AMD CEDAR (DRM 2.50.0 / 5.10.10-ck-VALLEY, LLVM 11.0.0): X.Org
2021-03-21 00:42:35: INFO[Main]: Irrlicht: OpenGL driver version is 1.2 or better.
2021-03-21 00:42:35: INFO[Main]: Irrlicht: GLSL version: 1.4
2021-03-21 00:42:35: VERBOSE[Main]: Client: Configuring X11-specific top level window properties
2021-03-21 00:42:35: VERBOSE[Main]: Client: Setting Xorg window manager Properties
2021-03-21 00:42:35: VERBOSE[Main]: Client: Setting Xorg _NET_WM_PID extened window manager property
2021-03-21 00:42:35: VERBOSE[Main]: Client: Setting Xorg WM_CLIENT_LEADER property
2021-03-21 00:42:35: VERBOSE[Main]: Client: Configuring general top level window properties
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr: __pos (which is 18446744073709551615) > this->size() (which is 42)
Aborted

It seems to be failing at "Configuring general top level window properties".

Steps to reproduce
  • Install minetest (sudo emerge -atv minetest)
  • Clone the minetest_game repo to ~/.minetest/games
  • Attempt to launch the game
@Phate6660 Phate6660 added the Unconfirmed bug Bug report that has not been confirmed to exist/be reproducible label Mar 21, 2021
@sfan5
Copy link
Member

sfan5 commented Mar 21, 2021

Please provide a backtrace using gdb.

Is there anything notable/unusual about your Xorg configuration?

@Phate6660
Copy link
Author

Hmmm. Oh! Something I've noticed, I don't think Gentoo's minetest package uses the custom irrlicht fork.

I had to build the minetest fork when building minetest from master, and after I built it minetest ran without any problems.

@rubenwardy
Copy link
Member

Custom fork is only needed for 5.5.0-dev, not for 5.4.0

@Phate6660
Copy link
Author

Oh. I wonder what the issue could be then.

The minetest package doesn't seem to have a debug USE flag, so I'll have to find or make an ebuild which allows for debug builds.

I can't think of anything unusual about my Xorg configuration, but I do use LeftWM which is a WIP WM. Maybe that could have something to do with it?

@sfan5 sfan5 added the Linux label Mar 21, 2021
@juozaspo
Copy link
Contributor

juozaspo commented Mar 25, 2021

It appears you're using Gentoo. Can you provide an output of command emerge --info games-action/minetest, you might also want to wrap them or any other long text using details html tag with code markdown inside shown like in picture below,
details
it would render like this

Short description
Multiline
text

It would help alot on solving the problem.
You might want to build yourself from git source tree using either stable or dev branch, install dependencies & gdb first, use cmake flags to configure your build and build it, e.g. run cmake . -DCMAKE_BUILD_TYPE=Debug DRUN_IN_PLACE=True && make -j $(nproc) as it would produce debug build running from source dir upon success, program could be launched by running ./bin/minetest or gdb ./bin/minetest
For the dev (not stable/5.4.0) version you might also need minetest fork of irrlicht as upstream version is no longer supported, you can then use cmake flags to link against it if it compiles fine, e.g. add -DIRRLICHT_LIBRARY=/path/to/irrlicht/lib/Linux/libIrrlichtMt.a -DIRRLICHT_INCLUDE_DIR=/path/to/irrlicht/include/ to cmake flags as long as you configured using command cmake . -DBUILD_SHARED_LIBS=OFF or something alike, replace /path/to/irrlicht/ with absolute path to minetest's irrlicht source directory. Another option (since minetest/irrlicht@f05f84b) is install system-wide, as long as built library doesn't clash with upstream irrlicht. In that case use -UIRRLICHT_LIBRARY -UIRRLICHT_INCLUDE_DIR in command line to reset these cached variables to default, as long as cmake detects the renamed file name correctly, which it does not at the time (as of 437d011), the paths to lib and include dir still must be manually defined.

@deltanedas
Copy link

I have also been able to reproduce this.

Backtrace:

 Process terminating with default action of signal 6 (SIGABRT)
    at 0x576CCE1: raise (raise.c:51)
    by 0x5756536: abort (abort.c:79)
    by 0x54A07EB: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
    by 0x54AB965: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
    by 0x54AB9D0: std::terminate() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
    by 0x54ABC64: __cxa_throw (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
    by 0x54A3112: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
    by 0x553C0E3: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
    by 0x382351: FontEngine::initSimpleFont(FontSpec const&) (fontengine.cpp:347)
    by 0x38146C: FontEngine::getFont(FontSpec, bool) (fontengine.cpp:133)
    by 0x381325: FontEngine::getFont(FontSpec) (fontengine.cpp:100)
    by 0x2FD16A: FontEngine::getFont(unsigned int, FontMode) (fontengine.h:76)

it assumes that pos_dot was found when in some cases it isn't.
my font_path is /usr/local/share/minetest/fonts/mono_dejavu_sans, no xml extension or anything

@sfan5 sfan5 closed this as completed in e15cae9 Jun 1, 2021
@sfan5
Copy link
Member

sfan5 commented Jun 1, 2021

Mystery solved.
However, you should really really build Minetest with Freetype enabled to have proper Unicode, coloring and font support.

@deltanedas
Copy link

yeah, when i installed libfreetype6-dev (cmake didnt error out without it) and recompiled it worked normally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Linux Unconfirmed bug Bug report that has not been confirmed to exist/be reproducible
Projects
None yet
Development

No branches or pull requests

5 participants