#508 Logging exception on GUI-less OSeS / SSH sessions
Assigned to: JPEXS
> What steps will reproduce the problem? Use the commandline interface of FFDec on a GUI-less OS / SSH session (to a server for example) > What is the expected output? What do you see instead? The commandline interface should work, whether the OS / current SSH session has a GUI or not. Currently, the logger raises an exception, as it seems to rely on the GUI, and FFDec get stuck without doing anything. The exception shown is: Exception in thread "main" java.lang.RuntimeException: Problems with creating the log files at com.jpexs.decompiler.flash.gui.Main.initLogging(Main.java:1196) at com.jpexs.decompiler.flash.gui.Main.main(Main.java:878) > What version of the product are you using? On what operating system? I use recent versions, I guess the logging system was introduces few weeks/monthes ago. I use FFDec on a Ubuntu 12.04 server (that I get connected to through SSH). > Please provide any additional information below. Attach the file you have problem with if neccessary. If you do not want to publish files YOU CAN CHANGE VISIBILITY TO PRIVATE It works fine if we can enable X11 forwarding through SSH (so doesn't work for Windows OSes hosts, at least out of the box). I tried to track down the Exception, it comes from the "clearLogFile();" call in the initLogging method (of com.jpexs.decompiler.flash.gui.Main.java), which calls "ErrorLogFrame.getInstance().clearErrorState();". "ErrorLogFrame.getInstance()" will try to instantiate a new com.jpexs.decompiler.flash.gui.ErrorLogFrame object, which will raise the exception as it relies on GUI components.
Assigned: → JPEXS
Assigned: → JPEXS
It should be fixed in the latest nightly build.
I didn't expect an answer so quickly, thanks! Unfortunately, it isn't completely fixed in the latest nightly build, I get another error: Exception in thread "main" java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) at java.awt.Window.<init>(Window.java:535) at java.awt.Frame.<init>(Frame.java:420) at java.awt.Frame.<init>(Frame.java:385) at javax.swing.JFrame.<init>(JFrame.java:180) at com.jpexs.decompiler.flash.gui.AppFrame.<init>(AppFrame.java:31) at com.jpexs.decompiler.flash.gui.ErrorLogFrame.<init>(ErrorLogFrame.java:106) at com.jpexs.decompiler.flash.gui.ErrorLogFrame.getInstance(ErrorLogFrame.java:74) at com.jpexs.decompiler.flash.gui.ErrorLogFrame.createNewInstance(ErrorLogFrame.java:99) at com.jpexs.decompiler.flash.gui.Main.initLang(Main.java:755) at com.jpexs.decompiler.flash.gui.Main.main(Main.java:884)
Please try actual nightly again.
It works fine in the new nightly build! Thank you so much!
ok, you're welcome.