zimbatm / project-zomboid-launcher

Project Zomboid - Launcher for Linux and OSX
http://www.zimbatm.com/project-zomboid-launcher/
6 stars 1 forks source link

Story throws errors and crashes on Linux #2

Closed hemebond closed 13 years ago

hemebond commented 13 years ago

Trying to play v0.1.5d for Linux on Ubuntu 11.04 x86_64. I have tested with

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

and

java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~11.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

with exactly the same result. I start the game with

~/Games/Project Zomboid/ProjectZomboid$ ./ProjectZomboid.sh

then select "Choose a Story", and then "'Til Death Us Do Part". Then I start getting dialog windows popping up for each of the following errors:

I then see the intro text

THESE ARE THE END-TIMES THERE WAS NO HOPE OF SURVIVAL THIS IS HOW YOU DIED

Music stops. Text fades out. Then another dialog window with

Error: null
java.lang.NullPointerException
    at zombie.o.b.y.d(Unknown Source)
    at zombie.o.a.k.f.a(Unknown Source)
    at zombie.o.b.t.b(Unknown Source)
    at zombie.o.b.y.c(Unknown Source)
    at zombie.o.a.b(Unknown Source)
    at zombie.o.b.y.c(Unknown Source)
    at zombie.o.b.ac.a(Unknown Source)
    at zombie.o.a.c(Unknown Source)
    at zombie.h.h.a(Unknown Source)
    at zombie.h.f.b(Unknown Source)
    at zombie.l.b(Unknown Source)
    at zombie.FrameLoader.main(Unknown Source)

and the game exits completely. In the console I find

15/09/2011 2:48:22 AM zombie.FrameLoader main
SEVERE: null
java.lang.NullPointerException
    at zombie.o.b.y.d(Unknown Source)
    at zombie.o.a.k.f.a(Unknown Source)
    at zombie.o.b.t.b(Unknown Source)
    at zombie.o.b.y.c(Unknown Source)
    at zombie.o.a.b(Unknown Source)
    at zombie.o.b.y.c(Unknown Source)
    at zombie.o.b.ac.a(Unknown Source)
    at zombie.o.a.c(Unknown Source)
    at zombie.h.h.a(Unknown Source)
    at zombie.h.f.b(Unknown Source)
    at zombie.l.b(Unknown Source)
    at zombie.FrameLoader.main(Unknown Source)

It seems the sandbox option works okay,

zimbatm commented 13 years ago

Can you try two things for me ?

1) try removing spaces in your path ?

2) can you give me the output of env | grep LC_ ? You can also try to run the game with LC_ALL=C ./ProjectZomboid.sh

hemebond commented 13 years ago

I ran it from a path without spaces and got more (parameters incorrect) errors than before. Still crashes with the same error.

The command

env | grep LC_

returns nothing. Running

LC_ALL=C ./ProjectZomboid.sh

Fails the same way.

EDIT: In case it helps

~/Bin/ProjectZomboid$ locale
LANG=en_NZ.UTF-8
LANGUAGE=en_NZ:en
LC_CTYPE="en_NZ.UTF-8"
LC_NUMERIC="en_NZ.UTF-8"
LC_TIME="en_NZ.UTF-8"
LC_COLLATE="en_NZ.UTF-8"
LC_MONETARY="en_NZ.UTF-8"
LC_MESSAGES="en_NZ.UTF-8"
LC_PAPER="en_NZ.UTF-8"
LC_NAME="en_NZ.UTF-8"
LC_ADDRESS="en_NZ.UTF-8"
LC_TELEPHONE="en_NZ.UTF-8"
LC_MEASUREMENT="en_NZ.UTF-8"
LC_IDENTIFICATION="en_NZ.UTF-8"
LC_ALL=
zimbatm commented 13 years ago

Maybe I should have started by saying that the official bug tracker is here: http://theindiestone.com/mantis/login_page.php Make sure to link back to here if you submit a bug :)

I can only make guesses, but here are some more :

1) Try removing all LC_ environment variables (unset LC_NAME ...) and export LC_ALL=C export LANG=C export LANGUAGE=C just to be sure, before running the game.

2) Make sure you have 3D support: glxinfo | grep render should tell you yes. See http://dri.freedesktop.org/wiki/glxinfo#head-0d01fea31ff08bf2342f257dec15b25b76ef778f for more details

3) Maybe I was a bit too drastic when cleaning ? Try downloading the official release and unpack it in the same folder of my release.

benoitjpnet commented 13 years ago

I've solved my problem by installing official Java by Oracle and not OpenJDK. But now I have this :

./ProjectZomboid_optimized.sh Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/SI_280/SI_280/Jeux/ProjectZomboid/ProjectZomboid/native/linux/liblwjgl.so: /home/SI_280/SI_280/Jeux/ProjectZomboid/ ProjectZomboid/native/linux/liblwjgl.so: mauvaise classe ELF : ELFCLASS32 (Possible cause: architecture word width mismatch) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at org.lwjgl.Sys$1.run(Sys.java:73) at java.security.AccessController.doPrivileged(Native Method) at org.lwjgl.Sys.doLoadLibrary(Sys.java:66) at org.lwjgl.Sys.loadLibrary(Sys.java:82) at org.lwjgl.Sys.<clinit>(Sys.java:99) at org.lwjgl.opengl.Display.<clinit>(Display.java:130) at zombie.FrameLoader.main(Unknown Source) Since this is you who give the linux library, I think I need to post here. The problem is that libraries are only 32bit ... Where I can found 64bit libraries ?

benoitjpnet commented 13 years ago

Huh there is 64b libraries, my bad ... I will do some test.

zimbatm commented 13 years ago

Ok, on problem fixed, next issue: LWJGL :)

Regarding lwjgl, all I do is fetch the pre-build binaries from http://lwjgl.org/ and put them with the game.

Here I found a thread that looks similar to your issue: http://lwjgl.org/forum/index.php?topic=3235.0

Ubuntu also provides a package for lwjgl but it's stuck at version 2.5 at the moment

zimbatm commented 13 years ago

Yes another thread: http://ubuntuforums.org/showthread.php?p=9924929#post9924929

I would try to copy the 64bit bit into the 32bit binaries to make sure it loads the 64bit version all the time.

Try running ldd liblwjgl64.so. It tells you if there is a library he needs that can't be found.

benoitjpnet commented 13 years ago

Some hints:

benpro at powerquad in /home/SI_280/SI_280/Jeux/ProjectZomboid $ LC_ALL=C strace -e trace=open /opt/java/jre/bin/java -Xmx1g -Xms900m -Xmn700m -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC -XX:+AggressiveOpts -XX:+ UseBiasedLocking -Djava.library.path=native/linux -Dsun.java2d.noddraw=true -Dsun.awt.noerasebackground=true -Dsun.java2d.d3d=false -Dsun.java2d.opengl=false -Dsun.java2d.pmoffscre en=false -cp .:lwjgl.jar:lwjgl_util.jar zombie.FrameLoader open("/opt/java/jre/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/java/jre/bin/../lib/amd64/jli/tls/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/java/jre/bin/../lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/java/jre/bin/../lib/amd64/jli/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/java/jre/bin/../jre/lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/java/jre/bin/../jre/lib/amd64/jli/tls/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/java/jre/bin/../jre/lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/java/jre/bin/../jre/lib/amd64/jli/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libpthread.so.0", O_RDONLY) = 3 open("/opt/java/jre/bin/../lib/amd64/jli/libjli.so", O_RDONLY) = 3 open("/opt/java/jre/bin/../lib/amd64/jli/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/libdl.so.2", O_RDONLY) = 3 open("/opt/java/jre/bin/../lib/amd64/jli/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY) = 3 open("/opt/java/jre/lib/amd64/jvm.cfg", O_RDONLY) = 3 open("/opt/java/jre/lib/amd64/server/libjvm.so", O_RDONLY) = 3 open("/opt/java/jre/bin/../lib/amd64/jli/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libm.so.6", O_RDONLY) = 3 Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/SI_280/SI_280/Jeux/ProjectZomboid/native/linux/liblwjgl.so: libjawt.so: cannot open shared object file: No such fil e or directory at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at org.lwjgl.Sys$1.run(Sys.java:73) at java.security.AccessController.doPrivileged(Native Method) at org.lwjgl.Sys.doLoadLibrary(Sys.java:66) at org.lwjgl.Sys.loadLibrary(Sys.java:82) at org.lwjgl.Sys.<clinit>(Sys.java:99) at org.lwjgl.opengl.Display.<clinit>(Display.java:130) at zombie.FrameLoader.main(Unknown Source)

I don't know where it search the libjawt.so library ><

zimbatm commented 13 years ago

It should be provided by the java package. To search uninstalled packages, go to http://packages.ubuntu.com , in the "Search the contents of packages" search libjawt.so for your release. This will give you the packages that contain that file. In that case, only openjdk and gcj are listed because sun-java6 is not in the official repos.

To look for the file on installed packages, use dpkg-query -S libjawt.so. From the previous search, I expect that the sun-java6-jre package should contain that file (if oracle didn't rename the package).

benoitjpnet commented 13 years ago

When did you assume that I'm on Ubuntu? I'm on Archlinux. The libjawt.so is in the lib dir of java, but IDK why it can't found it since the strace show nothing about searching and loading libjawt.so... I've even placed on native/linux dir of Zomboid the libjawt.so

zimbatm commented 13 years ago

my bad, hemebond is on ubuntu and I mixed up.

if you run ldd liblwjgl.so you should see that it can't find the libjawt.so file. it's probably because /etc/ld.so.conf or one of the /etc/ld.so.conf.d/* files doesn't contain the library path for the sun package.

benoitjpnet commented 13 years ago

Jeez http://pastebin.com/CJUrg2Ty Java is really a pain ... Oh it's only for optimized version. The first launcher work but ... here we go, return to Start ... >< So OpenJDK wasn't the issue ...

hemebond commented 13 years ago
  1. I don't appear to have any LC_* environment variables set. I set the ones you just listed and I still get the same errors.
  2. I do have 3D support. I don't have any trouble running the sandbox game, it appears to just be the story scripting and code.
  3. I went to http://projectzomboid.com/blog/index.php/download-project-zomboid/ to get the download and it just links through to your website. Is there another GNU/Linux version I can download from somewhere?

I'm not sure why benpro is commenting on this bug, his problem appears to be completely different to mine. Perhaps I should change the title of this bug to mention "incorrect parameters".

zimbatm commented 13 years ago

@hemebond

  1. Ok forget about that, it was a bad guess on my side
  2. Interesting, how do you run the sandbox game ?
  3. This is my unofficial package yes. The official build is for windows. But it's just a bunch of java classes (which are cross-platform) with windows .dll and a .bat launcher. You can unpack this version in my version.
  4. As I understood, benpro had the same issue, which went away when installing Oracle's java version ? Otherwise yeah, it should be a new ticket
benoitjpnet commented 13 years ago

In fact Oracle's java version has never change a thing, just adding some problem with libraries and 64bit support. When I have solved the issue with Oracle's java version, I still have the problem with “incorrect parameters.”

So I have the same issue like @hemebond mentioned.

zimbatm commented 13 years ago

@hemebond

  1. Ok forget about that, it was a bad guess on my side
  2. Interesting, how do you run the sandbox game ?
  3. This is my unofficial package yes. The official build is for windows. But it's just a bunch of java classes (which are cross-platform) with windows .dll and a .bat launcher. You can unpack this version in my version.
  4. As I understood, benpro had the same issue, which went away when installing Oracle's java version ? Otherwise yeah, it should be a new ticket
hemebond commented 13 years ago

I just select Sandbox instead of Story from the very first screen.

I just downloaded the Windows version and merged it over the top of the GNU/Linux download. I got the same errors.

hemebond commented 13 years ago

Visited the forums for the first time and found the thread "1.5b Kate story not working on Linux". Apparently been broken since 1.5b, but someone has provided a fix.