Lockup on Move up after Move up
Submitted by chaos_star on Wed, 2009-04-29 14:04.
| Project: | Virtual Combat Cards Project |
| Version: | 0.92.2 |
| Component: | Code |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Nebulorum |
| Status: | closed |
Jump to:
Description
I was using v.91 last night in a game and a player used Guileful Switch. In order to change initiatives of the characters in question, I had to put everyone else on delay. As I was resuming normal turns and taking characters of delay, the program locked up. None of the buttons would work on anything. I took a screen shot of the error message that I will upload. It looks small but you can enlarge the picture and you should be able to read the text. Feel free to email me with any questions.
Ed P.
| Attachment | Size |
|---|---|
| Doc2.doc | 120.5 KB |
#1
This is really a strange bug. I tried to reproduce it with the 0.91 version. Looking at the log, it's clear that combatant 7 moved up and then AL tried to move up while 7 was active (which is illegal). 7 should end the round prior to AL moves up.
However I could not reproduce this (and didn't have the real order between them) in my machine the buttons are never available. Could undoing and changing actions sort this out? Could you send me (via contact page) the encounter files.
I think this may be a race condition or something related to a delay between the UI sending the request and the action being executed. I have seen something like this when working on 0.92. Where you clicking quickly to move up several delayed combatants? Is your computer a multi-core machine?
Could you try version 0.92.1 and see if you can reproduced this?
#2
Since this is still happening and we don't know what is happening. I believe exceptions will cause VCC to hang. This must be handled better and I believe this is relatively easy to do. This could improve the problem (allowing undos). I'll open a task for recording actions and log generation. But this will come after the new data formats.
#3
I did some quick testing, and there are a couple of issues to handle:
To avoid this, the following changes will be implemented: catch exceptions to avoid crashing the core tracker, secondly fix the auto-start to handle with delaying monsters.
#5
Implemented a mechanism to catch exception on the internal event handling. If an exception happens the entire transaction is canceled. This is similar to having an undo.
This should avoid lockup's and allow Undo and redo to work. Once we can trace the step that caused this issue we should open a new issue.
#6
While I could not reproduce the double move up. The processing of invalid commands (like in the original post) should not cause lockup of the tracker.
#7
Automatically closed -- issue fixed for two weeks with no activity.