If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : We have got a new blog where we post some interesting SWF internals info.

#508 Logging exception on GUI-less OSeS / SSH sessions
Author:
cattode

Date created:
Type: bug
Visibility: Everybody
Assigned to:
JPEXS

Labels: Commandline
State: closed 

> 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.
It should be fixed in the latest nightly build.
State: opened→upgraded
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)
State: upgraded→returned
Please try actual nightly again.
State: returned→upgraded
It works fine in the new nightly build! Thank you so much!
ok, you're welcome.
State: upgraded→closed