Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Segmentation fault launcher and AmnesiaAMFP.bin.x86_64
Joseph Curwen Offline
Member

Posts: 63
Threads: 8
Joined: Aug 2010
Reputation: 0
#1
Solved: 9 Years, 10 Months, 3 Weeks ago Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

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!

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!

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


Trying to run without the launcher:
me@abulafia:~/Games/AmnesiaAMFP$ ./AmnesiaAMFP.bin.x86_64
Segmentation fault
The hpl.log contains:
Version 1.20

Any suggestions?
09-11-2013, 09:40 PM
Find
Ideka Offline
Junior Member

Posts: 16
Threads: 3
Joined: Jul 2011
Reputation: 1
#2
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

Is it only the game that segfaults when you start it, or does the launcher segfault too?

Not sure if it'd help, but maybe try a stack trace?
$ strace -o some_file_name ./AmnesiaAMFP.bin.x86_64

No idea what optirun is, but you might as well try:
$ strace -o some_file_name optirun ./AmnesiaAMFP.bin.x86_64
Also in case that doesn't output any useful information, perhaps try this:
$ optirun strace -o some_file_name ./AmnesiaAMFP.bin.x86_64
(This post was last modified: 09-17-2013, 04:14 AM by Ideka.)
09-17-2013, 04:05 AM
Find
jens Offline
Frictional Games

Posts: 4,093
Threads: 199
Joined: Apr 2006
Reputation: 202
#3
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

Please post the hpl.log from ~/.frictionalgames/Amnesia/Pig/
09-17-2013, 06:58 AM
Website Find
Joseph Curwen Offline
Member

Posts: 63
Threads: 8
Joined: Aug 2010
Reputation: 0
#4
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

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

My hpl.log:
Version 1.20
$ strace -o strace_aampf.txt ./AmnesiaAMFP.bin.x86_64
Do you need this?
File can not be added as an attachment (>100KB), and also I won't be probably able to post 1.5k lines here.

Anyway, I also tried:
Spoiler below!

~/Games/AmnesiaAMFP$ ldd ./AmnesiaAMFP.bin.x86_64
    linux-vdso.so.1 =>  (0x00007fffc858f000)
    libogg.so.0 => /home/ludger/Games/AmnesiaAMFP/./lib64/libogg.so.0 (0x00007f5f68bd4000)
    libvorbis.so.0 => /home/ludger/Games/AmnesiaAMFP/./lib64/libvorbis.so.0 (0x00007f5f689a5000)
    libvorbisfile.so.3 => /home/ludger/Games/AmnesiaAMFP/./lib64/libvorbisfile.so.3 (0x00007f5f6879c000)
    libopenal.so.1 => /home/ludger/Games/AmnesiaAMFP/./lib64/libopenal.so.1 (0x00007f5f6854b000)
    libSDL2-2.0.so.0 => /home/ludger/Games/AmnesiaAMFP/./lib64/libSDL2-2.0.so.0 (0x00007f5f68250000)
    libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f5f67fc3000)
    libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f5f67d55000)
    libtheora.so.0 => /home/ludger/Games/AmnesiaAMFP/./lib64/libtheora.so.0 (0x00007f5f67b03000)
    libIL.so.1 => /home/ludger/Games/AmnesiaAMFP/./lib64/libIL.so.1 (0x00007f5f6775a000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5f67543000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5f67326000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5f67121000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5f66e21000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5f66b25000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5f6690e000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5f6654f000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f5f66347000)
    libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f5f66121000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f5f65f10000)
    libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f5f65d0d000)
    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f5f65b06000)
    libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f5f65904000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f5f655cf000)
    libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f5f653b7000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f5f65199000)
    libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f5f64f94000)
    libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f5f64d88000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f5f68ddc000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f5f64b85000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f5f6497e000)


Does not look wrong to me.
09-17-2013, 09:09 AM
Find
Ideka Offline
Junior Member

Posts: 16
Threads: 3
Joined: Jul 2011
Reputation: 1
#5
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

(09-17-2013, 09:09 AM)Joseph Curwen Wrote: Both Amnesia and the launcher segfault (see my first post).
Are you sure the launcher is segfaulting though? If it segfaults after you click "Launch game", the launcher is probably working properly.

See if you can post your stack trace with pastebin: http://pastebin.com/
09-17-2013, 06:44 PM
Find
Joseph Curwen Offline
Member

Posts: 63
Threads: 8
Joined: Aug 2010
Reputation: 0
#6
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

(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.

Quote:See if you can post your stack trace with pastebin: http://pastebin.com/

Stacktrace of "./AmnesiaAMFP.bin.x86_64": http://pastebin.com/aSyhLvK3
Stacktrace of "./Launcher.bin.x86_64": http://pastebin.com/2vAKP1qX

Lots of
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.
09-17-2013, 10:13 PM
Find
Urkle Offline
FG - Associate

Posts: 1,172
Threads: 31
Joined: Jul 2006
Reputation: 21
#7
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

(09-17-2013, 10:13 PM)Joseph Curwen Wrote: Lots of
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.

Developing away on one of
Multiple Macs running 10.6, 10.7, 10.8, and 10.9.
Linux, 8-core AMD, 8GB RAM, Fedora 18, nVidia 450 1GB
(This post was last modified: 09-18-2013, 02:00 PM by Urkle.)
09-18-2013, 01:51 PM
Website Find
Joseph Curwen Offline
Member

Posts: 63
Threads: 8
Joined: Aug 2010
Reputation: 0
#8
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

gdb backtrace copy & paste:
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 ()
09-18-2013, 02:08 PM
Find
Urkle Offline
FG - Associate

Posts: 1,172
Threads: 31
Joined: Jul 2006
Reputation: 21
#9
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

well.. then it's crashing while initializing the video subsystem Sad

What is your LANG env variable set to?

echo $LANG

Developing away on one of
Multiple Macs running 10.6, 10.7, 10.8, and 10.9.
Linux, 8-core AMD, 8GB RAM, Fedora 18, nVidia 450 1GB
09-18-2013, 02:12 PM
Website Find
Joseph Curwen Offline
Member

Posts: 63
Threads: 8
Joined: Aug 2010
Reputation: 0
#10
Solved: 9 Years, 10 Months, 3 Weeks ago RE: Segmentation fault launcher and AmnesiaAMFP.bin.x86_64

(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?
(This post was last modified: 09-18-2013, 05:27 PM by Joseph Curwen.)
09-18-2013, 05:11 PM
Find




Users browsing this thread: 1 Guest(s)