Hi. I have compiled this great software (FET 5.20.0 and 5.20.1) on Fedora 19 x86_64 (gnome) using qmake-qt5 but when I used fet to generate multiple timetables the space on the OS partition has been exhausted. I found that the file /var/log/messages is filled with several gigabytes of (debug?) messages.
Is there a way to compile or launch fet without having all of these messages in output?
Meanwhile, as workaround, I launch from terminal "fet > /dev/null"
Are these messages like:
Trying to place activity number added_act==316
with id==536, from nInternalActivities==589
Trying to place activity number added_act==317
with id==544, from nInternalActivities==589
Trying to place activity number added_act==318
with id==547, from nInternalActivities==589
nDifficultActivities==319
conflActivitiesTimeSlot.count()==1
Confl activity id:560 time of this activity:27 room of this activity:304
timeSlot==27
roomSlot==UNSPECIFIED_ROOM
id of permutation[j==317]==547
conflicting:
id of permutation[j==318]==560
tmp represents activity with id==547 initial time: 2100 final time: 27
Trying to place activity number added_act==318
with id==560, from nInternalActivities==589
nDifficultActivities==319
conflActivitiesTimeSlot.count()==1
Confl activity id:561 time of this activity:29 room of this activity:304
timeSlot==29
roomSlot==304
id of permutation[j==317]==560
conflicting:
id of permutation[j==318]==561
tmp represents activity with id==560 initial time: 2100 final time: 29
Trying to place activity number added_act==318
with id==561, from nInternalActivities==589
nDifficultActivities==319
conflActivitiesTimeSlot.count()==1
Confl activity id:547 time of this activity:27 room of this activity: UNSPECIFIED_ROOM
timeSlot==27
roomSlot==304
id of permutation[j==317]==561
conflicting:
id of permutation[j==318]==547
tmp represents activity with id==561 initial time: 2100 final time: 27
?
These are messages to help me / other users correct potential bugs. Do you think the next FET version should not contain such messages anymore?
Yes, the messages are those, but if those messages are useful can you try to add an option to choose the output verbosity?
Quote from: MarioMic on October 08, 2013, 05:01:02 PM
Yes, the messages are those, but if those messages are useful can you try to add an option to choose the output verbosity?
Yes, of course I'll do this, because this is a nasty bug. I'll add a modifiable Boolean value; by default the output will be suppressed.
Thank you for the bug report!
Thank you for this software too.
On a second thought, I think it is better to have output on command-line version, but suppress the output on the interface version. Do you think this is OK?
The reason: the Windows interface version does not have a console, so I cannot add a toggle verbosity option on Windows.
I added a new snapshot, please get it from http://lalescu.ro/liviu/fet/download/test/ and check.
Maybe if you are a programmer, check my changes with kdiff3 for generate.cpp and generate_pre.cpp, should be only cout instructions commented out in case the program is in interface mode.
MarioMic, please tell me if keeping the messages on the command-line version is correct. (These messages will not fill up the hard disk? Because the user opens a terminal.) Please verify practically by running the command-line version, see if the log messages appear on the terminal or in /var/log/messages.
I cannot verify on my computer - your bug report is not showing in OpenSuse 12.3.
I decided that both interface and cli versions of FET should not output the long messages. I have put a new snapshot - please test.
Hello Liviu, I wish I could help you but unfortunately I'm not a programmer.
Anyway I have compiled the new test version at http://lalescu.ro/liviu/fet/download/test/fet-5.20.2-snapshot-9-oct-2013-16_49.tar.bz2 and running fet-cl and fet there are no output in /var/log/messages. Running fet-cl I have only the output in the terminal and no log messages on disk.
Watching with system monitor the running process, fet-cl first write two files, $OUTPUT_PATH/logs/file_open.log and $OUTPUT_PATH/logs/initial_order.txt, and during the computation uses only the files: $OUTPUT_PATH/logs/result.txt, $OUTPUT_PATH/logs/max_placed_activities.txt, /dev/pts/0, /dev/pts/0, /dev/pts/0, anon_inode:[eventfd] and two pipes (and at the end writes the result content in the timetable folder).
The gui version fet first write one file, $OUTPUT_PATH/logs/file_open.log, and during the multiple timetables computation uses only /dev/null, some local sockets, some pipes, some anon_inode:[eventfd], /dev/dri/card0 and at the end writes the result content and result.txt in the timetable folder.
It seems ok.
Excuse me Liviu, the version I compiled was http://lalescu.ro/liviu/fet/download/test/fet-5.20.2-snapshot-8-oct-2013-21_47.tar.bz2 and it seems ok.
Let me try http://lalescu.ro/liviu/fet/download/test/fet-5.20.2-snapshot-9-oct-2013-16_49.tar.bz2...
I compiled the latest version http://lalescu.ro/liviu/fet/download/test/fet-5.20.2-snapshot-9-oct-2013-16_49.tar.bz2 and fet-cl has no output at all (no terminal output and no log data on /var/log/messages, but also no progress info); the file use is the same.
No changes for the gui version fet.
The latest two snapshot versions show me the update info: "Another version: 5.20.1, is available on ..."
Are those versions built on the latest code? Is this only an info message based on the unofficial version number?
Quote from: MarioMic on October 09, 2013, 11:28:18 PM
The latest two snapshot versions show me the update info: "Another version: 5.20.1, is available on ..."
Are those versions built on the latest code? Is this only an info message based on the unofficial version number?
Please neglect this update info.
Thank you for your reports!
Please tell me what do you think: I should keep the debug output on fet-cl?
I decided to keep an option: "--verbose=true" to the command line version, in case someone wants verbosity. Please test the new snapshot and report results.
I use the gui version rather than the command line, but I think it would be helpful to have a default fet-cl output to the terminal that shows the progress of the operations, similar to the output of the gui version for the placed activities to have an idea of how far away is the result and, perhaps, an option -d or --debug to get debug output, but I think it's just a minor improvement, non urgent (I don't know how demanding it is to add command options to fet-cl).
I don't know how useful this output, but certainly it is an information for the progress of the operations, and so, in the meantime, I would keep the debug output to the terminal.
Quote from: Liviu Lalescu on October 10, 2013, 11:01:22 AM
I decided to keep an option: "--verbose=true" to the command line version, in case someone wants verbosity. Please test the new snapshot and report results.
Yes, I think it's ok.
This evening I'll try the latest version and let you know.
Hello Liviu,
I have compiled and tested the latest version at http://lalescu.ro/liviu/fet/download/test/fet-5.20.2-snapshot-10-oct-2013-12_52.tar.bz2 and it works as expected:
Quote from: MarioMic on October 09, 2013, 10:47:19 PM
Watching with system monitor the running process, fet-cl first write two files, $OUTPUT_PATH/logs/file_open.log and $OUTPUT_PATH/logs/initial_order.txt, and during the computation uses only the files: $OUTPUT_PATH/logs/result.txt, $OUTPUT_PATH/logs/max_placed_activities.txt, /dev/pts/0, /dev/pts/0, /dev/pts/0, anon_inode:[eventfd] and two pipes (and at the end writes the result content in the timetable folder).
The gui version fet first write one file, $OUTPUT_PATH/logs/file_open.log, and during the multiple timetables computation uses only /dev/null, some local sockets, some pipes, some anon_inode:[eventfd], /dev/dri/card0 and at the end writes the result content and result.txt in the timetable folder.
The fet-cl option --verbose=true works in the right way with debug messages only on the terminal output... no data on /var/log/messages...
Good job! Thanks.
Thank you for the report!