Posted November 1, 2020 (edited) I am running into the following error when trying to launch Wurm on CentOS 7: net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report. at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:577) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:940) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:571) ... 1 more Caused by: java.lang.NoClassDefFoundError: javafx/application/Application at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at net.sourceforge.jnlp.runtime.JNLPClassLoader.access$1701(JNLPClassLoader.java:103) at net.sourceforge.jnlp.runtime.JNLPClassLoader$5.run(JNLPClassLoader.java:1665) at net.sourceforge.jnlp.runtime.JNLPClassLoader$5.run(JNLPClassLoader.java:1662) at java.security.AccessController.doPrivileged(Native Method) at net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:1661) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:1698) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1497) at com.wurmonline.client.launcherfx.WurmLaunchWrapper.main(SourceFile:27) ... 6 more Caused by: java.lang.ClassNotFoundException: javafx.application.Application at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1561) ... 23 more Java version: openjdk version "1.8.0_262" OpenJDK Runtime Environment (build 1.8.0_262-b10) OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode) Any ideas? -Sorien Edited November 1, 2020 by Sorien Share this post Link to post Share on other sites
Posted November 1, 2020 (edited) OpenJDK does not work, SUN/Oracle Java runtime from https://java.com is needed. Just download the launcher which will download its own copy of that Java version and place it in its wurm-launcher start directory. Then start your_tree/wurm-launcher/WurmLaucher, and it will run using your $HOME{or elsewhere}/wurm directory, if not there, it will be created. When using the JNLP, you must download runtime from java.com manually and use the according path for the JNLP. Edited November 1, 2020 by Ekcin Share this post Link to post Share on other sites
Posted November 1, 2020 6 hours ago, Ekcin said: OpenJDK does not work, SUN/Oracle Java runtime from https://java.com is needed. Just download the launcher which will download its own copy of that Java version and place it in its wurm-launcher start directory. Then start your_tree/wurm-launcher/WurmLaucher, and it will run using your $HOME{or elsewhere}/wurm directory, if not there, it will be created. When using the JNLP, you must download runtime from java.com manually and use the according path for the JNLP. I did run the launcher manually and that was the output I got. I will see what I need to do to install Oracle Java on CentOS 7 -Sorien Share this post Link to post Share on other sites
Posted November 1, 2020 Same issue: net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report. at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:577) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:940) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:571) ... 1 more Caused by: java.lang.NoClassDefFoundError: javafx/application/Application at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at net.sourceforge.jnlp.runtime.JNLPClassLoader.access$1701(JNLPClassLoader.java:103) at net.sourceforge.jnlp.runtime.JNLPClassLoader$5.run(JNLPClassLoader.java:1665) at net.sourceforge.jnlp.runtime.JNLPClassLoader$5.run(JNLPClassLoader.java:1662) at java.security.AccessController.doPrivileged(Native Method) at net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:1661) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:1698) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1497) at com.wurmonline.client.launcherfx.WurmLaunchWrapper.main(SourceFile:27) ... 6 more Caused by: java.lang.ClassNotFoundException: javafx.application.Application at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1561) ... 23 more Using Oracle Java: $ java --version java 15.0.1 2020-10-20 Java(TM) SE Runtime Environment (build 15.0.1+9-18) Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing) Any other ideas? -Sorien Share this post Link to post Share on other sites
Posted November 2, 2020 7 hours ago, Sorien said: Using Oracle Java: $ java --version java 15.0.1 2020-10-20 Java(TM) SE Runtime Environment (build 15.0.1+9-18) Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing) Any other ideas? -Sorien Create the folder ~/wurm and place the WurmLauncher in that folder then run it. Share this post Link to post Share on other sites
Posted November 2, 2020 I still did not fully understand what you invoked. Did you use javaws from Oracle java? Mind that you need Version 8, not the actual one not containing javaws anymore. Or did you download the launcher from https://client.wurmonline.com/client/wurmlauncher.tar.gz ? Mind that the file has a wrong MIME header, to work around see Share this post Link to post Share on other sites
Posted December 14, 2020 (edited) On 11/2/2020 at 1:44 AM, riceri said: Create the folder ~/wurm and place the WurmLauncher in that folder then run it. No luck, I am getting this: `error while loading shared libraries: libpng16.so.16` Which according to the CentOS forums is because CentOS 7 ships with libpng15, not 16. So, I tried another route to see if I could get it to run in Ubuntu 20.04 using Boxes, which is a virtualization container. I get as far as the splash screen where it downloads everything (the small one, not the one with the login boxes), then it crashes with this message (when I launch from terminal): `Segmentation fault (core dumped)` Any idea how to further debug that one? Edit: Found this, at least got it running in the Boxes! Not good enough to really play (everything slower) but should be able to at least pay deed upkeep. Edit #2 Doh! Crashes just before I actually get into my deed! Same error, segmentation fault, all the way to to the final loading screen. The music even starts playing! -Sorien Edited December 14, 2020 by Sorien Share this post Link to post Share on other sites
Posted December 15, 2020 (edited) So in the container for Ubuntu 20.04, this where I am at... per this thread here: The launcher is in a directory named ~/wurm-launcher, the game is in a directory named ~/wurm, and I am launching from terminal using sudo. It gets what I am assuming is all the way up to the end, and then dying with this output: Vertex/index buffer memory limit: 0MiB Starting workaround for fast running clocks Using LWJGL timer. Startup Phase - Initializing.. Preloading builtin materials Preloading builtin materials done Setting up Collada Model Loader Launching Collada Model Loader threads Launching WOM Loader threads Startup Phase - Setting up.. Loading window positions from /user/wurm/players/Sorien/windows_2488x1573.txt Loading props file /user/wurm/players/Sorien/windows_2488x1573.txt Gui initialized Startup Phase - Preparing terrain... Startup Phase - Connecting .. Disabling Nagles Writing to /user/wurm/players/Sorien/logs/_Event.2020-12.txt Disabling Nagles Writing to /user/wurm/players/Sorien/logs/Alliance.2020-12.txt Writing to /user/wurm/players/Sorien/logs/Village.2020-12.txt Writing to /user/wurm/players/Sorien/logs/CA_HELP.2020-12.txt Writing to /user/wurm/players/Sorien/logs/GL-Freedom.2020-12.txt Writing to /user/wurm/players/Sorien/logs/Freedom.2020-12.txt Writing to /user/wurm/players/Sorien/logs/Trade.2020-12.txt Login successful Executing /user/wurm/configs/default/autorun.txt Starting update of login splash image... Finished loading new login splash image! Segmentation fault Any ideas on what to try next? Thanks. Edit: I realized looking at that it was installing it using my username off of the root, instead of /home/user, just switched it and resinstalled, exact same issue. -Sorien Edited December 15, 2020 by Sorien Share this post Link to post Share on other sites
Posted December 15, 2020 I have at least a vague idea about the container issue. Maybe the graphics support in the virtualization is insufficient to support the splash screen. Try a strace -f -i ~/wurm/WurmLauncher 2> strace.out (huge masses of text), maybe that gives a hint where the SIGSEGV occurs. As to the libpng, can't you download the appropriate shared library somewhere, store it under for example /usr/local/lib/libpng16.so , then before starting WurmLauncher, enter "export LD_LIBRARY_PATH=/usr/local/lib/lib/local/lib:$LD_LIBRARY_PATH". That should do the trick without interfering with CENTOS. Share this post Link to post Share on other sites
Posted December 16, 2020 16 hours ago, Ekcin said: As to the libpng, can't you download the appropriate shared library somewhere, store it under for example /usr/local/lib/libpng16.so , then before starting WurmLauncher, enter "export LD_LIBRARY_PATH=/usr/local/lib/lib/local/lib:$LD_LIBRARY_PATH". That should do the trick without interfering with CENTOS. It would be great if it were that easy. There is only 1 3rd party vendor that supplies that library (and many others) for CentOS 7, and they want $50 for it. The strace is 1,902,513 lines long, and I don't know how to read it. It ends like this (the SIGABRT actually repeats about 100x before this bit): [pid 2155] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2214] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2202] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2174] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2170] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2168] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2099] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2144] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2079] [00007f6fc179a58a] <... epoll_wait resumed>[{EPOLLIN|EPOLLHUP, {u32=10, u64=10}}], 64, -1) = 1 [pid 2079] [00007f6fc1885057] recvmsg(10, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="", iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 0 [pid 2079] [00007f6fc179ac5e] epoll_ctl(3, EPOLL_CTL_DEL, 10, 0x7ffc4a4ed70c) = 0 [pid 2079] [00007f6fc18843d7] close(10) = 0 [pid 2079] [00007f6fc179a58a] epoll_wait(3, <unfinished ...> [pid 2136] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2073] [????????????????] +++ killed by SIGABRT (core dumped) +++ [pid 2078] [00007ff0df4880da] <... select resumed>) = ? ERESTARTNOHAND (To be restarted if no handler) strace: Process 2078 detached strace: Process 2079 detached And this is the output in terminal: Writing to /home/user/wurm/players/Sorien/logs/Freedom.2020-12.txt Writing to /home/user/wurm/players/Sorien/logs/Trade.2020-12.txt Initializing font texture for Cry Uncial (64). Texture Size: 1024 # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f4679e22e90, pid=2073, tid=0x00007f45b14bf700 # # JRE version: Java(TM) SE Runtime Environment (8.0_211-b12) (build 1.8.0_211-b12) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.211-b12 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [swrast_dri.so+0x192e90] # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /home/user/wurm-launcher/hs_err_pid2073.log -Sorien Share this post Link to post Share on other sites
Posted December 18, 2020 I can't make sense of the strace snippet, and I know that strace output is huge and not very easy to interpret. It seems that a lot of subprocesses are spawned for some reason and fail to get connected before the main process dies (possibly out of memory). But I doubt that this is the core reason. As to the libpng problem, I realized that there is no libpng16 for Centos7 other than by that third party where it is but a minor part of the paid service they offer, and hardly a solution for you. But libpng does not seem to be a system breaking thing, so you might get a rpm or tarball from other distros, install it (e.g. with chroot) somewhere and add it to the LD_LIBRARY_PATH before starting your wurm launcher. Otherwise you may consider migrating to Centos8 but you may have reasons to stick with Centos7. Or just download libpng16 source from Centos8 and try to compile it on your box. Share this post Link to post Share on other sites
Posted December 20, 2020 On 12/17/2020 at 10:28 PM, Ekcin said: I can't make sense of the strace snippet, and I know that strace output is huge and not very easy to interpret. It seems that a lot of subprocesses are spawned for some reason and fail to get connected before the main process dies (possibly out of memory). But I doubt that this is the core reason. As to the libpng problem, I realized that there is no libpng16 for Centos7 other than by that third party where it is but a minor part of the paid service they offer, and hardly a solution for you. But libpng does not seem to be a system breaking thing, so you might get a rpm or tarball from other distros, install it (e.g. with chroot) somewhere and add it to the LD_LIBRARY_PATH before starting your wurm launcher. Otherwise you may consider migrating to Centos8 but you may have reasons to stick with Centos7. Or just download libpng16 source from Centos8 and try to compile it on your box. I could not get the nvidia drivers to work on CentOS 8 and I needed a working operating system (I had been trying with multiple OSs at the time for quite a few hours). It would install, but then not boot. I can try the libpng thing, but in my experience this will turn out to just be the first of many, many missing or mismatched libraries, so it could just be another rabbit hole. 😕 Thank you for helping. -Michael Share this post Link to post Share on other sites