Linux Issues: mmap, mouse buttons, Fade blink.
ViVnet
Join Date: 2004-05-27 Member: 28947Members, Reinforced - Shadow
I wanted to post this to be sure we're aware of some of the problems with the Linux client.
The first issue is that additional mouse buttons do not work. That is, buttons one, two, and three are fine, but buttons four and five are non-functional (these are the forward and back buttons in your browser). This is not a critical issue, but since we generally use and most mice include these buttons, it would be nice to use them in the game.
The second issue is probably an OpenGL problem. Infrequently while blinking as Fade, the screen will become almost completely black until the blink animation has ended. This happens probably one in every ten blinks and is quite troublesome when you've just blinked into a mob of marines.
The final issue is absolutely critical. This issue is the likely cause of those frequent, almost predictable crashes people are getting on Linux (and maybe other systems). It has to do with the game's attempt to manage memory. The actual crash is a segmentation fault in libc, but the cause appears to be attempts to map (mmap) memory where no memory is available. Eventually while playing, memory becomes scarce and this crash occurs upon the next map change. This happens to me about every three hours and its frequency is directly tied to graphics quality settings in game. If I set everything to maximum the game crashes immediately with the same error. This is either a memory leak or a failure to free memory before allocating it. Attached are log files specific to this issue.
My system specs for both systems that exhibit the same issues:
Ubuntu 13.04
i5-2500K
GTX 560 Ti w/ 325.15
8 GB RAM
Ubuntu 13.04
i7-720qm
GTX 460m w/ 325.15
4 GB RAM
The first issue is that additional mouse buttons do not work. That is, buttons one, two, and three are fine, but buttons four and five are non-functional (these are the forward and back buttons in your browser). This is not a critical issue, but since we generally use and most mice include these buttons, it would be nice to use them in the game.
The second issue is probably an OpenGL problem. Infrequently while blinking as Fade, the screen will become almost completely black until the blink animation has ended. This happens probably one in every ten blinks and is quite troublesome when you've just blinked into a mob of marines.
The final issue is absolutely critical. This issue is the likely cause of those frequent, almost predictable crashes people are getting on Linux (and maybe other systems). It has to do with the game's attempt to manage memory. The actual crash is a segmentation fault in libc, but the cause appears to be attempts to map (mmap) memory where no memory is available. Eventually while playing, memory becomes scarce and this crash occurs upon the next map change. This happens to me about every three hours and its frequency is directly tied to graphics quality settings in game. If I set everything to maximum the game crashes immediately with the same error. This is either a memory leak or a failure to free memory before allocating it. Attached are log files specific to this issue.
My system specs for both systems that exhibit the same issues:
Ubuntu 13.04
i5-2500K
GTX 560 Ti w/ 325.15
8 GB RAM
Ubuntu 13.04
i7-720qm
GTX 460m w/ 325.15
4 GB RAM
Comments
And i can confirm that i experienced exactly the same problems :
The game crash after one hour or two of gameplay. Every time it did i have those lines in my terminal :
I don't know if it's really relevant but i have (sometimes) this errors when i shutdown the application :
Plus, non-US player have to start the game with modified locales (LANG=en_US) or the maps doesn't launch at all. It will be great to fix it too.
Anyway this game is great and you did an excellent job especially on the gameplay, but it lack a bit of stability.
Regards.
System info :
Linux Mint 13 64 (Ubuntu 12.04)
Intel i5
Nvidia Geforce GTX660 (drivers 304.88)
RAM 8Go
that seems to be fixed in build 255, at least according to their changelog -> "Fixed script errors when the system locale used commas instead of periods as the decimal separator" @Diceroll
About the crashes: I never saw that mmap entry in any of my logs, but most of the crashes I experienced happened after I played on one map and a mapchange occured (either by changing the server or because the server's map was changed), so it matches with ViVnet's description.
I've just applied the update but it's a no go... I still have the exact same problem launching the game without modified locales : Blackscreen after map beeing loaded and "files doesn't match" error when i try to join an online game.
The game crashes don't seems to be resolved neither, i've just experienced one with the same mmap error.
cya around.
"
Error: Couldn't load texture 'ui/unitstatus_marine.dds' (Couldn't lock file)
Error: Couldn't load texture 'ui/marine_HUD_frame.dds' (Couldn't lock file)
third_party/tcmalloc/chromium/src/system-alloc.cc:423] MmapSysAllocator failed.
[0907/000337:FATAL:process_util_linux.cc(632)] Out of memory.
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xe04d8b40 (LWP 4847)]
0xf7fdb430 in __kernel_vsyscall ()
(gdb) where
#0 0xf7fdb430 in __kernel_vsyscall ()
#1 0xf400a1df in raise () from /lib/i386-linux-gnu/libc.so.6
#2 0xf400d825 in abort () from /lib/i386-linux-gnu/libc.so.6
#3 0xf4bbbd0d in base::debug::BreakDebugger() ()
from /home/stephan/.local/share/Steam/SteamApps/common/Natural Selection 2/libawesomium-1-7.so.0
#4 0xf4bd66ff in logging::LogMessage::~LogMessage() ()
from /home/stephan/.local/share/Steam/SteamApps/common/Natural Selection 2/libawesomium-1-7.so.0
#5 0xf4beb2af in T.471 ()
from /home/stephan/.local/share/Steam/SteamApps/common/Natural Selection 2/libawesomium-1-7.so.0
#6 0xf62f55da in tc_malloc ()
from /home/stephan/.local/share/Steam/SteamApps/common/Natural Selection 2/libawesomium-1-7.so.0
#7 0xf2721738 in ?? () from /usr/lib32/nvidia-current/libGL.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
"
I guess the memory allocation bug is in a third party library libawesomium
If you are having the consistency check failed/cannot join servers issue it would be super good to post the contents of your log,~..config/Natural Secltion 2/ log.txt, your sysinfo.
I have not been able to repro that one, but it might be something I am missing outside of the localization of my commas
I've also been hearing from players that the Windows version is experiencing the same issue, though I cannot personally confirm it as I choose not to employ such software.
It's clearly a memory leak or failure to free/allocate correctly. Now that the client is available for Linux, it may be a good idea to run the game through the extremely powerful open development tools. Specifically valgrind, which can be very effective in situations like this.
Thanks to Leeuw for pointing out awesomium. It seems to have been quite problematic in some of the implementations of it that I can recall (GMod, Planetside 2, others).
And the log.txt seems not present in my (linux) version of the game.
Edit: just noticed logfile is "~/.config/Natural\ Selection\ 2/log.txt", but capturing stdout is probably the same
Regarding the localization problem, here are the log files after trying to join a server (an UWE official) without modified locales (currently using LANG=fr_FR).
Concerning the crash problem, i tried to lower Texture Quality and enable Texture Streaming but crashes still occur. ViVnet seems to have pointed to the right direction again (at least this is a track to investigate).
Regards.
Log file doesn't report error message, but attached anyway. I can consistently cause the system to crash by just launching the tutorial. Game is unplayable due to crashes.
Ubuntu 12.04.2 LTS
3.2.0-38-generic-pae #61-Ubuntu SMP Tue Feb 19 12:39:51 UTC 2013 i686 i686 i386 GNU/Linux
display: :0.0 screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: ATI Radeon HD 4800 Series
OpenGL version string: 3.3.11672 Compatibility Profile Context
Driver: 8.97.100.7-121116a-151984C-ATI
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV770 [Radeon HD 4850]
01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI RV770 HDMI Audio [Radeon HD 4850/4870]
[ 0.062465] CPU0: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz stepping 0a
[ 0.000000] reg 0, base: 0GB, range: 4GB, type WB (ram)
If you need anything else let me know.
Add to this the problem with the mod consistency check fail (can't join servers with certain mods because of "server mod is out of date", reinstalling the mods do not work) and basically, the game is broken to the point where I can't play it properly.
I appreciate the effort, but it's understandable that the number of Linux users on Steam have dropped since the first release, half the games in my library are crash prone or having missing / broken features and the only two AAA titles I have were ported four years after their Windows release.
How does Gabe expect us to go beyond 1% when less than 1% of all AAA are ported and the few indie games we get aren't getting enough Linux love from devs.
Sorry, off-topic, venting a bit, haven't had my NS2 fix in a while, bugs aside it's brilliant.
The plus side of porting is finding errors like these and the Linux users give nice feedback, RARELY will devs get a bug report like ViVnet's, what a champ. The question is if UWE can fix it. Valve's Linux porters still can't make the microphone work in L4D2 six months after release, so. :P