Huygens Execution Log File

The Huygens Software keeps track of some of its internal operations on a file in the hard disk: the Execution Log. Such a report is very welcome in many support procedures because it helps very much in spotting the cause of an internal problem.

When reporting difficulties to SVI, please run the program until you reproduce the problem and send us the generated report along with a description of your system including:
  • the operating system (what kind of Unix, Linux, MacOS or Windows)
  • the hardware you use (computer type, amount of memory and processors)

See System Description for instructions on how to obtain this information.

Please zip (or compress in any other way) the file before attaching it to an email to protect it. Being an encrypted file, any error in the transmission or any attempt of the email program to handle it may corrupt it.

Location of the log files

The software writes the execution logs to files that have unique names so that they are not overwritten when you restart the program or run another instance in parallel.

The main log file is named session_<ID>_date_<YYYY-MM-DD>_<HHMM>_huygens.log and will look like session_1228810799_date_20014-12-09_0919_huygens.log. Do not rename the file to .txt when you send them to us, because it is not a plain text file and it may corrupt the file.

The log files belonging to children processes of the Batch Processor (each deconvolution task) are names as follows: session_1228810799_date_2014-12-09_0920_huygens_subTask_0.log

This means that parent and children share the same session ID, but the date of the creation of the file may differ because children log files are created later.

There may also be task-<DDMMYY>-<HH>_<MM>_<SS>.log, task-0-<DDMMYY>-<HH>_<MM>_<SS>.log ... which contain the actual command for the different tasks in the Batch Processor.

The log files are located in the user's home directory, in ~/SVI/ExecLog.
  • For Unix based systems this is usually:
  • For Windows Vista and higher this is usually
  • For older Windows versions this is usually
    C:\Documents and Settings\<user_name>\SVI\ExecLog

The important files have extension .log, not .txt. The .txt files are for you to get some feedback of the problem without many technical details.

Organization of the log files

Whenever you restart Huygens, log files of sessions that exited normally are moved to a subdirectory Old under that ExecLog directory mentioned above, and they are kept there for some time. You can configure this time in the Program Preferences, the default value is 30 days.

This means that in principle you'll find at directory ExecLog only files of program runs that crashed or exited abnormally in some way, so that they are easier to find. Still, you may want to report some other kind of problem (not something as dramatic as a crash), like some strange result in the computations. If you restarted the program since the corresponding log file was generated you will find the log file in the subdirectory Old.

Crash report

On certain dramatic program crashes sometimes the operating system generates a crash report that is very important for debugging. If this happens, please include that report when you contact SVI.

For example, MacOS X writes its crash reports in ~/Library/Logs/CrashReporter/ (where ~ stands for your home directory). There you can find files named after the application that crashed and the date of the crash, like in
  • essential.macosx_2014-07-15-143034_computerName.crash
  • huygenspro.macosx_2014-05-13-094807_computerName.crash

Please send us the files related to the crash you experienced.

Console output

When everything fails in a very early stage and the execution log isn't even created, the text messages that the program or the operating systems sends to the console are very important.

In Linux, you may need to run the program from a terminal so that the output is shown on it. Open a terminal (shell) and execute essential, for example. If the whole path is needed you can use /usr/local/svi/bin/essential.

In the Mac, the Console utility lets you retrieve that output even when the application was not executed from a terminal. You can find this program in /Applications/Utilites/Console.app. The lines from the Huygens Software are tagged with nl.svi.essential or the name of other product in the suite. You can select several lines, copy them, and paste them in an email to SVI.

In Windows, retrieving console output from non-console applications is unfortunately not possible. Still, there is a console version of the Huygens Scripting in your SVI/bin program subdirectory that you can run from a DOS console and that will return some interesting output. Press (Windows+R) in your keyboard, type cmd and press Enter to open a DOS console, go to the Huygens Application Directory with cd "\Program Files\SVI\bin" or cd "\Program Files (x86)\SVI\bin" and execute huscript.cl.exe. Right-click on the screen with the mouse to open a popup menu that will let you mark and copy the text (Ctrl-C won't do!!!). Then you can paste it in an email to SVI.

Sending your files

Please pack (zip or gzip) all the pertinent log and commentary files and send the archive to the SVI Support department.

Log file options

Through the program preferences and by using some command line options when launching the program you can configure the behavior of the execution log file.

In the Program Preferences:
  • Number of days to keep old log files.
  • Performance of the log writer: flush each entry immediately to the file on disk, or accumulate it in a buffer in memory to reduce the number of disk accesses. The later may improve performance but in case of a crash the information in the buffer may not had time to reach the disk and the relevant information may be lost.

Command line options:
  • Do not write an execution log at all: -noExecLog (useful in programming scripts for Huygens Core).
  • Force a flush the log file after each entry from a very early stage of the initialization of the program (intended for critical crashes, to make sure that every entry is written before a crash happens): -flushLog