Open SecT0uch opened 5 years ago
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
)?
I'm using the precompiled Linux release 2.7. Maybe I should compile it myself
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.
This issue seems to persist in later versions.
That happens to me since I installed Arch.
(btw I think that https://github.com/assaultcube/AC/issues/220 and https://github.com/assaultcube/AC/issues/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)
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.
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.
new
, but it might also be relatedOther old crash issues might be related: #30, (#113, #138, #156), #129, #184, #172, #212
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
??:?
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.
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: https://github.com/assaultcube/AC/issues/219#issuecomment-770265788
It worked, at least for me, in both AC and ACR. The only thing is that here the line is 42
instead of 41
.
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:
false &&
to the beginning of the condition and recompile (@Pauloo27's comment)if
to else
and recompileati_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.
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 ??
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.
Thanks Do i run it with any specific commands or just ./assaultcube.sh ??
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
The game crashed after few games :
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=