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 Salmiaka » 23 May 2013, 15:38
When Ancestral Vision is on the stack (by suspension), if we keep on pressing enter, the spell doesn't resolves, it is just passed away. It stays on exile without any suspend counter.
It should be obligated to target any player isn't it ?
It is the same with every suspend spell that needs a target.
Epocrasite in the exile keeps memory of damages done, and directly returns in exile after 3 upkeeps : it is still written "Time counters : 3 Damages 5", like it kept memory.
It should be obligated to target any player isn't it ?
It is the same with every suspend spell that needs a target.
Epocrasite in the exile keeps memory of damages done, and directly returns in exile after 3 upkeeps : it is still written "Time counters : 3 Damages 5", like it kept memory.
Re: Bug Reports (snapshot builds)
by jeffwadsworth » 23 May 2013, 22:26
Screenshot of game state attached with the bug report. AI vs AI.
- | Open
- Description: [describe what you were doing when the crash occurred]
[spoiler=ArrayIndexOutOfBoundsException]- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21590
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.fastRemove(Unknown Source)
at java.util.ArrayList.remove(Unknown Source)
at forge.Card.removeSpellAbility(Card.java:2536)
at forge.game.GameActionUtil.grantBasicLandsManaAbilities(GameActionUtil.java:684)
at forge.game.GameAction.checkStaticAbilities(GameAction.java:897)
at forge.card.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1049)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1063)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1034)
at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:319)
at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:372)
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:613)
at forge.game.phase.PhaseHandler$1.run(PhaseHandler.java:748)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:756)
at forge.game.player.PlayerController.passPriority(PlayerController.java:76)
at forge.game.ai.AiController.onPriorityRecieved(AiController.java:850)
at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:74)
at forge.FThreads$1.run(FThreads.java:136)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Bug Reports (snapshot builds)
by Salmiaka » 23 May 2013, 23:43
Bug report : Description: [Deck Building and scrolling a small (about a thousand) amount of cards]
- IllegalStateException | Open
- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21590
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_09 Oracle Corporation
java.lang.IllegalStateException: Card Mycoloth (542) has no means to determine the game it belongs to!
at forge.Card.getGame(Card.java:8310)
at forge.card.cardfactory.CardFactoryUtil.parseKeywords(CardFactoryUtil.java:3144)
at forge.card.cardfactory.CardFactory.buildAbilities(CardFactory.java:280)
at forge.card.cardfactory.CardFactory.getCard(CardFactory.java:233)
at forge.item.CardPrinted.toForgeCard(CardPrinted.java:249)
at forge.item.CardPrinted.getMatchingForgeCard(CardPrinted.java:238)
at forge.gui.match.controllers.CDetail.showCard(CDetail.java:55)
at forge.gui.deckeditor.CDeckEditorUI.setCard(CDeckEditorUI.java:87)
at forge.gui.deckeditor.tables.EditorTableModel.showSelectedCard(EditorTableModel.java:193)
at forge.gui.deckeditor.tables.EditorTableModel$1.valueChanged(EditorTableModel.java:208)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source)
at javax.swing.JTable.changeSelectionModel(Unknown Source)
at javax.swing.JTable.changeSelection(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JTable.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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)
Re: Bug Reports (snapshot builds)
by Salmiaka » 24 May 2013, 01:51
Sorry for double posting : (another bug, another post, tell me if i'm wrong)
Some strange double upkeeps seems to trigger :
as soon as there is a "auto" input, its like some effets just copy themself in the stack. 2 events for life-loss with only one Wanderlust on my creature, with some (maybe 6 or 7) spell suspended (the black one that suggest to sacrifice a permanent, i don't remember the name for now, whites that prevents opponents to attack me).
When the computer put another wanderlust, I lose 4 life instead of 2 this way.
Note that time counters weren't affected by this : only one removed (on each suspended card) each upkeep.
Some strange double upkeeps seems to trigger :
as soon as there is a "auto" input, its like some effets just copy themself in the stack. 2 events for life-loss with only one Wanderlust on my creature, with some (maybe 6 or 7) spell suspended (the black one that suggest to sacrifice a permanent, i don't remember the name for now, whites that prevents opponents to attack me).
When the computer put another wanderlust, I lose 4 life instead of 2 this way.
Note that time counters weren't affected by this : only one removed (on each suspended card) each upkeep.
Re: Bug Reports (snapshot builds)
by Salmiaka » 24 May 2013, 23:51
Description: [No idea, it just poped out.]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.16-r21506
Operating System: Mac OS X 10.5.8 x86_64
Java Version: 1.6.0_26 Apple Inc.
java.lang.NullPointerException
at forge.control.input.InputAttack.setCurrentDefender(InputAttack.java:153)
at forge.control.input.InputAttack.selectButtonOK(InputAttack.java:101)
at forge.gui.InputProxy.selectButtonOK(InputProxy.java:103)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:59)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
at javax.swing.AbstractButton.doClick(AbstractButton.java:337)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
at java.awt.Component.processKeyEvent(Component.java:6331)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6150)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4735)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4607)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:638)
at java.awt.EventQueue$1.run(EventQueue.java:636)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:652)
at java.awt.EventQueue$2.run(EventQueue.java:650)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Re: Bug Reports (snapshot builds)
by friarsol » 24 May 2013, 23:55
r21646
Essence of the Wild seems to be busted right now. I have an EotW on the Battlefield. I cast a Youthful Knight, which correctly turns into an EotW. I equip it with a Ring of Valkas for Haste and attack. AI blocks with something and the two creatures both die.
Next turn, I cast Burning Shield Askari and it turns into a Youthful Knight. These are not the Clones I'm looking for.
I cast something else, another Youthful Knight. I kill offall the Youthful Knights and still everything I cast after that is also a Youthful Knight.
Essence of the Wild seems to be busted right now. I have an EotW on the Battlefield. I cast a Youthful Knight, which correctly turns into an EotW. I equip it with a Ring of Valkas for Haste and attack. AI blocks with something and the two creatures both die.
Next turn, I cast Burning Shield Askari and it turns into a Youthful Knight. These are not the Clones I'm looking for.
I cast something else, another Youthful Knight. I kill offall the Youthful Knights and still everything I cast after that is also a Youthful Knight.
- 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 Zirbert » 25 May 2013, 01:52
1.3.17, r21633 -
A tapped Bottomless Vault gets two storage counters per turn. Likely the same the same double-triggering bug that Salmiaka reported earlier. (Posting in case another example makes tracking the problem down any easier.)
A tapped Bottomless Vault gets two storage counters per turn. Likely the same the same double-triggering bug that Salmiaka reported earlier. (Posting in case another example makes tracking the problem down any easier.)
Re: Bug Reports (snapshot builds)
by Agetian » 25 May 2013, 05:58
r21654: Launching Forge and then opening any sort of deck editor (the normal one accessible from the home screen, the quest shop, etc.) causes the following NPE:
- Agetian
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21654
Operating System: Linux 3.7.0-7-generic amd64
Java Version: 1.7.0_21 Oracle Corporation
java.lang.NullPointerException
at forge.control.FControl.mayShowCard(FControl.java:301)
at forge.gui.CardDetailPanel.setCard(CardDetailPanel.java:215)
at forge.gui.match.controllers.CDetail.showCard(CDetail.java:49)
at forge.gui.match.controllers.CDetail.showCard(CDetail.java:55)
at forge.gui.deckeditor.CDeckEditorUI.setCard(CDeckEditorUI.java:87)
at forge.gui.deckeditor.tables.EditorTableModel.showSelectedCard(EditorTableModel.java:193)
at forge.gui.deckeditor.tables.EditorTableModel$2.focusGained(EditorTableModel.java:216)
at java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:220)
at java.awt.Component.processFocusEvent(Component.java:6394)
at java.awt.Component.processEvent(Component.java:6261)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:938)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:570)
at java.awt.Component.dispatchEventImpl(Component.java:4731)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at sun.awt.SunToolkit$1.run(SunToolkit.java:502)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
- 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 Max mtg » 25 May 2013, 07:00
will do. Even if you have already started a game on that session.
On the other side, the game as it ends should be detached from UI - that's when game pointer shall be reset to null
On the other side, the game as it ends should be detached from UI - that's when game pointer shall be reset to null
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 Sloth » 25 May 2013, 07:18
Fixed! Thanks sol.friarsol wrote:r21646
Essence of the Wild seems to be busted right now. I have an EotW on the Battlefield. I cast a Youthful Knight, which correctly turns into an EotW. I equip it with a Ring of Valkas for Haste and attack. AI blocks with something and the two creatures both die.
Next turn, I cast Burning Shield Askari and it turns into a Youthful Knight. These are not the Clones I'm looking for.
I cast something else, another Youthful Knight. I kill offall the Youthful Knights and still everything I cast after that is also a Youthful Knight.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by Jak » 25 May 2013, 07:33
The card Commander's Authority goes on the stack two times and due to that you get two tokens instead of only one.
Edit: Same problem with Endless Horizons, I may activate it two times at the beginning of my upkeep.
Edit: Same problem with Endless Horizons, I may activate it two times at the beginning of my upkeep.

- General bug report | Open
- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21633
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_09 Oracle Corporation
- Jak
- Posts: 23
- Joined: 23 Mar 2011, 07:37
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Bundy » 25 May 2013, 13:07
Forge 1.3.17-Snapshot r21633
The ability of Mine Layer activates 4 times when a land with a counter is tapped. I only have 1 Mine Layer in play and 3 in my library, so i guess the ones in my library also activate when the land with the counter gets tapped.
The ability of Mine Layer activates 4 times when a land with a counter is tapped. I only have 1 Mine Layer in play and 3 in my library, so i guess the ones in my library also activate when the land with the counter gets tapped.
- Bundy
- Posts: 348
- Joined: 17 Dec 2010, 17:32
- Location: The netherlands
- Has thanked: 23 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by RedDeckWins » 25 May 2013, 14:33
fixed r21664Bundy wrote:Forge 1.3.17-Snapshot r21633
The ability of Mine Layer activates 4 times when a land with a counter is tapped. I only have 1 Mine Layer in play and 3 in my library, so i guess the ones in my library also activate when the land with the counter gets tapped.
-
RedDeckWins - Posts: 35
- Joined: 20 Apr 2013, 16:45
- Has thanked: 8 times
- Been thanked: 10 times
Re: Bug Reports (snapshot builds)
by Bundy » 25 May 2013, 16:12
Forge 1.3.17-Snapshot r21633
Did not update to the newest snapshot yet, so maybe already fixed?
Description: I click mulligan, then i get this error
Did not update to the newest snapshot yet, so maybe already fixed?
Description: I click mulligan, then i get this error
- RuntimeException | Open
- Code: Select all
Forge Version: 1.3.17-SNAPSHOT-r21633
Operating System: Windows 8 6.2 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.RuntimeException: Trying to unlock input which is not locked! Do check when your threads terminate!
at forge.control.input.InputQueue.unlock(InputQueue.java:203)
at forge.control.input.InputQueue$1.run(InputQueue.java:223)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- Bundy
- Posts: 348
- Joined: 17 Dec 2010, 17:32
- Location: The netherlands
- Has thanked: 23 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by RedDeckWins » 25 May 2013, 18:56
There is definitely something up with bottomless vault.
The keep tapped popup doesn't block the game from going into the upkeep phase. This seems like bad behavior.
The keep tapped popup doesn't block the game from going into the upkeep phase. This seems like bad behavior.
-
RedDeckWins - Posts: 35
- Joined: 20 Apr 2013, 16:45
- Has thanked: 8 times
- Been thanked: 10 times
Who is online
Users browsing this forum: No registered users and 30 guests