+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Technical Support (https://www.frictionalgames.com/forum/forum-57.html)
+--- Forum: Technical Support - Amnesia: A Machine for Pigs (https://www.frictionalgames.com/forum/forum-52.html)
+---- Forum: Linux - AMFP (https://www.frictionalgames.com/forum/forum-53.html)
+---- Thread: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 (/thread-23016.html)
Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - Joseph Curwen - 09-11-2013
I'm running Ubuntu 12.04 on an Acer laptop with Intel/Nvidia hybird graphics card. To run programs on the nvidia card I use optirun.
I installed AAMFP to my /home directory, so probably no permission problems.
Spoiler below!
Code:
me@abulafia:~/Games/AmnesiaAMFP$ ./Launcher.bin.x86_64
Pre-Sort
quadro fx
geforce fx
quadro
geforce gt
geforce gts
geforce gt2s
geforce gtx
geforce xpress
geforce
mobile intel(r) series express chipset family
graphics media accelerator
intel(r) hd graphics
radeon
radeon hd
mobility radeon hd
radeon
radeon hd
mobility radeon hd
amd
mesa
Post-Sort
mobile intel(r) series express chipset family
mobility radeon hd
mobility radeon hd
intel(r) hd graphics
graphics media accelerator
radeon hd
radeon hd
geforce xpress
geforce gtx
geforce gt2s
geforce gts
geforce gt
geforce fx
quadro fx
geforce
radeon
quadro
radeon
amd
mesa
Segmentation fault
Spoiler below!
Code:
me@abulafia:~/Games/AmnesiaAMFP$ optirun ./Launcher.bin.x86_64
Pre-Sort
quadro fx
geforce fx
quadro
geforce gt
geforce gts
geforce gt2s
geforce gtx
geforce xpress
geforce
mobile intel(r) series express chipset family
graphics media accelerator
intel(r) hd graphics
radeon
radeon hd
mobility radeon hd
radeon
radeon hd
mobility radeon hd
amd
mesa
Post-Sort
mobile intel(r) series express chipset family
mobility radeon hd
mobility radeon hd
intel(r) hd graphics
graphics media accelerator
radeon hd
radeon hd
geforce xpress
geforce gtx
geforce gt2s
geforce gts
geforce gt
geforce fx
quadro fx
geforce
radeon
quadro
radeon
amd
mesa
RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - jens - 09-17-2013
Please post the hpl.log from ~/.frictionalgames/Amnesia/Pig/
RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - Joseph Curwen - 09-17-2013
Both Amnesia and the launcher segfault (see my first post).
Optirun is a program that runs other programs on the nvidia graphics card instead of the lower spec intel card. See here: https://wiki.ubuntu.com/Bumblebee
RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - Joseph Curwen - 09-17-2013
(09-17-2013, 06:44 PM)Ideka Wrote: Are you sure the launcher is segfaulting though? If it segfaults after you click "Launch game", the launcher is probably working properly.
I do not even get a Window from the launcher. It just segfaults in the console.
open("/home/me/Games/AmnesiaAMFP/lib64/tls/x86_64/libXext.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
So it looks as if it can not open any of the libraries in lib64 in the game folder. But ldd shows these libs as loaded. Strange.
RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - Urkle - 09-18-2013
(09-17-2013, 10:13 PM)Joseph Curwen Wrote: Lots of
Code:
open("/home/me/Games/AmnesiaAMFP/lib64/tls/x86_64/libXext.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
So it looks as if it can not open any of the libraries in lib64 in the game folder. But ldd shows these libs as loaded. Strange.
That's a red herring.. Because the Amnesia binaries have a runpath set on them the linker will try to load libs from the lib64 directory FIRST. Then it will search the standard paths. as you'll notice it checks the system paths and loads the libs from there right after.
Can you try running the game through GDB? and when it "Crashes" do a
thread apply all bt
in GDB and copy/paste the output.
the straces you had looked fine up until it crashed.. it was just going along loading up SDL init bits (finding the X libs etc..) but it bombs somewhere just after the init. a backtrace (bt) would help in identifying what the game is trying to initialize. As this appears to have nothing todo with bumblebee.
RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - Joseph Curwen - 09-18-2013
gdb backtrace copy & paste:
Code:
Thread 2 (Thread 0x7ffff2fec700 (LWP 3523)):
#0 0x00007ffff635cfd0 in sem_wait ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007ffff73196ee in SDL_SemWait ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#2 0x00007ffff7319895 in SDL_SemWaitTimeout ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#3 0x00007ffff72bc535 in ?? ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#4 0x00007ffff72bbb3d in ?? ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#5 0x00007ffff7319659 in ?? ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#6 0x00007ffff6356e9a in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#7 0x00007ffff566dccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#8 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7ffff7fc5740 (LWP 3520)):
#0 0x00007ffff4646ba2 in XGetICValues ()
from /usr/lib/x86_64-linux-gnu/libX11.so.6
#1 0x00007ffff7315e38 in ?? ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#2 0x00007ffff72fa531 in SDL_CreateWindow ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#3 0x00007ffff72faa98 in SDL_VideoInit ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#4 0x00007ffff726288f in SDL_InitSubSystem ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#5 0x00007ffff7262924 in SDL_Init ()
from /home/me/Games/AmnesiaAMFP/lib64/libSDL2-2.0.so.0
#6 0x0000000000a6f04d in hpl::cSDLEngineSetup::cSDLEngineSetup(unsigned int)
()
#7 0x000000000092cd5b in hpl::CreateHPLEngine(hpl::eHplAPI, unsigned int, hpl::cEngineInitVars*) ()
#8 0x0000000000916d3c in cLuxBase::InitEngine() ()
#9 0x000000000091a962 in cLuxBase::Init(std::string const&) ()
#10 0x000000000080e0a0 in hplMain(std::string const&) ()
#11 0x0000000000a6db97 in main ()
RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - Urkle - 09-18-2013
well.. then it's crashing while initializing the video subsystem
What is your LANG env variable set to?
echo $LANG
RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64 - Joseph Curwen - 09-18-2013
(09-18-2013, 02:12 PM)Urkle Wrote: What is your LANG env variable set to?
echo $LANG
My $LANG is set to: eo.UTF-8
(This is Esperanto)
OK, I found it.
If you set your LANG=C then both the Game and the Launcher run.
Thank you very much for your help, this solution really was not obvious to me.
Just out of curiosity: Why did you suspect the $LANG env and why does it crash when it does not recognize its contents? This clearly is not intended behaviour, is it?