Starmade server Startup crash (Glibc Version)

    Joined
    Jun 24, 2016
    Messages
    7
    Reaction score
    0
    Hello,

    There seems to be an issue with the latest StarMade version (0.198.223 as of Jun 23rd 2016), whenever we start the server on a CentOS 6.8 server we get the following message:

    Code:
    java.lang.UnsatisfiedLinkError: /native/linux/libStarMadeNative64.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /native/linux/libStarMadeNative64.so)
    Current Glibc version is:
    Code:
    Package glibc-2.12-1.192.el6.x86_64 already installed and latest version
    CentOS version:
    Code:
    cat /etc/centos-release
    CentOS release 6.8 (Final)
    Kernel version:
    Code:
    uname -r
    2.6.32-573.18.1.el6.x86_64
    We can't simply install CentOS 7 or upgrade to Glibc 2.14 since this could break other systems libs, is there a compiled version of the latest update that runs under Glibc 2.12 instead of 2.14?

    Full log raw:
    Code:
    24.06 03:46:55 [Server] INFO [VERION] loading version from install dir: ./
    24.06 03:46:55 [Server] INFO [VERSION] VERSION: 0.198.223
    24.06 03:46:55 [Server] INFO [VERSION] BUILD: 20160623_212422
    24.06 03:46:55 [Server] INFO #################### StarMade #######################
    24.06 03:46:55 [Server] INFO # version 0.198.223 - build 20160623_212422 #
    24.06 03:46:55 [Server] INFO #####################################################
    24.06 03:46:55 [Server] INFO [SERIAL] "not retrieved"
    24.06 03:46:55 [Server] INFO [STARTER] template dir exists. overwriting template with current data
    24.06 03:46:55 [Server] INFO [IO][COPY] FILE FROM /./data/config/FactionConfig.xml to /./customFactionConfig/FactionConfigTemplate.xml
    24.06 03:46:55 [Server] INFO [IO][COPY] FILE FROM /./data/config/customFactionConfigHOWTO.txt to /./customFactionConfig/customFactionConfigHOWTO.txt
    24.06 03:46:55 [Server] INFO [STARTER] template dir exists. overwriting template with current data
    24.06 03:46:55 [Server] INFO [IO][COPY] FILE FROM /./data/config/customBlockBehaviorConfigTemplate.xml to /./customBlockBehaviorConfig/customBlockBehaviorConfigTemplate.xml
    24.06 03:46:55 [Server] INFO [IO][COPY] FILE FROM /./data/config/customBlockBehaviorConfigHOWTO.txt to /./customBlockBehaviorConfig/customBlockBehaviorConfigHOWTO.txt
    24.06 03:46:55 [Server] INFO [RESOURCES][CustomTextures] No need to create pack.zip. Hash matches (as rewriting a zip changes the hash on it)
    24.06 03:46:55 [Server] INFO [TEXTURE-PACK] WARNING: ignoring lava.png.zip: not a directory
    24.06 03:46:55 [Server] INFO [TEXTURE-PACK] WARNING: ignoring shield_tex.png.zip: not a directory
    24.06 03:46:55 [Server] INFO [TEXTURE-PACK] WARNING: ignoring lava.png.zip: not a directory
    24.06 03:46:55 [Server] INFO [TEXTURE-PACK] WARNING: ignoring shield_tex.png.zip: not a directory
    24.06 03:46:56 [Server] INFO [LANGUAGE] detected language: en
    24.06 03:46:56 [Server] INFO [LANGUAGE] loading language: english; Resolved to english
    24.06 03:46:56 [Server] INFO java.io.FileNotFoundException: ./keyboard.cfg (No such file or directory)
    24.06 03:46:56 [Server] INFO at java.io.FileInputStream.open0(Native Method)
    24.06 03:46:56 [Server] INFO at java.io.FileInputStream.open(FileInputStream.java:195)
    24.06 03:46:56 [Server] INFO at java.io.FileInputStream.<init>(FileInputStream.java:138)
    24.06 03:46:56 [Server] INFO at java.io.FileReader.<init>(FileReader.java:72)
    24.06 03:46:56 [Server] INFO at org.schema.schine.input.KeyboardMappings.a(SourceFile:176)
    24.06 03:46:56 [Server] INFO at obfuscated.QF.b(SourceFile:94)
    24.06 03:46:56 [Server] INFO at obfuscated.QF.a(SourceFile:218)
    24.06 03:46:56 [Server] INFO at org.schema.game.common.Starter.main(SourceFile:812)
    24.06 03:46:56 [Server] INFO Could not read settings file: using defaults (./keyboard.cfg (No such file or directory))
    24.06 03:46:57 [Multicraft] Skipped 2 lines due to rate limit (30/s)
    24.06 03:46:57 [Server] INFO [SERVER] using world: world0; ./server-database/world0/
    24.06 03:46:57 [Server] INFO [INIT] Segment Database Path: /./server-database/world0/DATA; exists? true; is Dir? true; creating dir sucessfull (gives false if exists)? false
    24.06 03:46:57 [Server] INFO [GUI] NO STARMADE-WINDOW CONFIG FOUND. Using defaults
    24.06 03:46:57 [Server] INFO [LIBLOADER] OS Linux - 2.6.32-573.18.1.el6.x86_64
    24.06 03:46:57 [Server] INFO [LIBLOADER] OS ARCHITECTURE amd64
    24.06 03:46:57 [Server] INFO Exception in thread "main"
    24.06 03:46:57 [Server] INFO java.lang.UnsatisfiedLinkError: /native/linux/libStarMadeNative64.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /native/linux/libStarMadeNative64.so)
    24.06 03:46:57 [Server] INFO at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    24.06 03:46:57 [Server] INFO at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
    24.06 03:46:57 [Server] INFO at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
    24.06 03:46:57 [Server] INFO at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    24.06 03:46:57 [Server] INFO at java.lang.System.loadLibrary(System.java:1122)
    24.06 03:46:57 [Server] INFO at obfuscated.QG.a(SourceFile:106)
    24.06 03:46:57 [Server] INFO at org.schema.game.common.Starter.main(SourceFile:834)
    24.06 03:46:57 [Multicraft] Server shut down (stopping)
    24.06 03:46:57 [Multicraft] Looks like a crash, check the server console. Return value: 1
    24.06 03:46:57 [Multicraft] Server stopped
    Any help is greatly appreciated!
     
    Joined
    Jul 17, 2013
    Messages
    1,429
    Reaction score
    205
    • Tester
    MAVYKINS is that a universal Vodoo spell to get it runnin gon every Linux that is missing that library version ?

    just so that i do know what to point people at who ask about it!
     
    Joined
    Jun 27, 2013
    Messages
    896
    Reaction score
    166
    MAVYKINS is that a universal Vodoo spell to get it running on every Linux that is missing that library version ?

    just so that i do know what to point people at who ask about it!

    I haven't tried it myself, but
    https://www.gnu.org/software/libc/manual/html_mono/libc.html#Installation said:
    ‘make install’ will do the entire job of upgrading from a previous installation of the GNU C Library version 2.x
    so I'd be cautious against running this as root (what "su -" does) in case other software depends on the previous version.

    On the other hand, the same man page mentions
    If you are installing the GNU C Library as your primary C library
    which seems to imply that you can also install it as a secondary library; you'd probably do that as a regular user, and install it below your home directory.

    In fact, Multiple glibc libraries on a single host

    EDIT:
    However, since you don't run one Starmade binary but a Java VM which may expect one specific version of glibc, and then needs to load a library requiring a different specific version of glibc, YMMV.
     
    Last edited:
    Joined
    Jun 24, 2016
    Messages
    7
    Reaction score
    0
    Hi there,

    Thank you for the update, I'll go ahead and create a VPS to test the work around instead of pushing it to production, will update you guys shortly.
    [DOUBLEPOST=1466768299,1466765718][/DOUBLEPOST]
    1. Start Terminal under current user.
    2. Use command:
    su –
    and type root password
    3. cd /home/user/Downloads
    4. wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
    5. tar zxvf glibc-2.14.tar.gz
    6. cd glibc-2.14
    7. mkdir build
    8. cd build
    9. ../configure --prefix=/opt/glibc-2.14
    10. make -j4
    11. make install
    12. export LD_LIBRARY_PATH=/opt/glibc-2.14/lib
    So after following these steps, the server just wont start, it stays idle:
    Code:
    [minecraft@starmade StarMade]$ java -Xms512m -Xmx1024m -Xincgc -Xshare:off -jar StarMade.jar -server
    It is not passing from here now.
     
    Joined
    Jun 24, 2016
    Messages
    7
    Reaction score
    0
    So, I have reinstalled Java with the following:

    Code:
    cd /opt/
    wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz"
    tar xzf jdk-8u91-linux-x64.tar.gz
    cd /opt/jdk1.8.0_91/
    alternatives --install /usr/bin/java java /opt/jdk1.8.0_91/bin/java 2
    alternatives --config java
    Tried again to start the server, however I'm still getting the same results.
     
    Joined
    Jun 26, 2013
    Messages
    5
    Reaction score
    1
    • Legacy Citizen 2
    Fairly certain I have a workaround. It will take a little bit for me to make however.
    Also please don't run the original fix on your live server. =]
     
    Joined
    Jun 24, 2016
    Messages
    7
    Reaction score
    0
    MAVYKINS, thank you for your assistance, I really appreciate it, if you require the VPS for testing, let me know, I'll send details through PM.
    Regards,
     
    Joined
    Jun 27, 2013
    Messages
    896
    Reaction score
    166
    So after following these steps, the server just wont start, it stays idle:
    It is not passing from here now.
    Instead of
    Bash:
    $ java -X[whatever] -jar StarMade.jar -server
    try
    Bash:
    $ export LD_LIBRARY_PATH=/path-to-custom-glibc/lib; java -X[whatever] -jar StarMade.jar -server
    because unless you did a global update of your primary glibc for your VPS, its environment is probably still configured to look for the old glibc version by default. If it works, don't forget to add the LD_ export to the launcher script.
     

    nightrune

    Wizard/Developer/Project Manager
    Joined
    May 11, 2015
    Messages
    1,324
    Reaction score
    577
    • Schine
    • Top Forum Contributor
    • Thinking Positive
    A little background. glibc is one of the few libraries that the game can't static link to the native library due to its extensive linked requirements with the kernel. Any platform with a glibc version <2.14 will have this problem. Another user had this issue with the current stable release of debian that had glibc 2.13. I'll be watching to see what the workaround ends up becoming.
     
    Joined
    Jun 24, 2016
    Messages
    7
    Reaction score
    0
    Hello,

    I just tried that and it still hangs, it never starts:

    Code:
    [root@starmade StarMade]# export LD_LIBRARY_PATH=/opt/glibc-2.14/lib; java -Xms512m -Xmx1024m -Xincgc -Xshare:off -jar StarMade.jar -server
     
    Joined
    Jul 17, 2013
    Messages
    1,429
    Reaction score
    205
    • Tester
    you did follow Auburns instructions on the bug report .. or the other things i did call vodoo (because i have no idea about either ;) )
    just do not try to combine them
     
    Joined
    Jun 24, 2016
    Messages
    7
    Reaction score
    0
    I have tried both by separate,

    Here is the output while using the possible hotfix that Auburns posted in the bug tracker:
    Code:
    [root@starmade StarMade]# java -Xms512m -Xmx1024m -Xincgc -Xshare:off -jar StarMade.jar -server
    Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
    [VERION] loading version from install dir: ./
    [VERSION] VERSION: 0.198.223
    [VERSION] BUILD: 20160623_212422
    #################### StarMade #######################
    # version 0.198.223 - build 20160623_212422 #
    #####################################################
    [SERIAL] "not retrieved"
    [STARTER] template dir exists. overwriting template with current data
    [IO][COPY] FILE FROM /home/minecraft/StarMade/./data/config/FactionConfig.xml to /home/minecraft/StarMade/./customFactionConfig/FactionConfigTemplate.xml
    [IO][COPY] FILE FROM /home/minecraft/StarMade/./data/config/customFactionConfigHOWTO.txt to /home/minecraft/StarMade/./customFactionConfig/customFactionConfigHOWTO.txt
    [STARTER] template dir exists. overwriting template with current data
    [IO][COPY] FILE FROM /home/minecraft/StarMade/./data/config/customBlockBehaviorConfigTemplate.xml to /home/minecraft/StarMade/./customBlockBehaviorConfig/customBlockBehaviorConfigTemplate.xml
    [IO][COPY] FILE FROM /home/minecraft/StarMade/./data/config/customBlockBehaviorConfigHOWTO.txt to /home/minecraft/StarMade/./customBlockBehaviorConfig/customBlockBehaviorConfigHOWTO.txt
    [RESOURCES][CustomTextures] No need to create pack.zip. Hash matches (as rewriting a zip changes the hash on it)
    [TEXTURE-PACK] WARNING: ignoring lava.png.zip: not a directory
    [TEXTURE-PACK] WARNING: ignoring shield_tex.png.zip: not a directory
    [TEXTURE-PACK] WARNING: ignoring lava.png.zip: not a directory
    [TEXTURE-PACK] WARNING: ignoring shield_tex.png.zip: not a directory
    [LANGUAGE] detected language: en
    [LANGUAGE] loading language: english; Resolved to english
    java.io.FileNotFoundException: ./keyboard.cfg (No such file or directory)
            at java.io.FileInputStream.open0(Native Method)
            at java.io.FileInputStream.open(FileInputStream.java:195)
            at java.io.FileInputStream.<init>(FileInputStream.java:138)
            at java.io.FileReader.<init>(FileReader.java:72)
            at org.schema.schine.input.KeyboardMappings.a(SourceFile:176)
            at obfuscated.QF.b(SourceFile:94)
            at obfuscated.QF.a(SourceFile:218)
            at org.schema.game.common.Starter.main(SourceFile:812)
    Could not read settings file: using defaults (./keyboard.cfg (No such file or directory))
    [LANGUAGE] Loading English; Version: 0
    [LANGUAGE] LOADED FONT PATH/NAME: font/Monda-Regular.ttf
    [SERVER] using world: world0; ./server-database/world0/
    [INIT] Segment Database Path: /home/minecraft/StarMade/./server-database/world0/DATA; exists? true; is Dir? true; creating dir sucessfull (gives false if exists)? false
    [GUI] NO STARMADE-WINDOW CONFIG FOUND. Using defaults
    [LIBLOADER] OS Linux - 2.6.32-642.1.1.el6.x86_64
    [LIBLOADER] OS ARCHITECTURE amd64
    Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /home/minecraft/StarMade/native/linux/libStarMadeNative64.so which might have disabled stack guard. The VM will try to fix the stack guard now.
    It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
    Exception in thread "main"
    java.lang.UnsatisfiedLinkError: /home/minecraft/StarMade/native/linux/libStarMadeNative64.so: /home/minecraft/StarMade/native/linux/libStarMadeNative64.so: invalid ELF header (Possible cause: endianness mismatch)
            at java.lang.ClassLoader$NativeLibrary.load(Native Method)
            at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
            at java.lang.Runtime.loadLibrary0(Runtime.java:870)
            at java.lang.System.loadLibrary(System.java:1122)
            at obfuscated.QG.a(SourceFile:106)
            at org.schema.game.common.Starter.main(SourceFile:834)
    [root@starmade StarMade]#
     

    Auburn

    Game Developer
    Joined
    Feb 5, 2016
    Messages
    41
    Reaction score
    51
    That error is normally caused by a 32bit/64bit JVM mismatch, are you running 64bit OS and java?

    Edit: I built the lib using CentOS 6.8 and tested it working, so something is off.
     
    Last edited:
    Joined
    Jul 17, 2013
    Messages
    1,429
    Reaction score
    205
    • Tester
    "2.6.32-573.18.1.el6.x86_64" for Kernel
    "[LIBLOADER] OS ARCHITECTURE amd64"

    i guess he does ?
     
    Joined
    Jun 24, 2016
    Messages
    7
    Reaction score
    0
    Hello there,

    I've just rebuilt the VPS along with Java 1.8 64 bits and tested the hotfix lib, it is properly starting now, thanks a lot.

    Quick question, can this be implemented for auto-download when using the StarMade-Starter.jar file to install the server?
    Or will this be made as a manual fix that we should add to our servers?

    Regards,