Help Request - KoLmafia not loading correctly.

Kara Rae

New member
Hello, hopefully someone will be able to help me with this issue. I have been using KoLmafia for quite some time now, only for a month or so under my current OS (Linux Mint 16) and I am using the daily build .rpm files getting a new one about every week or so. Up until yesterday morning the worst I had was having to go into terminal and do a sudo killall java command (or get a updated build a littler sooner than normal) to fix any issues I would have with mafia. Yesterday, however, I started up mafia and it would do the normal 'sending login request, etc' and that window would drop out of existence (as per normal) but the new window would never appear. I tried using a the previous daily builds that I had working before - same issue. I tried reinstalling java on my machine - same issue. I came home this morning from work and I now don't even have the first window coming up to attempt a login. After searching I found the command line syntax to run from terminal, below is the output (without --CLI yields the same result).

I don't really know enough to look at this output and know what to do to fix the problem, but am hoping that one of you does.


Code:
[1]username@computerid:~/Kolmafia > java -jar -Djava.awt.headless=true -Duser.dir=~/Kolmafia -Duser.home=~/Kolmafia ~/Kolmafia/KoLmafia-13891.jar --CLI

Exception in thread "main" java.lang.ExceptionInInitializerError
        at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
        at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:490)
        at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:481)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.util.calendar.ZoneInfoFile.<clinit>(ZoneInfoFile.java:480)
        at sun.util.calendar.ZoneInfo.getTimeZone(ZoneInfo.java:663)
        at java.util.TimeZone.getTimeZone(TimeZone.java:566)
        at java.util.TimeZone.setDefaultZone(TimeZone.java:663)
        at java.util.TimeZone.getDefaultRef(TimeZone.java:630)
        at java.util.TimeZone.getDefault(TimeZone.java:617)
        at java.text.SimpleDateFormat.initializeCalendar(SimpleDateFormat.java:682)
        at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:581)
        at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:560)
        at net.sourceforge.kolmafia.utilities.StringUtilities.<clinit>(StringUtilities.java:76)
        at net.sourceforge.kolmafia.StaticEntity.getRevision(StaticEntity.java:116)
        at net.sourceforge.kolmafia.StaticEntity.getVersion(StaticEntity.java:89)                               
        at net.sourceforge.kolmafia.StaticEntity.getVersion(StaticEntity.java:81)                               
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:217)
Caused by: java.lang.RuntimeException: default directory must be absolute
        at sun.nio.fs.UnixFileSystem.<init>(UnixFileSystem.java:54)
        at sun.nio.fs.LinuxFileSystem.<init>(LinuxFileSystem.java:39)
        at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:44)
        at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:37)
        at sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider.java:56)
        at sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvider.java:39)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at java.lang.Class.newInstance(Class.java:374)
        at sun.nio.fs.DefaultFileSystemProvider$1.run(DefaultFileSystemProvider.java:52)
        at sun.nio.fs.DefaultFileSystemProvider$1.run(DefaultFileSystemProvider.java:43)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.nio.fs.DefaultFileSystemProvider.createProvider(DefaultFileSystemProvider.java:42)
        at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:70)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:108)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:89)
        at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:98)
        at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:96)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:95)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:90)
        ... 18 more
 

roippi

Developer
That's not the syntax to run from terminal, that's the syntax to run headless - i.e. without any graphical interface - from the terminal.

Also, it's wrong, since

Code:
Caused by: java.lang.RuntimeException: default directory must be absolute

it tries to specify relative paths instead of absolute ones.
 

xKiv

Active member
But ~ should be epanded by the shell ...
And it is for me, even in echo a=~
What does "echo a=~" in terminal print?

The only reason I can think of for ~ to expand to something that doesn't begin with / is if your home directory is a symlink or defined as relative in /etc/passwd
 

Kara Rae

New member
Okay, i tried taking out the extra stuff and this may be a bit more useful

Code:
username@computerid:~ > java -jar  ~/Kolmafia/KoLmafia-13891.jar
KoLmafia v16.2 r13891
Released on December 10, 2013

Currently Running on Linux
Local Directory is /home/username/.kolmafia
Using Java 1.7.0_51

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOfRange(Arrays.java:2694)
        at java.lang.String.<init>(String.java:203)
        at java.util.Properties.loadConvert(Properties.java:584)
        at java.util.Properties.load0(Properties.java:391)
        at java.util.Properties.load(Properties.java:341)
        at net.sourceforge.kolmafia.preferences.Preferences.loadPreferences(Preferences.java:155)
        at net.sourceforge.kolmafia.preferences.Preferences.<clinit>(Preferences.java:102)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:275)

It seems that I need to empty the java heap space memory area, however I don't know how to do that.
 
Last edited:

xKiv

Active member
That looks like either your preferences file has gotten very extremely unwieldily buggily large, or you don't have very large RAM.
 

lostcalpolydude

Developer
Staff member
In your settings folder, how big is GLOBAL_prefs.txt? It should be around 10-20 KB, but I suspect it is larger than 1 MB for you.
 

Kara Rae

New member
In your settings folder, how big is GLOBAL_prefs.txt? It should be around 10-20 KB, but I suspect it is larger than 1 MB for you.

dear lord, that must be the issue, it is over 150MB, should I simply delete it?

checked it in Kate, and it had stuff that made sense to be there, followed by a crapton of repetitive gibberish.
 
Last edited:

lostcalpolydude

Developer
Staff member
You could try just deleting all of the garbage stuff, or you can delete the file and then go through and reconfigure all of those settings.
 
Top