Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by friarsol » 27 May 2013, 14:34
Description: [describe what you were doing when the crash occurred]
- RuntimeException | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.RuntimeException: Inputs adding/removal into stack is imbalanced! Check your code again!
at forge.control.input.InputQueue.removeInput(InputQueue.java:92)
at forge.control.input.InputSyncronizedBase$1.run(InputSyncronizedBase.java:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Max mtg » 27 May 2013, 14:41
@swordshine, works now.
@Agetian,can't reproduce =( Just got it!
@Agetian,
- Code: Select all
Game-4 > java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = []
at forge.control.input.InputQueue.removeInput(InputQueue.java:92)
at forge.control.input.InputSyncronizedBase$1.run(InputSyncronizedBase.java:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Game-3 > java.lang.RuntimeException: Trying to unlock input which is not locked (threading issue)! Input stack = []
at forge.control.input.InputQueue.unlock(InputQueue.java:183)
at forge.control.input.InputQueue$1.run(InputQueue.java:203)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by friarsol » 27 May 2013, 17:03
It seems like mana payment isn't updating properly. Several times I was trying to pay for a 5 mana spell, and after tapping 5 lands, it still claimed I had 1 mana left to spend. Then when I tapped a 6th land, the SA went on the stack and then I had extra mana in my mana pool. Next time I see this I'll try to catch which land is being missed.
Ok, I just cast a Skullclamp and it was a Mountain that I tapped for land, but it seems like it may just be the last mana that I activate.
Additionally, sometimes the input box is losing focus after casting a spell, usually related to these scenarios where the mana isn't activated properly.
Additionally #2, when I activated that Skullclamp on a 0/1 token, the draw cards part of it didn't trigger.
Ok, I just cast a Skullclamp and it was a Mountain that I tapped for land, but it seems like it may just be the last mana that I activate.
Additionally, sometimes the input box is losing focus after casting a spell, usually related to these scenarios where the mana isn't activated properly.
Additionally #2, when I activated that Skullclamp on a 0/1 token, the draw cards part of it didn't trigger.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Max mtg » 27 May 2013, 18:25
sol, I've tried it all now (r21757) - Fixed remaining mana display problems, input lock/unlock problems, focus not properly set.
Reproduced Skullclamp, but it's not related to inputs and thread.
Reproduced Skullclamp, but it's not related to inputs and thread.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by friarsol » 27 May 2013, 22:55
r21759
Description: AI playing Honden Quest deck and casts Fabricate.
Console has these two lines before the crash:
Don't need a land or none available; trying for a creature.
5 Life or less, trying to find something castable.
AI isn't passing priority properly for Cast Spell triggers.
Repro:
1. Cast Opal Gargoyle (Veiled Sentry might be faster)
2. Wait till your opponent casts a Creature Spell
3. My Input says the AI has priority, my trigger is top of the stack with his creature underneath.
I can't move on since it's not my priority, so the game is essentially frozen.
Description: AI playing Honden Quest deck and casts Fabricate.
Console has these two lines before the crash:
Don't need a land or none available; trying for a creature.
5 Life or less, trying to find something castable.
- NullPointerException | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.NullPointerException
at forge.card.mana.ManaCostBeingPaid.applySpellCostChange(ManaCostBeingPaid.java:497)
at forge.game.ai.ComputerUtilMana.calculateManaCost(ComputerUtilMana.java:463)
at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:83)
at forge.game.ai.ComputerUtilMana.hasEnoughManaSourcesToCast(ComputerUtilMana.java:57)
at forge.card.ability.ai.ChangeZoneAi.hiddenOriginResolveAI(ChangeZoneAi.java:1228)
at forge.card.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:597)
at forge.card.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:352)
at forge.card.ability.SpellApiBased.resolve(SpellApiBased.java:54)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1057)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1034)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:614)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:746)
at forge.game.player.PlayerController.passPriority(PlayerController.java:80)
at forge.control.input.InputPassPriorityBase$1.run(InputPassPriorityBase.java:16)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
AI isn't passing priority properly for Cast Spell triggers.
Repro:
1. Cast Opal Gargoyle (Veiled Sentry might be faster)
2. Wait till your opponent casts a Creature Spell
3. My Input says the AI has priority, my trigger is top of the stack with his creature underneath.
I can't move on since it's not my priority, so the game is essentially frozen.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Agetian » 28 May 2013, 02:47
r21763: Got this threading-related crash when tapping a card (in particular, a land for mana) - had to concede a game to be able to continue:
- RuntimeException | Open
- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21763
Operating System: Linux 3.7.0-7-generic amd64
Java Version: 1.7.0_21 Oracle Corporation
java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = []
at forge.control.input.InputQueue.removeInput(InputQueue.java:92)
at forge.control.input.InputSyncronizedBase$1.run(InputSyncronizedBase.java:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Last edited by Agetian on 28 May 2013, 10:51, edited 1 time in total.
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by moomarc » 28 May 2013, 07:23
The AttackerBlocked trigger of Dwarven Berserker triggers whether-or-not it was blocked.
Edit: Same for Alley Grifters and I assume any other AttackerBlocked without a ValidBlocker param
Edit: Same for Alley Grifters and I assume any other AttackerBlocked without a ValidBlocker param
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Bug Reports (snapshot builds)
by Sloth » 28 May 2013, 07:35
Fixed! thanks marc.moomarc wrote:The AttackerBlocked trigger of Dwarven Berserker triggers whether-or-not it was blocked.
Edit: Same for Alley Grifters and I assume any other AttackerBlocked without a ValidBlocker param
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by moomarc » 28 May 2013, 08:20
Thanks for the quick fix Sloth. Just came across another issue while testing further that I can't explain. I attacked the AI with a Dwarven Berserker and Alley Grifters. I then cast a Curtain of Light for the AI on each creature. The Berserker still dealt the combat damage while the Grifters were correctly didn't. I tested further on successive turns attacking with each individually then being blocked by the curtain, and each time the Berserker still dealt damage.Sloth wrote:Fixed! thanks marc.moomarc wrote:The AttackerBlocked trigger of Dwarven Berserker triggers whether-or-not it was blocked.
Edit: Same for Alley Grifters and I assume any other AttackerBlocked without a ValidBlocker param
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Bug Reports (snapshot builds)
by Max mtg » 28 May 2013, 08:57
It is still bugged >X_X<
because of 21768 this time.
Try to play Auntie's Howel for instance. Or Ancient Amphitheater.
With 21768 reverted it generally works, but has threading issues on several systems (Agetian reported one last night)
I'll have to reshape the whole input and priorities interaction.
because of 21768 this time.
Try to play Auntie's Howel for instance. Or Ancient Amphitheater.
With 21768 reverted it generally works, but has threading issues on several systems (Agetian reported one last night)
I'll have to reshape the whole input and priorities interaction.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by mark » 28 May 2013, 09:45
There is a bug with Elesh Norn, Grand Cenobite + Arrest + Kormus Bell (see screenshot): Enemy Lands are still only lands and not creatures, though own lands are not. Without Arrest it works as it should.
Another thing: The AI plays 1/1 creatures while Elesh Norn is on the field, so they are removed instantly.
Another thing: The AI plays 1/1 creatures while Elesh Norn is on the field, so they are removed instantly.
Re: Bug Reports (snapshot builds)
by Agetian » 28 May 2013, 10:50
Just noticed that many precon decks fail to show up in the quest shop on Linux because the files with precon pictures on the server use mixed case (at least many of them), e.g. Boggart_Feast.jpg, while the game tries to load them in lowercase (boggart_feast.jpg), and Linux uses case-sensitive file systems, so it can't find the file boggart_feast.jpg if it's named Boggart_Feast.jpg on the hard drive. Manually renaming the files to lowercase works, but then the next time you request the quest image content download it'll redownload the files with mixed case (so it'll think that the files do not exist).
Also, the threading bug I reported above is still present as of r21776, not sure if Max tried to fix that already or not (if not yet, just disregard this).
- Agetian
Also, the threading bug I reported above is still present as of r21776, not sure if Max tried to fix that already or not (if not yet, just disregard this).
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by lsdmaster » 28 May 2013, 11:04
Description: This happens very often when I try to play a card (this time was Abbey Matron)
- RuntimeException | Open
- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21776
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = []
at forge.control.input.InputQueue.removeInput(InputQueue.java:91)
at forge.control.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:35)
at forge.control.input.InputPayManaBase.onStateChanged(InputPayManaBase.java:261)
at forge.control.input.InputPayManaBase.showMessage(InputPayManaBase.java:255)
at forge.control.input.InputBase.showMessage(InputBase.java:47)
at forge.gui.InputProxy$1.run(InputProxy.java:69)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- RuntimeException | Open
- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21776
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.RuntimeException: Trying to unlock input which is not locked (threading issue)! Input stack = []
at forge.control.input.InputQueue.unlock(InputQueue.java:183)
at forge.card.spellability.HumanPlaySpellAbility.fillRequirements(HumanPlaySpellAbility.java:107)
at forge.game.player.HumanPlay.playSpellAbility(HumanPlay.java:126)
at forge.game.player.HumanPlay.playSpellAbility(HumanPlay.java:75)
at forge.control.input.InputPassPriority$1.run(InputPassPriority.java:72)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Last edited by lsdmaster on 28 May 2013, 11:05, edited 1 time in total.
Re: Bug Reports (snapshot builds)
by Sloth » 28 May 2013, 11:04
Kormus Bell only works on Swamps.mark wrote:There is a bug with Elesh Norn, Grand Cenobite + Arrest + Kormus Bell (see screenshot): Enemy Lands are still only lands and not creatures, though own lands are not. Without Arrest it works as it should.
This is correct, Dwarven Berserker has trample.moomarc wrote:Thanks for the quick fix Sloth. Just came across another issue while testing further that I can't explain. I attacked the AI with a Dwarven Berserker and Alley Grifters. I then cast a Curtain of Light for the AI on each creature. The Berserker still dealt the combat damage while the Grifters were correctly didn't. I tested further on successive turns attacking with each individually then being blocked by the curtain, and each time the Berserker still dealt damage.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by Max mtg » 28 May 2013, 11:32
I see - there will be a different input system in several hours, or maybe tomorrow.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Who is online
Users browsing this forum: No registered users and 35 guests