eivindveg / HotSUploader

JavaFX-based Replay Uploader for Heroes of the Storm
Apache License 2.0
185 stars 36 forks source link

2.0 doesn't start on Linux #80

Closed minlexx closed 8 years ago

minlexx commented 8 years ago

Exception

21:02:39.230 [JavaFX Application Thread] WARN  n.eivind.hotsreplayuploader.Client - Could not instantiate tray icon. Reverting to default behaviour
ninja.eivind.hotsreplayuploader.services.platform.PlatformNotSupportedException: Not implemented in class ninja.eivind.hotsreplayuploader.services.platform.LinuxService
        at ninja.eivind.hotsreplayuploader.services.platform.PlatformService.getTrayIcon(PlatformService.java:55) ~[HotS%20Replay%20Uploader-jfx.jar:2.0.0]
        at ninja.eivind.hotsreplayuploader.Client.addToTray(Client.java:106) [HotS%20Replay%20Uploader-jfx.jar:2.0.0]
        at ninja.eivind.hotsreplayuploader.Client.start(Client.java:90) [HotS%20Replay%20Uploader-jfx.jar:2.0.0]
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) [jfxrt.jar:na]
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) ~[jfxrt.jar:na]
        at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) ~[jfxrt.jar:na]
        at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_66]
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) ~[jfxrt.jar:na]
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) ~[jfxrt.jar:na]
        at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) ~[jfxrt.jar:na]
        at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139) ~[jfxrt.jar:na]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_66]

Full run log - https://bpaste.net/show/efadc0996e15

I extracted .deb file and run it from there (that worked in 1.3.1)

zhedar commented 8 years ago

This is expected, because there is no TrayIcon support for Linux yet. Shouldn't interrupt the program though. @eivindveg, maybe we shouldn't log the stack trace on this one, because it may clutter the logs and confuse? Edit: Wait, it doesn't even start? That shouldn't happen. Have you tried the jar?

minlexx commented 8 years ago

However later in the full runlog I see Exception in Application start method and then app shuts down,no window is displayed, no java processes running, ... :(

eivindveg commented 8 years ago

Agreed. No stacktrace should be printed. Why it closes is related to something else between lines 91-101 in Client.java. Do you get any kind of stack trace for the exit?

EDIT for clarification: The stacktrace should start with something like "at ninja.eivind.hotsreplayuploader" just like the tray icon exception.

minlexx commented 8 years ago

Do you get any kind of stack trace for the exit?

No, that's full output from console. Tried to run 2nd time, output is the same, except for DB migrating lines, that changed to "No migration necessary."

21:51:18.760 [JavaFX-Launcher          ] INFO  o.f.c.i.dbsupport.DbSupportFactory - Database: jdbc:h2:/home/lexx/HotSReplayUploader/database (H2 1.4)
21:51:18.824 [JavaFX-Launcher          ] INFO  o.f.core.internal.command.DbValidate - Validated 1 migration (execution time 00:00.021s)
21:51:18.848 [JavaFX-Launcher          ] INFO  o.f.core.internal.command.DbMigrate - Current version of schema "PUBLIC": 2.0
21:51:18.848 [JavaFX-Launcher          ] INFO  o.f.core.internal.command.DbMigrate - Schema "PUBLIC" is up to date. No migration necessary.
eivindveg commented 8 years ago

Not able to reproduce in Ubuntu Linux installed from .deb; we'll need to produce a debug build for you. Which artifact do you prefer? Will RPM be easier to run?

minlexx commented 8 years ago

Does it have all dependencies bundled? May it be something in my system that messes with app startup? Actually I don't know the correct way to start it, for example if I try to dowload single .jar and run it with java -jar, it prints me 10 exceptions... I guess that's because I have no runtime dependencies istalled. Deb is fine, or just any archive with startup script and all dependencies bundeld with it :/

eivindveg commented 8 years ago

Things I figure can go wrong:

You don't use the supplied runtime environment and default to any Java version previous to Java 8 update 40. This will go bad.

Ten exceptions sounds like the sanest possible crash we can get; could you paste me those? They may be related.

EDIT for clarification: The downloadable jar has all runtime dependencies except the environment and icons.

minlexx commented 8 years ago

https://bpaste.net/show/b8607ca128e1

eivindveg commented 8 years ago

That stack trace is sufficient and may point to an issue not directly related to your setup. Thank you.

eivindveg commented 8 years ago

Your data source failed to initialize properly due to a migratiob mismatch. Please delete the HotS Replay Uploader directory in your home or documents folder, then restart the application using the jar file again. Let me know if subsequent starts(or the first) produce similar results.

minlexx commented 8 years ago

Okay, new paste, this time after deleting HotS Replay Uploader directory in my home folder and staring with JAR, does it look the same? https://bpaste.net/show/45310ea5f6bc

Does that mean that I don't need full debian file and can only use .jar? :)

zhedar commented 8 years ago

Actually it could be possible, that removing the directory had fixed the entire problem. I encountered a similar problem in #82 and that was fixed by removing the folder. Although, if you start the .deb now, you may have to reset again. I will test this myself again on OSX.

minlexx commented 8 years ago

No, it still doesn't start either way, from jar or compled executable from .deb archive, with or without that folder, but I've noticed one thing: sometimes I see that the window appears for the moment and instantly disappears.

zhedar commented 8 years ago

Should be fixed by #88.