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

ERROR: initialize: Condition ' modifiers == __null ' is true. #5158

Closed
davidreif opened this issue Jun 11, 2016 · 27 comments
Closed

ERROR: initialize: Condition ' modifiers == __null ' is true. #5158

davidreif opened this issue Jun 11, 2016 · 27 comments

Comments

@davidreif
Copy link

My OS:

4.4.0-24-generic #43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04 LTS
Release:    16.04
Codename:   xenial

This is using Godot Stable 2.0.3-stable x11 64-bit version. When I attempt to run Godot nothing happens. When running from the command line I get the following output:

ERROR: initialize: Condition ' modifiers == __null ' is true.
   At: platform/x11/os_x11.cpp:117.
Segmentation fault (core dumped)

I know that my computer supports OpenGL and as far as I know I have the latest drivers.

david@david-X200CA:~$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.2.0
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.2.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.2.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

This is frustrating because previously this version worked just fine. I updated my computer and now it do longer works. It seems to be something related to x11

@davidreif
Copy link
Author

I made a .desktop file in my home directory to launch the game and now the editor will open. I still can not run it by clicking the executable directly or attempting to run it from the command line.

I am using GNOME Shell 3.18.4 if that helps.

@reduz
Copy link
Member

reduz commented Jun 11, 2016

what language is your X11 configured at?

On Sat, Jun 11, 2016 at 7:34 PM, davidreif [email protected] wrote:

I made a .desktop file in my home directory to launch the game and now the
editor will open. I still can not run it by clicking the executable
directly or attempting to run it from the command line.

I am using GNOME Shell 3.18.4 if that helps.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#5158 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AF-Z250rENUaNr0Fiv9mh8q8TxGOn3Kpks5qKzgPgaJpZM4IzmfM
.

@davidreif
Copy link
Author

If I understand correctly, en_US.UTF-8

@arypbatista
Copy link

Same error on Ubuntu 16.04 x64. English language. Same as David, got this error after last update.

@lukaskotik
Copy link

The same error here, Ubuntu 16.04 64 bit, NVidia 364.19 drivers, Czech language. Everything worked OK in 15.04 64 bit. It happens for Godot 2.0.x.
When I run Godot through terminal as superuser, no error occurs.

@akien-mga
Copy link
Member

So we build binaries on Ubuntu so that they work everywhere, and it's only on Ubuntu that they fail :-D

The binaries are built on Ubuntu 14.04 LTS (what Travis CI proposes). Could someone check if there is a difference with the 2.0, 2.0.1 or 2.0.2 binaries?

Also, could someone run Godot through gdb to get a backtrace of the crash?

@akien-mga akien-mga added this to the 2.1 milestone Jun 15, 2016
@davidreif
Copy link
Author

Today I restarted my computer and went to run Godot through gdb but it no longer crashes when run through the terminal.

However, when I click on the executable file it still silently crashes. The file permissions are set to run as an executable.

@akien-mga
Copy link
Member

akien-mga commented Jun 16, 2016

That's pretty weird. @reduz, I assume you're running Ubuntu 16.04 now, could you try the official 2.0.3 binaries to see if you can reproduce/debug? https://download.tuxfamily.org/godotengine/2.0.3/

@lukaskotik
Copy link

lukas@terminator:~/Programy/godot$ gdb Godot_v2.0.3_stable_x11.64 
GNU gdb (Ubuntu 7.11-0ubuntu1) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from Godot_v2.0.3_stable_x11.64...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/lukas/Programy/godot/Godot_v2.0.3_stable_x11.64 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ERROR: initialize: Condition ' modifiers == __null ' is true.
   At: platform/x11/os_x11.cpp:117.

Program received signal SIGSEGV, Segmentation fault.
0x000000000042589c in Main::setup2() ()

For Godot 2.0 it is the same except:
0x000000000042a10c in Main::setup2() ()

Running sudo gdb Godot_v2.0.3_stable_x11.64 starts Godot without an error.

@lukaskotik
Copy link

When I run an exported game the same error occurs:

ERROR: initialize: Condition ' modifiers == __null ' is true.
   At: platform/x11/os_x11.cpp:117.
Boot splash path: res://splashscreen/splash.png
Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen])

Sorry for Czech..

gdb output:

ERROR: initialize: Condition ' modifiers == __null ' is true.
   At: platform/x11/os_x11.cpp:117.
Boot splash path: res://splashscreen/splash.png

Program received signal SIGSEGV, Segmentation fault.
0x0000000000425576 in ?? ()

And, again, running the game as a root works without problems.

@akien-mga
Copy link
Member

Can you type bt in the gdb console after the crash to get a backtrace?

@lukaskotik
Copy link

(gdb) run
Starting program: /home/lukas/Programy/godot/Godot_v2.0.3_stable_x11.64 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ERROR: initialize: Condition ' modifiers == __null ' is true.
   At: platform/x11/os_x11.cpp:117.

Program received signal SIGSEGV, Segmentation fault.
0x000000000042589c in Main::setup2() ()
(gdb) bt
#0  0x000000000042589c in Main::setup2() ()
#1  0x0000000000427918 in Main::setup(char const*, int, char**, bool) ()
#2  0x000000000040ff8a in main ()

@akien-mga
Copy link
Member

Does it crash the same way with the debug template? If so, could you try to get a backtrace with it to hopefully get more info about the call that crashes in Main::setup2()?

@akien-mga
Copy link
Member

Also, does it crash if you build yourself from source? https://github.com/godotengine/godot/archive/2.0.3-stable.tar.gz
(I guess it won't, but it would be better to double check before digging too deep to find what library broke ABI compatibility without telling us about it :))

@lukaskotik
Copy link

Do you mean exported game to linux with enable debugging? I will try that.

I will compile the engine but I am afraid I can't do that till tomorrow.

@akien-mga
Copy link
Member

akien-mga commented Jun 16, 2016

Yeah either an exported game with enabled debugging, or just trying to run the linux_x11_64_debug binary directly.

@lukaskotik
Copy link

Godot v2.0.3 running lookat demo:

gdb --args ./linux_x11_64_debug -path ~/Programy/godot/demos_v2.0_stable/2d/lookat/
GNU gdb (Ubuntu 7.11-0ubuntu1) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./linux_x11_64_debug...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/lukas/tmp/godot exp temp 2.0.3/linux_x11_64_debug -path /home/lukas/Programy/godot/demos_v2.0_stable/2d/lookat/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ERROR: initialize: Condition ' modifiers == __null ' is true.
   At: platform/x11/os_x11.cpp:117.

Program received signal SIGSEGV, Segmentation fault.
0x000000000042050c in Main::setup2() ()
(gdb) bt
#0  0x000000000042050c in Main::setup2() ()
#1  0x0000000000422583 in Main::setup(char const*, int, char**, bool) ()
#2  0x000000000040b27a in main ()

@akien-mga
Copy link
Member

akien-mga commented Jun 16, 2016

Thanks. So I guess we have two issues:

@lukaskotik
Copy link

lukaskotik commented Jun 16, 2016

When I run all the previous command as a root, no error occurs.

I have to leave now. If you need to test anything on my side I will be back in afternoon.

@akien-mga
Copy link
Member

Could you try to rename your ~/.godot folder (e.g. to ~/.godot.save) and try again? If it works as root it might be a config issue (though the segfault hints at something more involved, but it's worth trying).

@J08nY
Copy link
Contributor

J08nY commented Jun 16, 2016

It might be a permission issue so that if XSetLocaleModifiers works on root and isn't null, thus no segfault.

@lukaskotik
Copy link

The error still happens after renaming to ~/.godot.save.

@lukaskotik
Copy link

After compiling (gcc 5.3.1), the error still happens. But there is additional info:
Hope it helps.

(gdb) run
Starting program: /home/lukas/Programy/godot/source/godot-2.0.3-stable/bin/godot.x11.tools.64 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ERROR: initialize: Condition ' modifiers == __null ' is true.
   At: platform/x11/os_x11.cpp:117.

Program received signal SIGSEGV, Segmentation fault.
0x000000000041c507 in Main::setup2 () at main/main.cpp:913
913             VisualServer::get_singleton()->set_default_clear_color(boot_splash_bg_color);
(gdb) bt
#0  0x000000000041c507 in Main::setup2 () at main/main.cpp:913
#1  0x000000000041b05c in Main::setup (
    execpath=0x7fffffffe0ce "/home/lukas/Programy/godot/source/godot-2.0.3-stable/bin/godot.x11.tools.64", argc=0, 
    argv=0x7fffffffdd30, p_second_phase=true) at main/main.cpp:796
#2  0x000000000040b777 in main (argc=1, argv=0x7fffffffdd28) at platform/x11/godot_x11.cpp:36

@Sslaxx
Copy link

Sslaxx commented Jun 16, 2016

Running 16.04 64-bit, using the official 64-bit binaries for 2.0.3 results in normal operation here. Running the open source AMD graphics drivers (Radeon HD 6670). Also tested with 32-bit binaries, again no issues.

4.4.0-24 kernel.

@brakhane
Copy link
Contributor

@lukaskotik It there any difference in the output of "locale" when running as root vs as normal user?

@lukaskotik
Copy link

No, output is the same.

@lukaskotik
Copy link

lukaskotik commented Jun 23, 2016

I found out that when I run Godot in terminal with "absolute" path to Godot ('/path_to_godot/Godot_v2.0.3_stable_x11.64'), it runs with no problem.
When it is run from the folder where the executable is placed it ends with the error.

@reduz reduz closed this as completed in 7e30449 Jul 8, 2016
akien-mga pushed a commit that referenced this issue Jul 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants