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

[SOLVED] AssaultCube won't start after OS update (Fedora 31->32) #219

Closed
1690147 opened this issue Jan 4, 2021 · 13 comments
Closed

[SOLVED] AssaultCube won't start after OS update (Fedora 31->32) #219

1690147 opened this issue Jan 4, 2021 · 13 comments
Labels
Bugfix request Request to fix a bug. Fixed in dev Fixed in the development branch.

Comments

@1690147
Copy link

1690147 commented Jan 4, 2021

In the terminal, I get this output:

[asd@comp-13 AssaultCube_v1.2.0.2]$ ./assaultcube.sh 
/home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client: /lib64/libcurl.so.4: no version information available (required by /home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client)
Using home directory: /home/asd/.assaultcube_v1.2
init: sdl
init: net
init: world
init: video: sdl
init: video: mode
init: video: misc
init: gl
Renderer: Mesa DRI Intel(R) HD Graphics 4400 (HSW GT2) (Intel Open Source Technology Center)
Driver: 3.0 Mesa 20.2.3
init: console
init: sound
Audio devices: 
Sound: OpenAL Soft / OpenAL Soft (OpenAL Community)
Driver: 1.1 ALSOFT 1.19.1
init: cfg
init: models
init: curl
init: docs
init: localconnect
read map packages/maps/official/ac_outpost.cgz rev 9 (18 milliseconds)
Outpost by DES|
loaded textures (68 milliseconds)
loaded mapmodels (116 milliseconds)
loaded mapsounds (234 milliseconds)
game mode is "TDM"
init: mainloop
Welcome to AssaultCube
Developed by'Rabid Viper Productions'

Use the below menu to change some necessary settings...

Further help & information can be found in your README which is inside your AssaultCube directory.
stacktrace:
/home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x4bbfca]
/lib64/libc.so.6(+0x3ca70) [0x7f2b87dd5a70]
/usr/lib64/dri/i965_dri.so(+0x3a5773) [0x7f2b78ad9773]
/usr/lib64/dri/i965_dri.so(+0x123880) [0x7f2b78857880]
/usr/lib64/dri/i965_dri.so(+0x29bcbe) [0x7f2b789cfcbe]
/home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x45f638]
/home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x46773d]
/home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x46813f]
/home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client(main+0xd9d) [0x44d11d]
/lib64/libc.so.6(__libc_start_main+0xf2) [0x7f2b87dc0042]
/home/asd/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x40eeca]
AssaultCube error (11) ()
AL lib: (WW) alSetError: Error generated on context 0xa225d0, code 0xa004, "Deleting in-use buffer 49"
OpenAL Error (A004): invalid operation, line 367
AL lib: (EE) alc_cleanup: 1 device not closed

I thought the problem was in the package from RPM Fusion, then I tried all possible builds from this page https://github.com/assaultcube/AC/releases, none of them started.

All dependencies are installed (sudo yum install SDL sdl_image zlib libogg libvorbis OpenAL-soft libcurl).

Before updating the OS, I had a package from RPM Fusion and it worked without problems.

UPD. @pauloo27 suggested a solution, after these manipulations, AssaultCube starts successfully.

@aurhat
Copy link
Member

aurhat commented Jan 4, 2021

@1690147
Copy link
Author

1690147 commented Jan 5, 2021

https://serverfault.com/a/745985 ?

It seems that this is not my case. I see no problem with curl:

[asd@comp-13 ~]$ file /lib64/libcurl.so.4
/lib64/libcurl.so.4: symbolic link to libcurl.so.4.6.0
[asd@comp-13 ~]$ file /usr/lib/libcurl.so.4
/usr/lib/libcurl.so.4: symbolic link to libcurl.so.4.6.
[asd@comp-13 ~]$ curl --version
curl 7.69.1 (x86_64-redhat-linux-gnu) libcurl/7.69.1 OpenSSL/1.1.1i-fips zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh/0.9.5/openssl/zlib nghttp2/1.41.0
Release-Date: 2020-03-11
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz Metalink NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
[asd@comp-13 ~]$ ldd /usr/bin/curl
	linux-vdso.so.1 (0x00007ffc4c758000)
	libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f5928276000)
	libmetalink.so.3 => /lib64/libmetalink.so.3 (0x00007f5928262000)
	libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f5927f75000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f5927f5b000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5927f39000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f5927d6f000)
	libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007f5927d41000)
	libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f5927d1f000)
	libssh.so.4 => /lib64/libssh.so.4 (0x00007f5927cad000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f5927c9a000)
	libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f5927c03000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f5927bac000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f5927abf000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f5927aa6000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f5927a9f000)
	libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f5927a4d000)
	liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f5927a3b000)
	libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f5927a2d000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f59279fc000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f59279f5000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f592837c000)
	libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f5927870000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f592785e000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f5927857000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f592783b000)
	libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f592781b000)
	libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f59277f8000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f59277cb000)
	libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007f5927790000)
	libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f59276f5000)

And when I try to run AssaultCube from the package, then curl is mentioned only because of the initialization:

[asd@comp-13 ~]$ assaultcube
parsing commandline argument 1: "--home=/home/asd/.config/assaultcube"
Using home directory: /home/asd/.config/assaultcube/
parsing commandline argument 2: "--init"
writing to file: /home/asd/.config/assaultcube/clientlog.txt
init: sdl (1.2.15)
init: net (1.3.6)
init: world (1202)
init: video: sdl
init: video: mode
init: video: misc
init: gl
Renderer: Mesa DRI Intel(R) HD Graphics 4400 (HSW GT2) (Intel Open Source Technology Center)
Driver: 3.0 Mesa 20.2.3
init: console
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
init: sound
Audio devices: OpenAL Soft
Sound: OpenAL Soft / OpenAL Soft (OpenAL Community)
Driver: 1.1 ALSOFT 1.19.1
init: cfg
init: models
init: curl
init: docs
init: localconnect
read map packages/maps/official/ac_sunset.cgz rev 9 (12 milliseconds)
Sunset Reserve - By R4zor
loaded textures (216 milliseconds)
loaded mapmodels (125 milliseconds)
loaded mapsounds (135 milliseconds)
game mode is "TDM"
init: mainloop
Welcome to AssaultCube
Developed by'Rabid Viper Productions'

Use the below menu to change some necessary settings...

Further help & information can be found in your README which is inside your AssaultCube directory.
stacktrace:
/usr/libexec/assaultcube_client.real(_ZN12signalbinder11stackdumperEi+0x43) [0x5573f8aa1723]
/lib64/libc.so.6(+0x3ca70) [0x7f1e911a9a70]
/usr/lib64/dri/i965_dri.so(+0x3a5773) [0x7f1e81ed1773]
/usr/lib64/dri/i965_dri.so(+0x123880) [0x7f1e81c4f880]
/usr/lib64/dri/i965_dri.so(+0x29bcbe) [0x7f1e81dc7cbe]
/usr/libexec/assaultcube_client.real(_Z12renderstripsv+0x5f) [0x5573f8a4681f]
/usr/libexec/assaultcube_client.real(_Z11drawminimapii+0x340) [0x5573f8a51520]
/usr/libexec/assaultcube_client.real(_Z12gl_drawframeiiff+0x42) [0x5573f8a521e2]
/usr/libexec/assaultcube_client.real(main+0xa8e) [0x5573f89f310e]
/lib64/libc.so.6(__libc_start_main+0xf2) [0x7f1e91194042]
/usr/libexec/assaultcube_client.real(_start+0x2e) [0x5573f89f84ce]
AssaultCube error (11) ()
AL lib: (WW) alSetError: Error generated on context 0x5573f93581d0, code 0xa004, "Deleting in-use buffer 105"
OpenAL Error (A004): invalid operation, line 369
AL lib: (WW) alSetError: Error generated on context 0x5573f93581d0, code 0xa004, "Deleting in-use buffer 49"
OpenAL Error (A004): invalid operation, line 369
AL lib: (EE) alc_cleanup: 1 device not closed

@4eburashk
Copy link

4eburashk commented Jan 9, 2021

Linux Mint (Cinnamon) after OS update:
$ assaultcube
parsing commandline argument 1: "--home=/home/.../.assaultcube"
Using home directory: /home/.../.assaultcube/
parsing commandline argument 2: "--init"
config/entropy.dat not found.
writing to file: /home/.../.assaultcube/clientlog.txt
init: sdl (2.0.10)
init: net (1.3.6)
init: world (1202)
init: video: sdl
init: video: mode
init: video: misc
init: gl
Renderer: Mesa DRI Intel(R) HD Graphics 400 (BSW) (Intel Open Source Technology Center)
Driver: 3.0 Mesa 20.2.6
init: console
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
init: sound
Audio devices: OpenAL Soft
Sound: OpenAL Soft / OpenAL Soft (OpenAL Community)
Driver: 1.1 ALSOFT 1.19.1
init: cfg
init: models
init: docs
init: localconnect
read map packages/maps/official/ac_douze.cgz rev 19 (36 milliseconds)
Douze (AC-Version) by makkE - layout by stanze
loaded textures (140 milliseconds)
loaded mapmodels (44 milliseconds)
loaded mapsounds (250 milliseconds)
game mode is "TDM"
init: mainloop
Beware: This is a recent release designed to allow users of Debian/GNU Linux based distributions to play.
Although it can run on normal 1.2.0.2 servers, it is not fully supported.
Coopedit will not work. Some maps will not work. Maps edited here will not work on old clients.
There are slight changes in physics, so don't use this client to play competitively.
As this is based on the latest game development, you may notice other changes. Good game!
resolving hostname packages.ac-akimbo.net failed (0.0.0.0)
resolving hostname us.ac-akimbo.net failed (0.0.0.0)
resolving hostname de.ac-akimbo.net failed (0.0.0.0)
successfully pinged 0 media servers, 3 failures, 0 disabled
stacktrace:
./ac_client(+0xe983e) [0x562bbe56b83e]
/lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f0ad129b210]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x3b5863) [0x7f0acdf2b863]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x123b00) [0x7f0acdc99b00]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x2aed16) [0x7f0acde24d16]
./ac_client(+0x839f6) [0x562bbe5059f6]
./ac_client(+0x8b7e1) [0x562bbe50d7e1]
./ac_client(+0x8c252) [0x562bbe50e252]
./ac_client(main+0x10b5) [0x562bbe4f2835]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f0ad127c0b3]
./ac_client(+0x1d64e) [0x562bbe49f64e]
AssaultCube error (11) ()
OpenAL Error (A004): invalid operation, line 359
OpenAL Error (A004): invalid operation, line 359
OpenAL Error (A004): invalid operation, line 359
AL lib: (EE) alc_cleanup: 1 device not closed

First run immediately after installation

@aurhat
Copy link
Member

aurhat commented Jan 9, 2021

@1690147 Could you check with proprietary driver for graphic card, not Mesa driver?

@1690147
Copy link
Author

1690147 commented Jan 9, 2021

@aurhat I have built-in graphics Intel Core i3-4130:

Graphics:
  Device-1: Intel 4th Generation Core Processor Family Integrated Graphics 
  vendor: Gigabyte driver: i915 v: kernel bus ID: 00:02.0 
  Display: x11 server: Fedora Project X.org 1.20.10 driver: intel 
  resolution: 1920x1080~60Hz 
  OpenGL: renderer: Mesa DRI Intel HD Graphics 4400 (HSW GT2) 
  v: 4.5 Mesa 20.2.3 direct render: Yes

Before that, the modesetting driver was used. I switched to Intel, but it didn't give any result.

@bhogend1
Copy link

bhogend1 commented Jan 30, 2021

I have the exact same problem. Two weeks ago, everything ran fine. Now, the game crashes while loading.

I am using Ubuntu 20.04 (flavour Xubuntu), Linux kernel 5.4.0-54-generic (5.4.0-64, 5.4.0-65, and 5.8 give the same problem).

stacktrace:
/home/boody100/Documents/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x4bbfca]
/lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7fdb0e29f210]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x3b5863) [0x7fdb09cd2863]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x123b00) [0x7fdb09a40b00]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x2aed16) [0x7fdb09bcbd16]
/home/boody100/Documents/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x45f757]
/home/boody100/Documents/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x46773d]
/home/boody100/Documents/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x46813f]
/home/boody100/Documents/AssaultCube_v1.2.0.2/bin_unix/linux_64_client(main+0xd9d) [0x44d11d]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fdb0e2800b3]
/home/boody100/Documents/AssaultCube_v1.2.0.2/bin_unix/linux_64_client() [0x40eeca]
AssaultCube error (11) ()
OpenAL Error (A004): invalid operation, line 367
OpenAL Error (A004): invalid operation, line 367
AL lib: (EE) alc_cleanup: 1 device not closed

@pauloo27
Copy link

pauloo27 commented Jan 30, 2021

@bhogend1
I found a solution that worked for me, can you please test it to see if it will work for you?

Since it requires you to compile the game, make sure you have all the dependencies installed.

It's simple, can you follow the steps?

  1. Clone the repository (git clone https://github.com/assaultcube/AC.git) and then cd AC.
  2. Compile the binary (cd source/src and then run make install). It will take around 5 minutes.
  3. Go back to the root of the repository (cd ../../) and then run the game (./assaultcube.sh). It probably will crash, since we changed nothing yet.
  4. Open the file source/src/rendercubes.cpp, line 41 and change the following:
    if(hasMDA && !ati_mda_bug) to if(false && hasMDA && !ati_mda_bug)
  5. Recompile the game (cd source/src and then make install). Now it will be a lot faster.
  6. Open the game (run the assaultcube.sh in the root of the repo).

I have no idea why that fixed the problem, I just tried to find the root of the problem in the stracktrace. Something in the if made the game crash and adding false as a condition forced the function to always run the code inside the else.

@1690147
Copy link
Author

1690147 commented Jan 30, 2021

@pauloo27 This fix solved the problem, AssaultCube now starts. Thank you!

@1690147 1690147 changed the title AssaultCube won't start after OS update (Fedora 31->32) [SOLVED] AssaultCube won't start after OS update (Fedora 31->32) Jan 30, 2021
@1690147 1690147 closed this as completed Jan 30, 2021
@aurhat
Copy link
Member

aurhat commented Jan 30, 2021

Thanks for tips, I will keep the issue open. https://forum.cubers.net/thread-6649-post-126669.html#pid126669 - that should work too, adding in the autoexec.cfg: ati_mda_bug 1

@aurhat aurhat reopened this Jan 30, 2021
@bhogend1
Copy link

bhogend1 commented Jan 31, 2021

Thank you @pauloo27 for your time and clear instructions. I was not able to compile the binary, probably because it requires packages that I have not installed:

clang++ -O3 -fomit-frame-pointer -Wall -fsigned-char -I. -Ibot -I../enet/include -I/usr/include `sdl-config --cflags` -idirafter ../include -x c++-header -o cube.h.gch.tmp cube.h
/bin/sh: 1: sdl-config: not found
/bin/sh: 1: clang++: not found
make: *** [Makefile:165: cube.h.gch] Error 127

Nevertheless, I followed the redirect by @aurhat and that worked. Thanks everyone!

@drian0
Copy link
Contributor

drian0 commented Apr 16, 2021

@aurhat I think we should see if we could improve the detection of "bad drivers" so that ati_mda_bug is enabled reliably in those cases. Let's keep this open for the moment.

@drian0 drian0 added the Bugfix request Request to fix a bug. label Apr 16, 2021
@drian0 drian0 added the Fixed in dev Fixed in the development branch. label Apr 16, 2021
@drian0
Copy link
Contributor

drian0 commented Apr 16, 2021

We added Mesa drivers to list of drivers that will automatically trigger the "ati_mda_bug" flag. This fix will be available in the upcoming release 1.3. Special thanks to @eihrul

@symbios24
Copy link

symbios24 commented Sep 17, 2021

Hi im confused

Do i add to the rendercubes.cpp
The: if(false && hasMDA && !ati_mda_bug)
And recompile,And the ati_mda_bug 1 to the autoexec.cfg ??

Or do i add the: false && and Delete from if to else to the rendercubes.cpp and recompile
And Add ati_mda_bug 1 to autoexec.cfg ??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bugfix request Request to fix a bug. Fixed in dev Fixed in the development branch.
Projects
None yet
Development

No branches or pull requests

7 participants