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

OpenAL Error crash #215

Open
SecT0uch opened this issue Oct 21, 2018 · 15 comments
Open

OpenAL Error crash #215

SecT0uch opened this issue Oct 21, 2018 · 15 comments

Comments

@SecT0uch
Copy link

The game crashed after few games :

ACR error (11) (Couldn't open packages/maps/official/preview/acr_recreation.jpg)
OpenAL Error (A004): invalid operation, line 367
AL lib: (EE) alc_cleanup: 1 device not closed

I also have multiple error messages :
libpng warning: iCCP: known incorrect sRGB profile
OpenAL Error (A003): invalid value, line 156

Here is the full log : https://privatebin.net/?bdeeaa8cf3e2d157#AvwkrZ4KXJp8Hn3ly/1h6GefFm30HJj/NfQGY2meh4c=

@theonlypwner
Copy link
Member

What version of ACR are you using?

Without debug symbols, there is not enough information to identify the problem. Does the crash also happen if you compile ACR (as native_client)?

@SecT0uch
Copy link
Author

SecT0uch commented Nov 9, 2018

I'm using the precompiled Linux release 2.7.
Maybe I should compile it myself

@theonlypwner
Copy link
Member

Please test with a self-compiled binary.
It would be the best if we can get a log with references to line numbers in the code.

@theonlypwner
Copy link
Member

This issue seems to persist in later versions.

@theonlypwner theonlypwner reopened this Jan 12, 2021
@theonlypwner theonlypwner changed the title Crash + multiple errors OpenAL Error crash Jan 12, 2021
@theonlypwner theonlypwner added this to the next milestone Jan 12, 2021
@pauloo27
Copy link

That happens to me since I installed Arch.

(btw I think that assaultcube/AC#220 and assaultcube/AC#219 are related)

I think a stack trace may help you fixing the issue, so
I tried to run a self-compiled binary and I got the following stack trace:

...
1. packages.cubers.net (315 ms)
Welcome to AssaultCube Reloaded
Developed by the AssaultCube Reloaded Task Force

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

Further help & information can be found in your README which is inside your AssaultCube directory.
Please do not spam
stacktrace:
/home/paulo/Programming/Repos/acr/bin_unix/native_client(+0x12577f) [0x560affa5d77f]
/usr/lib/libc.so.6(+0x3d6a0) [0x7fb3985cf6a0]
/usr/lib/dri/i965_dri.so(+0x3de843) [0x7fb396228843]
/usr/lib/dri/i965_dri.so(+0x139d7e) [0x7fb395f83d7e]
/usr/lib/dri/i965_dri.so(+0x2b91fe) [0x7fb3961031fe]
/home/paulo/Programming/Repos/acr/bin_unix/native_client(+0x990c5) [0x560aff9d10c5]
/home/paulo/Programming/Repos/acr/bin_unix/native_client(+0xa4bfe) [0x560aff9dcbfe]
/home/paulo/Programming/Repos/acr/bin_unix/native_client(+0xa5b03) [0x560aff9ddb03]
/home/paulo/Programming/Repos/acr/bin_unix/native_client(+0x14f27) [0x560aff94cf27]
/usr/lib/libc.so.6(__libc_start_main+0xf2) [0x7fb3985ba152]
/home/paulo/Programming/Repos/acr/bin_unix/native_client(+0x1a7ee) [0x560aff9527ee]
ACR error (11) ()
OpenAL Error (A004): invalid operation, line 367
OpenAL Error (A004): invalid operation, line 367
OpenAL Error (A004): invalid operation, line 367
stacktrace:
/home/paulo/Programming/Repos/acr/bin_unix/native_client(+0x12577f) [0x560affa5d77f]
/usr/lib/libc.so.6(+0x3d6a0) [0x7fb3985cf6a0]
/usr/lib/libopenal.so.1(+0x7ab88) [0x7fb398bb7b88]
/usr/lib/libopenal.so.1(+0x78ab4) [0x7fb398bb5ab4]
/usr/lib/libopenal.so.1(+0x4c156) [0x7fb398b89156]
/usr/lib/libopenal.so.1(+0x85bf1) [0x7fb398bc2bf1]
/usr/lib/libpulse.so.0(+0x2e777) [0x7fb390f80777]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(pa_pdispatch_run+0xe1) [0x7fb390f0ec51]
/usr/lib/libpulse.so.0(+0x12ad1) [0x7fb390f64ad1]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x4510f) [0x7fb390f1210f]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x46b18) [0x7fb390f13b18]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x46f07) [0x7fb390f13f07]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x49a9a) [0x7fb390f16a9a]
/usr/lib/libpulse.so.0(pa_mainloop_dispatch+0x1b3) [0x7fb390f78c23]
/usr/lib/libpulse.so.0(pa_mainloop_iterate+0x41) [0x7fb390f79291]
/usr/lib/libpulse.so.0(pa_mainloop_run+0x21) [0x7fb390f79331]
/usr/lib/libopenal.so.1(+0x883fe) [0x7fb398bc53fe]
/usr/lib/libstdc++.so.6(+0xcfc24) [0x7fb39898cc24]
/usr/lib/libpthread.so.0(+0x93e9) [0x7fb398d5d3e9]
/usr/lib/libc.so.6(clone+0x43) [0x7fb398692293]
ACR error (11)

@theonlypwner
Copy link
Member

theonlypwner commented Jan 14, 2021

Please run addr2line to get the corresponding source code line numbers.

I would guess you'd run something like addr2line -f -i -e <path>/acr/bin_unix/native_client 0x12577f for each line with /acr/bin_unix/native_client in the stacktrace.

If the root cause is in a dependency library, you might need to figure out the line numbers for the libraries and report the issue to the library maintainers.

@theonlypwner
Copy link
Member

theonlypwner commented Jan 14, 2021

Interestingly, in #250, a duplicate of this issue, @Mte90 found that compiling the game himself made the crash seem to disappear. This suggests the root cause could be a bug in one of the dependencies.

In #168, jamese946 on Google Code said it might be a bug in the OpenAL project.

It's an OpenAL error specific to Linux machines, it seems. It pretty much rendered the game unplayable on Arch. The error occurs on Ubuntu, but not at the same frequency.

Just a heads up, devs.

#189 seemed to be due to an infinite loop in AC's bot code that keeps allocating with new, but it might also be related

Other old crash issues might be related: #30, (#113, #138, #156), #129, #184, #172, #212

@pauloo27
Copy link

Please run addr2line to get the corresponding source code line numbers.

I don't think it worked, but here's the output:

for 0x12577f

_ZN12signalbinder11stackdumperEi
??:?

for 0x990c5

_Z12renderstripsv
??:?

for 0xa4bfe

_Z11drawminimapii.part.0
rendergl.cpp:?

for 0xa5b03

_Z12gl_drawframeiiff
??:?

for 0x14f27

main
??:?

for 0x1a7ee

_start
??:?

@theonlypwner
Copy link
Member

You might have to recompile with more debugging info (-g or -g3 on gcc) and reproduce the crash to get line numbers. Also, I forgot to add -C to demangle the names, but the functions are still clear.

It looks like it worked, although we just have function names and no line numbers, as the functions seem to form a valid stacktrace:

https://github.com/acreloaded/acr/blob/v2.18.2/source/src/tools.cpp#L323-L339
https://github.com/acreloaded/acr/blob/v2.18.2/source/src/rendercubes.cpp#L60-L89
https://github.com/acreloaded/acr/blob/v2.18.2/source/src/rendergl.cpp#L972
https://github.com/acreloaded/acr/blob/v2.18.2/source/src/rendergl.cpp#L1213
https://github.com/acreloaded/acr/blob/v2.18.2/source/src/main.cpp#L1302

stacktrace:
.../native_client (+0x12577f) [0x560affa5d77f] signalbinder::stackdumper(int)
/usr/lib/libc.so.6(+0x3d6a0) [0x7fb3985cf6a0]
/usr/lib/dri/i965_dri.so(+0x3de843) [0x7fb396228843]
/usr/lib/dri/i965_dri.so(+0x139d7e) [0x7fb395f83d7e]
/usr/lib/dri/i965_dri.so(+0x2b91fe) [0x7fb3961031fe]
.../native_client(+0x990c5) [0x560aff9d10c5] renderstrips()
.../native_client(+0xa4bfe) [0x560aff9dcbfe] drawminimap(int, int) [clone .part.0]
.../native_client(+0xa5b03) [0x560aff9ddb03] gl_drawframe(int, int, float, float)
.../native_client(+0x14f27) [0x560aff94cf27] main
/usr/lib/libc.so.6(__libc_start_main+0xf2) [0x7fb3985ba152]
.../native_client(+0x1a7ee) [0x560aff9527ee] _start
ACR error (11) ()
OpenAL Error (A004): invalid operation, line 367
OpenAL Error (A004): invalid operation, line 367
OpenAL Error (A004): invalid operation, line 367
stacktrace:
.../native_client(+0x12577f) [0x560affa5d77f] signalbinder::stackdumper(int)
/usr/lib/libc.so.6(+0x3d6a0) [0x7fb3985cf6a0]
/usr/lib/libopenal.so.1(+0x7ab88) [0x7fb398bb7b88]
/usr/lib/libopenal.so.1(+0x78ab4) [0x7fb398bb5ab4]
/usr/lib/libopenal.so.1(+0x4c156) [0x7fb398b89156]
/usr/lib/libopenal.so.1(+0x85bf1) [0x7fb398bc2bf1]
/usr/lib/libpulse.so.0(+0x2e777) [0x7fb390f80777]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(pa_pdispatch_run+0xe1) [0x7fb390f0ec51]
/usr/lib/libpulse.so.0(+0x12ad1) [0x7fb390f64ad1]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x4510f) [0x7fb390f1210f]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x46b18) [0x7fb390f13b18]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x46f07) [0x7fb390f13f07]
/usr/lib/pulseaudio/libpulsecommon-14.0.so(+0x49a9a) [0x7fb390f16a9a]
/usr/lib/libpulse.so.0(pa_mainloop_dispatch+0x1b3) [0x7fb390f78c23]
/usr/lib/libpulse.so.0(pa_mainloop_iterate+0x41) [0x7fb390f79291]
/usr/lib/libpulse.so.0(pa_mainloop_run+0x21) [0x7fb390f79331]
/usr/lib/libopenal.so.1(+0x883fe) [0x7fb398bc53fe]
/usr/lib/libstdc++.so.6(+0xcfc24) [0x7fb39898cc24]
/usr/lib/libpthread.so.0(+0x93e9) [0x7fb398d5d3e9]
/usr/lib/libc.so.6(clone+0x43) [0x7fb398692293]
ACR error (11)

The question is whether something in renderstrips() is really responsible for the crash, or whether some corruption elsewhere caused it to crash here.

@pauloo27
Copy link

I tried to follow the stracktrace and I found a "solution". I have no idea why it fixes the problem, I just 'removed' the call for a function that was crashing the game.

I sent the "solution" here so someone else can test to see if the solution actually works: assaultcube/AC#219 (comment)

It worked, at least for me, in both AC and ACR. The only thing is that here the line is 42 instead of 41.

@theonlypwner
Copy link
Member

For convenience, the temporary fix in the other issue is to force the false (else) branch to execute, since there's an issue with the true (if) branch:
https://github.com/acreloaded/acr/blob/v2.18.2/source/src/rendercubes.cpp#L42-L43

There are different ways:

  1. Add false && to the beginning of the condition and recompile (@pauloo27's comment)
  2. Delete from if to else and recompile
  3. Add ati_mda_bug 1 to autoexec.cfg (aurhat referenced https://forum.cubers.net/thread-6649-post-126669.html#pid126669)

At this point, we should wait to see how they resolve it.

@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 ??

@pauloo27
Copy link

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 ??

I think if you add ati_mda_bug 1 to autoexec.cf, you don't need to do anything else.

@symbios24
Copy link

Thanks
Do i run it with any specific commands or just
./assaultcube.sh ??

@VP1147
Copy link

VP1147 commented Apr 9, 2022

Still a problem on Debian 11

Using home directory: home
Adding package directory: acr
init: sdl
init: net
init: world
init: video: sdl
init: video: mode
init: video: misc
init: gl
Renderer: Mesa DRI Intel(R) HD Graphics (ILK) (Intel Open Source Technology Center)
Driver: 2.1 Mesa 20.3.5
init: console
libpng warning: iCCP: known incorrect sRGB profile
init: sound
Audio devices: 
Sound: OpenAL Soft / OpenAL Soft (OpenAL Community)
Driver: 1.1 ALSOFT 1.19.1
init: cfg
alias demo is a constant and cannot be redefined
(file: config/admin.cfg)
init: models
writing to file: home/packages/models/playermodels/shadows.dat
writing to file: home/packages/models/weapons/knife/world/shadows.dat
writing to file: home/packages/models/weapons/pistol/world/shadows.dat
writing to file: home/packages/models/weapons/shotgun/world/shadows.dat
writing to file: home/packages/models/weapons/subgun/world/shadows.dat
writing to file: home/packages/models/weapons/sniper/world/shadows.dat
writing to file: home/packages/models/weapons/assault/world/shadows.dat
writing to file: home/packages/models/weapons/grenade/world/shadows.dat
writing to file: home/packages/models/weapons/bolt/world/shadows.dat
writing to file: home/packages/models/weapons/heal/world/shadows.dat
writing to file: home/packages/models/weapons/sword/world/shadows.dat
writing to file: home/packages/models/weapons/rpg/world/shadows.dat
writing to file: home/packages/models/weapons/assault2/world/shadows.dat
writing to file: home/packages/models/weapons/sniper2/world/shadows.dat
writing to file: home/packages/models/weapons/sniper3/world/shadows.dat
writing to file: home/packages/models/weapons/pistol2/world/shadows.dat
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
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
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
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: curl
writing to file: home/packages/models/pickups/pistolclips/shadows.dat
writing to file: home/packages/models/pickups/ammobox/shadows.dat
writing to file: home/packages/models/pickups/nade/shadows.dat
writing to file: home/packages/models/pickups/health/shadows.dat
writing to file: home/packages/models/pickups/helmet/shadows.dat
writing to file: home/packages/models/pickups/kevlar/shadows.dat
writing to file: home/packages/models/pickups/akimbo/shadows.dat
writing to file: home/packages/models/misc/gib02/shadows.dat
writing to file: home/packages/models/misc/gib03/shadows.dat
writing to file: home/packages/models/weapons/grenade/static/shadows.dat
init: docs
init: localconnect
read map packages/maps/official/ac_avenue.cgz rev 21 (15 milliseconds)
ac_avenue by jiba
loaded textures (172 milliseconds)
loaded mapmodels (167 milliseconds)
loaded mapsounds (319 milliseconds)
Waypoints for map ac_avenue loaded
game mode is "t deathmatch"
Deathmatch: Kill all your opponents and get points to win!
Team: Watch out for teammates!
init: mainloop
Welcome to AssaultCube Reloaded
Developed by the AssaultCube Reloaded Task Force

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

Further help & information can be found in your README which is inside your AssaultCube directory.
Please do not spam
stacktrace:
/home/vp1147/Downloads/acr_v2.18.2-l/bin_unix/native_client(+0x120a3c) [0x55f6bb4f5a3c]
/lib/x86_64-linux-gnu/libc.so.6(+0x3bd60) [0x7fa048c78d60]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x3d7fbb) [0x7fa0450c4fbb]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x12ad10) [0x7fa044e17d10]
/usr/lib/x86_64-linux-gnu/dri/i965_dri.so(+0x2b7d4e) [0x7fa044fa4d4e]
/home/vp1147/Downloads/acr_v2.18.2-l/bin_unix/native_client(+0x96d55) [0x55f6bb46bd55]
/home/vp1147/Downloads/acr_v2.18.2-l/bin_unix/native_client(+0xa275e) [0x55f6bb47775e]
/home/vp1147/Downloads/acr_v2.18.2-l/bin_unix/native_client(+0xa35e3) [0x55f6bb4785e3]
/home/vp1147/Downloads/acr_v2.18.2-l/bin_unix/native_client(main+0x97f) [0x55f6bb3e9eef]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7fa048c63d0a]
/home/vp1147/Downloads/acr_v2.18.2-l/bin_unix/native_client(+0x1a7aa) [0x55f6bb3ef7aa]
ACR 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

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

5 participants