Colossus 20160121 seems to randomly hang just before a battle. Some battles work fine!
I am running with myself against 5 computer opponents.
...
I would appreciate any insight you could provide me about my problem.
I love playing Colossus and would hate to be without it.
Larry Jordan
Players using the public server reported, that sometimes one of the players does not get his battleboard up - effectively the game can't be continued normally. When they suspend and resume the game, usually this time it works.
Is your problem of "hangs" also that the board does not come up?
To bad that from above one does not see the top part of the error message; what type of exception it is, for example. Also, all of that code is in EventDispatcherThread, it does not show which part of the Colossus code is involved.
Do you use the webstart version from Colossus home page, or run it somehow manually from a commandline?
I had yesterday also problems with Colossus with Java heap out of memory, which I had never before; using Java 8; might be that earlier it used still Java 7. Not sure.
I have changed the web start file on Colossus homepage to request now 1024MB of heap instead of 256. Can you try, does it still happen "as often as before".
( If you run it locally, you could achieve the same by editing the file "run" ).
It would perhaps also help if you can provide the log file, just after a game when the problem occured. It's probably /tmp/Colossus0.log.
Do you know how to use the Java console? Perhaps there is more information displayed there.
Is there by chance something like Citrix involved? I have seen security related hangs earlier when Citrix was there.
Thx,
Clemens
Yes, Hang means the battle screen does not show up.
I start Colossus by executing the run script you provided.
I will try changing the heap space and let you know.
There is no Colossus file in /tmp.
I do not know how to use the Java Console. I will look into it.
I am not using Citrix or any other special security.
Larry Jordan
Last edit: Clemens Katzer 2016-06-16
I tried increasing the amount of Heap space in my run command with no
improvement.
I ran again and created a jstack output which may help (see Attachment).
Let me know.
Thanks
Larry Jordan
Last edit: Clemens Katzer 2016-06-16
I don't see any new attachment :-(
I am resending the jstack attachment. Is there any other data I can gather
that would be helpful. I am an experienced C/C++ programmer, but I have
little
JAVA expierience.
Thanks
Larry Jordan
Last edit: Clemens Katzer 2016-06-16
Colossus writes a log file in what you system considers the "temp" directory.
Under Help => About it tells what location that is. Earlier that was always /tmp, perhaps nowadays in ubuntu it is under /var/run/ or something.
There should be files like Colossus0.log, Colossus1.log, Colossus2.log.
Colossus0.log is always the newest. It starts a new one (renaming 1 to 2, 0 to 1, create 0 as new) when file is 1 MB, or whenever the application starts again.
You say you start Colossus from commandline. Do you use the unpacked zip from SF release folder, or the real sources with git?
Does it happen in every game? Always late in game, or sometimes early, sometimes late?
Does it happen also if you play only against e.g. 2 other players?
If that's too tedious to try out, you can also put game to autoplay and see whether it eventually dies.
Window => Preferences => Autoplay tab => Autoplay. After that you once need to do one move or one split etc., then the autoplay kicks in.
In fact you can start a game like this:
./run -g -A
then it will start right away in autoplay mode :)
On 06/15/2016 04:14 PM, Clemens Katzer wrote:
Larry Jordan
Last edit: Clemens Katzer 2016-06-16
I tried to run "./run -g -A" but I could not recreate the problem.
When I run manually the problem always happens early in the game!
Larry Jordan
Last edit: Clemens Katzer 2016-06-16
1) Do you reply to the mail or type your response in the textfield in bug tracker page? Seems it always includes all of the history of all previous posts. (have deleted them now, spent otherwise more time searching where is old and new than reading ;-)
2) That property ""java.util.logging.FileHandler.pattern" is normally set in a file logging.properties. The run command specifies it with -D .
<delete>
So when you run it with ./run , that should not happen.
Did this happen when running in Eclipse, or from cmdline?
</delete>
Argh. That file is missing from the zip file! (and the shell script is missing execute permissins, for that matter, it seems).
I attached the file to this ticket. Place it in the same directory where Colossus.jar and the "run" shell script are.
(I am amazed that it does even run, I'd expected java upon start to complain about that file to be missing and bail out.... - I did not test that release zip file for a long time, obviously... - shame on me.)
3) have you noticed a pattern when it hangs and when not? For example the first battle which you initiate. Very likely it never happens when it's the AI attacking you. (please follow it in near future to see if I am wrong).
4) Can you try the same battle couple of times? Will it hang everytime?
Like, save the game before engaging; when it hangs, quit it and start Colossus again and load same game.
Would be very valuable to know, is it that way reproducable.
(you could even put autosave on, so you don't need to remember to save before every battle "just in case" -- if it does not happen on every own battle).
5) are you familiar with git?
On 06/16/2016 04:26 AM, Clemens Katzer wrote:
Last edit: Clemens Katzer 2016-06-16
0) I should have mentioned this one first:
Please open the log window in Colossus itself (Masterboard's menu bar, "Window" => "Show log window".
Make the log window rather big, then you can shift it e.g. to bottom screen border, so that only menu bar is still visble, so you can drag it back when needed. (if one minimized it, if the GUI thread freezes, restore might not work).
0.5) :-)
Does "hang" mean: GUI is totally frozen or merely nothing happens any more. If click on a menu or right click a legion still works, it is not frozen.
Is the mouse cursor in normal state or in waiting state? ( = like, when it's you opponents turn; an hourglass, or a spinning ball, etc.)
hm, it happens when you are attacked? Odd.
1) please send me the file $HOME/.colossus/Colossus-llj.cfg . You could mail it directly to <my-sourceforge-username> at users dott sf dott net.</my-sourceforge-username>
2) If it is active, disable the "When my turn starts, beep" option:
Under Window => Preferences => "Windows" tab => "Notifications" sections
Actually disable all four of them, just in case.
3) In the Game Setup dialog, Options tab, enable Autosave (upper left corner).
Now the game is saved at begin of each phase. For example:
snap1466106300217_1-Brown-Split.xml
snap1466106300334_1-Brown-Move.xml
snap1466106300445_1-Brown-Muster.xml
snap1466106300455_1-clemens-Split.xml
snap1466106307063_1-clemens-Move.xml
snap1466106308966_1-clemens-Move.xml
snap1466106319182_1-clemens-Muster.xml
snap1466106320164_2-Brown-Split.xml
etc.
If there is an engagement, there will be also a "Fight-<n-engagements-left>" file.</n-engagements-left>
So if it gets stuck, you have last state exactly before the actual attack.
When game gets stuck, send me that last "Fight" file. If you reload such a file, the AI should attack exactly same way as previous time.
If you load that game like 3 times, does it get stuck every time?
4) last thing in log is "askFlee" (if the attacked legion has a lord it should be concede, otherwise flee).
Does that flee/concede dialog actually come up? (probably not...)
On 06/16/2016 03:55 PM, Clemens Katzer wrote:
Attached is the Colossus-llj.cfg file. The askFlee window does not come up
but it is created. I know this because if the click on the game icon it
appears
but is unresponsive. I will try some of the changes you suggest in a
little while.
Thanks
Larry Jordan
Last edit: Clemens Katzer 2016-07-02
On 06/16/2016 03:55 PM, Clemens Katzer wrote:
I set the parameters you specified but I could not find the snap files.
Should they be in /tmp with the log file.
Attached is a new log file.
Larry Jordan
Last edit: Clemens Katzer 2016-07-02
I found the snap files in /.colossus/saves.
Attached are the last 3 snap files.
I hope this helps.
Larry Jordan
Last edit: Clemens Katzer 2016-06-18
I want to make you aware of another symptom that happens when I run
Colossus.
Some of the game icons are blanked out. This has the appearance to me of
some
code writing over areas that it shouldn't or possibly garbage being left
in memory
(memory leaks). Unfortunately, I don't know how to debug java programs.
I hope this will help your analysis. If there is any more data you need
from me
let me know.
Larry Jordan
Last edit: Clemens Katzer 2016-06-18
Ok, good you have now the autosave files. I have no use for them - for me it does not hang. The point is, if you load same game in the state just before AI will attack you several times, will it always hang? It's always the best situation if one can reproduce the error to happen almost on demand.
So please try it a couple of times.
BUT ... :-)
if with the normal game it hangs always, or most of the times... time to try to find the cause.
I have made a special version for you, which has a lot more logwriting especially during engagement/flee/concede etc. parts.
colossus.sourceforge.net/jordan/Colossus-Jordan-special-1.zip
If you run it with the
run-ClientSideLoggingOnly
script it enables logging for a finer level for only the client gui stuff.
Does it hang with that one too? And if yes, what is last thing in the log?
I ran with the new zip file. The same problem occurred.
Attached is the log file. I hope this helps.
Let me know if you need something more.
Larry Jordan
Last edit: Clemens Katzer 2016-06-19
And about the graphics problem. Yes, I have seen similar things before. Typically first comes in the log or screen a warning about that it was not able to load a certain image (e.g. troll), and then everywhere where a troll icon should be, is just a white area.
Is that same in your case?
I have made a new build with lot of logging added.
http://colossus.sourceforge.net/jordan/Colossus-Jordan-special-2.zip
Please try the same as before once with:
./run-ClientSideLoggingOnly
and once with
./run-ClientSideLoggingOnlySkipPreventSpace
and send me both logfiles. There is a slight chance that the latter one does not get stuck.
On 06/19/2016 03:52 AM, Clemens Katzer wrote:
Larry Jordan
Last edit: Clemens Katzer 2016-06-29
In all other cases it looks from log as if you had to kill the game the hard way (e.g. Ctrl-C); I guess the game was so stuck that it did not even react on clicking something in the menu.
But in the newest log you did exit the game with File => Quit, right?
Even if the flee dialog did not come up, if it now not gets totally stuck when it earlier did, that's a major improvement!
Did I get that right?