Menu

#907 Colossus hangs just before a battle.

None
open
None
5
2016-07-21
2016-06-11
No

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

Related

Bugs: #907

Discussion

1 2 3 4 > >> (Page 1 of 4)
  • Clemens Katzer

    Clemens Katzer - 2016-06-11

    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

     
    • larry Jordan

      larry Jordan - 2016-06-11

      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
    • larry Jordan

      larry Jordan - 2016-06-15

      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
  • Clemens Katzer

    Clemens Katzer - 2016-06-15
    • assigned_to: Clemens Katzer
    • Group: -->
     
  • Clemens Katzer

    Clemens Katzer - 2016-06-15

    I don't see any new attachment :-(

     
    • larry Jordan

      larry Jordan - 2016-06-15

      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
  • Clemens Katzer

    Clemens Katzer - 2016-06-15

    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 :)

     
    • larry Jordan

      larry Jordan - 2016-06-16

      On 06/15/2016 04:14 PM, Clemens Katzer wrote:

      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.

      When I look at Colossus Help it says
      "java.util.logging.FileHandler.pattern" is not set?
      I can't find the Colossus0.log file anywhere on my system.
      Can I force it into a directory?

      Larry Jordan

       

      Last edit: Clemens Katzer 2016-06-16
    • larry Jordan

      larry Jordan - 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
  • Clemens Katzer

    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.)

     
  • Clemens Katzer

    Clemens Katzer - 2016-06-16

    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?

     
    • larry Jordan

      larry Jordan - 2016-06-16

      On 06/16/2016 04:26 AM, Clemens Katzer wrote:

      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?

      Adding the Debug file worked. I have attached the log file.
      It seems to hang the first time I am attacked. I have tried to save and
      reload
      the game but it is still hung. It is totally unresponsive.
      I am not familiar with git.

       

      Last edit: Clemens Katzer 2016-06-16
  • Clemens Katzer

    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.)

     
  • Clemens Katzer

    Clemens Katzer - 2016-06-16

    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...)

     
    • larry Jordan

      larry Jordan - 2016-06-16

      On 06/16/2016 03:55 PM, Clemens Katzer wrote:

      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...)

      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
    • larry Jordan

      larry Jordan - 2016-06-16

      On 06/16/2016 03:55 PM, Clemens Katzer wrote:

      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...)

      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
    • larry Jordan

      larry Jordan - 2016-06-17

      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
    • larry Jordan

      larry Jordan - 2016-06-17

      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
  • Clemens Katzer

    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.

     
  • Clemens Katzer

    Clemens Katzer - 2016-06-18

    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?

     
    • larry Jordan

      larry Jordan - 2016-06-18

      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
  • Clemens Katzer

    Clemens Katzer - 2016-06-18

    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?

     
  • Clemens Katzer

    Clemens Katzer - 2016-06-19

    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.

     
    • larry Jordan

      larry Jordan - 2016-06-19

      On 06/19/2016 03:52 AM, Clemens Katzer wrote:

      ...

      I did the 2 runs they both failed in the same manner.
      Attached are the log files.

      Larry Jordan

       

      Last edit: Clemens Katzer 2016-06-29
  • Clemens Katzer

    Clemens Katzer - 2016-06-19

    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?

     
1 2 3 4 > >> (Page 1 of 4)

Log in to post a comment.

MongoDB Logo MongoDB