Lockup on Delay
| Project: | Virtual Combat Cards Project |
| Version: | 0.92.2 |
| Component: | Code |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Nebulorum |
| Status: | closed |
Hey,
Delay caused program lockup again in my game tonight. The delayed combatant reached the top of the initiative order and then no more actions (including damage, heal, start round end round etc etc would work. Tried every button. Undo would not work either.
I think that it may be possible that a dead monster was removed automatically in the turn immediately prior to the delayed character. (now on the top of the list in the attached jpg.)
I tried to recreate the bug but couldn't.
Had an idea for delayed creatures tho, they should stay at the bottom of combatant order like reserved creatures, who can still be effected but who don't proceed up the initiative list. This makes sense from a practical point of view and may in the end fix bugs like this from happening in the future??
Thanks.
| Attachment | Size |
|---|---|
| Frozen VCC after delay.JPG | 162.14 KB |
#1
This seems to be a duplicate of #75: Lockup on Move up after Move up. I'm move the discussion there. We really need a simple way of reproducing this. You would not have a snapshot of the log?
#2
This is somewhat different then issue #75: Lockup on Move up after Move up. It is clear that having exception in the event processing was causing lockups. This has been handled in the other issue.
As for the Delay problem, I was able to cause lockup by having dead combatants in delay. I believe there may be some other corner cases that cause exceptions in the tracker. I fixed the problem with the Dead Delaying combatants. With the new exception handling, lockups should stop. And undoing and redoing should allows us to get a better understanding of what is going on.
As for moving delaying combatants to the end of the list like the ones in reserve, this is not 100% compliant to the rules. Once a combatant delays we can go back in sequence before some other combatant. However if they don't move up before they come up, they loose the round. This is why they stay in sequence, unlike reserve you will not stay there forever.
With the new 0.92.3 release this should be fixed. Lets see if we get a clear reproducible situation. Another important thing is to include the log, and show the dead combatants when reporting bugs.
#3
Sorry, i posted the bug recreation in #75: Lockup on Move up after Move up as I thought you wished to move the discussion there. Therein lies the bug that happened in my game. Here it is again to keep this discussion flowing:
Hey,
I managed to recreate a bug I found in my game last night. I've attached the log file and a screen shot.
Here's how to do it:
1) load a party (monsters or PC's or both, doesn't matter)
2) start combat
3) delay combatant
4) start and end round of all combatants until delayed combatant is top of initiative order again.
5) give damage to any other creature on the list until they are "Dead!!!"
6) Bingo. Program is locked up.
This is different to having dead combatants in delay is it not?
Joe
#4
Thanks for an excellent write up. I manage to figure out what the issue is. And this is really a good catch for what was happening on #75: Lockup on Move up after Move up. So in the end it my be a duplicate. It's a race condition on the UI.
The new release is immune to this type of crash, but I have to work on the "End Round" being incorrectly available.
#5
Fixed the problem of End Round being incorrectly available.
#6
Tested this in version 0.92.3 & works fine for me now. Thanks!
#7
Automatically closed -- issue fixed for two weeks with no activity.