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 dirnaras » 16 May 2015, 08:05
Trying to auto pay for Butcher of the horde, maybe clicked very fast...
Description: [describe what you were doing when the crash occurred]
Description: [describe what you were doing when the crash occurred]
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.40-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_75 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.game.mana.ManaPool.refundManaPaid(ManaPool.java:326)
at forge.game.cost.CostPayment.refundPayment(CostPayment.java:131)
at forge.player.HumanPlaySpellAbility.rollbackAbility(HumanPlaySpellAbility.java:211)
at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:116)
at forge.player.HumanPlay.playSpellAbility(HumanPlay.java:124)
at forge.player.PlayerControllerHuman.playChosenSpellAbility(PlayerControllerHuman.java:892)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:926)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:219)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- dirnaras
- Posts: 2
- Joined: 04 May 2015, 07:44
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Hanmac » 16 May 2015, 08:11
using Retribution of the Ancients and try to remove 0 counters. (because i only want to target)
there are also no counters on the field.
got the following error:
there are also no counters on the field.
got the following error:
- NullPointerException | Open
- Code: Select all
EDT > java.lang.NullPointerException
at forge.player.HumanCostDecision$InputSelectCardToRemoveCounter.getDistibutedCounters(HumanCostDecision.java:898)
at forge.player.HumanCostDecision$InputSelectCardToRemoveCounter.getMessage(HumanCostDecision.java:891)
at forge.match.input.InputSelectManyBase.showMessage(InputSelectManyBase.java:47)
at forge.match.input.InputBase.showMessageInitial(InputBase.java:74)
at forge.match.input.InputProxy$1.run(InputProxy.java:73)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
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)
EDT > java.lang.NullPointerException
at forge.player.HumanCostDecision$InputSelectCardToRemoveCounter.getDistibutedCounters(HumanCostDecision.java:898)
at forge.player.HumanCostDecision$InputSelectCardToRemoveCounter.getMessage(HumanCostDecision.java:891)
at forge.match.input.InputSelectManyBase.showMessage(InputSelectManyBase.java:47)
at forge.match.input.InputBase.showMessageInitial(InputBase.java:74)
at forge.match.input.InputProxy$1.run(InputProxy.java:73)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1082)
at java.awt.Component.show(Component.java:1655)
at java.awt.Component.setVisible(Component.java:1607)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at forge.error.BugReportDialog.show(BugReportDialog.java:78)
at forge.GuiDesktop.showBugReportDialog(GuiDesktop.java:211)
at forge.error.BugReporter.reportException(BugReporter.java:111)
at forge.error.BugReporter.reportException(BugReporter.java:118)
at forge.error.ExceptionHandler.uncaughtException(ExceptionHandler.java:107)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1057)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1052)
at java.awt.EventDispatchThread.processException(EventDispatchThread.java:264)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:256)
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)
EDT > java.lang.NullPointerException
at forge.player.HumanCostDecision$InputSelectCardToRemoveCounter.getSelected(HumanCostDecision.java:914)
at forge.match.input.InputSelectManyBase.resetUsedToPay(InputSelectManyBase.java:83)
at forge.match.input.InputSelectManyBase.onOk(InputSelectManyBase.java:68)
at forge.match.input.InputBase.selectButtonOK(InputBase.java:99)
at forge.match.input.InputProxy.selectButtonOK(InputProxy.java:86)
at forge.player.PlayerControllerHuman.selectButtonOk(PlayerControllerHuman.java:1323)
at forge.screens.match.controllers.CPrompt.selectButtonOk(CPrompt.java:100)
at forge.screens.match.controllers.CPrompt$2.actionPerformed(CPrompt.java:71)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:720)
at java.awt.EventQueue$4.run(EventQueue.java:718)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
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)
EDT > java.lang.NullPointerException
at forge.player.HumanCostDecision$InputSelectCardToRemoveCounter.getSelected(HumanCostDecision.java:914)
at forge.match.input.InputSelectManyBase.resetUsedToPay(InputSelectManyBase.java:83)
at forge.match.input.InputSelectManyBase.onCancel(InputSelectManyBase.java:54)
at forge.match.input.InputBase.selectButtonCancel(InputBase.java:93)
at forge.match.input.InputProxy.selectButtonCancel(InputProxy.java:98)
at forge.player.PlayerControllerHuman.selectButtonCancel(PlayerControllerHuman.java:1327)
at forge.screens.match.controllers.CPrompt.selectButtonCancel(CPrompt.java:104)
at forge.screens.match.controllers.CPrompt$1.actionPerformed(CPrompt.java:65)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:720)
at java.awt.EventQueue$4.run(EventQueue.java:718)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
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)
Re: Bug Reports (snapshot builds)
by Agetian » 16 May 2015, 14:27
r29402: I'm not sure what the AI was trying to do, it tapped 6 lands in its Main 1 phase and started casting some spell (it didn't appear anywhere so I don't know what it was), then I got this error. It was fatal, I could not continue playing without restarting Forge. Not sure if this matters, but I tried playing Forge on a newer version of Java (namely, 1.8.0_31, the Oracle build) - I'll see if I'm getting anything like this on my usual 1.7.0 installation.
- ClassCastException | Open
- Code: Select all
Forge Version: 1.5.40-SNAPSHOT-r29398u
Operating System: Linux 3.19.6-1-MANJARO amd64
Java Version: 1.8.0_31 Oracle Corporation
java.lang.ClassCastException
at javax.swing.LayoutComparator.compare(LayoutComparator.java:88)
at javax.swing.LayoutComparator.compare(LayoutComparator.java:42)
at java.util.Arrays.mergeSort(Arrays.java:1544)
at java.util.Arrays.mergeSort(Arrays.java:1556)
at java.util.Arrays.mergeSort(Arrays.java:1556)
at java.util.Arrays.mergeSort(Arrays.java:1556)
at java.util.Arrays.mergeSort(Arrays.java:1556)
at java.util.Arrays.mergeSort(Arrays.java:1556)
at java.util.Arrays.mergeSort(Arrays.java:1556)
at java.util.Arrays.legacyMergeSort(Arrays.java:1523)
at java.util.Arrays.sort(Arrays.java:1510)
at java.util.ArrayList.sort(ArrayList.java:1454)
at java.util.Collections.sort(Collections.java:175)
at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(SortingFocusTraversalPolicy.java:136)
at javax.swing.SortingFocusTraversalPolicy.getFocusTraversalCycle(SortingFocusTraversalPolicy.java:110)
at javax.swing.SortingFocusTraversalPolicy.getComponentAfter(SortingFocusTraversalPolicy.java:282)
at javax.swing.LayoutFocusTraversalPolicy.getComponentAfter(LayoutFocusTraversalPolicy.java:106)
at java.awt.Component.getNextFocusCandidate(Component.java:7905)
at java.awt.Component.transferFocus(Component.java:7873)
at java.awt.Component.setFocusable(Component.java:7130)
at forge.screens.match.CMatchUI.updateButtons(CMatchUI.java:562)
at forge.match.AbstractGuiGame.updateButtons(AbstractGuiGame.java:190)
at forge.match.AbstractGuiGame.autoPassCancel(AbstractGuiGame.java:219)
at forge.player.PlayerControllerHuman.autoPassCancel(PlayerControllerHuman.java:1808)
at forge.game.zone.MagicStack.add(MagicStack.java:245)
at forge.game.zone.MagicStack.addAndUnfreeze(MagicStack.java:149)
at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:112)
at forge.ai.PlayerControllerAi.playChosenSpellAbility(PlayerControllerAi.java:403)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:926)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:219)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Agetian » 17 May 2015, 07:27
r29408: I got this ClassCastException again today, this time playing on my regular PC with Java 7, so it's definitely something wrong in the game. The symptoms were the same as the last time - the AI was trying to cast a spell (for 3 mana, that's all I know, I was playing random deck vs random deck so it's difficult to predict what it could have been) and the game crashed with this error, forcing me to restart Forge:
- ClassCastException | Open
- Code: Select all
Forge Version: 1.5.40-SNAPSHOT-r29408u (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version: 1.7.0_51 Oracle Corporation
java.lang.ClassCastException
at javax.swing.LayoutComparator.compare(LayoutComparator.java:88)
at javax.swing.LayoutComparator.compare(LayoutComparator.java:42)
at java.util.Arrays.mergeSort(Arrays.java:781)
at java.util.Arrays.legacyMergeSort(Arrays.java:668)
at java.util.Arrays.sort(Arrays.java:657)
at java.util.Collections.sort(Collections.java:217)
at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(SortingFocusTraversalPolicy.java:136)
at javax.swing.SortingFocusTraversalPolicy.getFocusTraversalCycle(SortingFocusTraversalPolicy.java:110)
at javax.swing.SortingFocusTraversalPolicy.getFirstComponent(SortingFocusTraversalPolicy.java:435)
at javax.swing.LayoutFocusTraversalPolicy.getFirstComponent(LayoutFocusTraversalPolicy.java:166)
at javax.swing.SortingFocusTraversalPolicy.getDefaultComponent(SortingFocusTraversalPolicy.java:515)
at java.awt.Component.getNextFocusCandidate(Component.java:7865)
at java.awt.Component.transferFocus(Component.java:7828)
at java.awt.Component.setFocusable(Component.java:7108)
at forge.screens.match.CMatchUI.updateButtons(CMatchUI.java:562)
at forge.match.AbstractGuiGame.updateButtons(AbstractGuiGame.java:190)
at forge.match.AbstractGuiGame.autoPassCancel(AbstractGuiGame.java:219)
at forge.player.PlayerControllerHuman.autoPassCancel(PlayerControllerHuman.java:1808)
at forge.game.zone.MagicStack.add(MagicStack.java:245)
at forge.game.zone.MagicStack.addAndUnfreeze(MagicStack.java:149)
at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:112)
at forge.ai.PlayerControllerAi.playChosenSpellAbility(PlayerControllerAi.java:403)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:926)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:219)
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:744)
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Snowstorm » 17 May 2015, 09:39
"New" Bug(s): as of r29412
1.Dominus of Fealty does not grant creatures haste. Edit: Actually the problem turn out to be a bit different and its actually the summoning sickness icon that stills shows up but the creatures are granted haste. Additionally, this not only effects Dominus but other card stealing haste cards such as Act of Treason.
2. Occasionally generated decks generate with less than 60 cards and says "[insert AI name here]'s should have at least 60 cards" (Only tested with the AI). Extremely old bug but I never reported it for some reason. XP
Unfixed Previously Reported Bugs: retested as of r29412
1. Jace, Architect of Thought does not let me search all player libraries only my own and the first opponent in a 3+ multiplayer.
2. Whenever the AI uses cards like Blatant Thievery and any Primordial creature such as Molten Primordial they have a choice to choose more than one card from any player/bot instead of one per player.
3. Hive Mind suffers the same problem in 3+ multiplayer as some of the bugs I previously posted by only giving the first bot and myself a copy.
4. Possessed Portal only works on the player and the first bot. It also only works on the player, the first AI, and whichever AI's turn it is in 3+ Multiplayer.
5. In Commander/EDH Reflecting Pool does not produce any mana with Commander Tower being the only land on my field.
6. After selecting a deck for the 2nd AI and clicking the third AI to pick its deck or vice versa forge sends me back to my deck selection but it seems to only happen once until I finish a game a switch the decks again. (Quite a hard problem to reproduce but if you play with forge enough you will noticed it when switching decks with multiple bots).
7. In 3+ Multiplayer, whenever I concede and finish a game and then try to close forge it states that a game is still running.
8. In 3+ Multiplayer, whenever an opponent loses the game any cards he/she/it had stolen and/or had taken are not remove from the game and are not return to there owners respectively.
9. The Net deck section doesn't download any decks in severally categories again (Top Decks/Pro Decks/Etc).
10. Using Mindslaver on an AI and then during their turn priority using end turn prevents me from interacting (I can't play any cards from them, tap their mana, or activate any abilities cards they own might have) with the AI next time I Mindslaver the AI during the match.
11. Conceding while controlling a Mindslaver AI causes the AI to concede as well and attempting to continue the match ends the game.
1.
2. Occasionally generated decks generate with less than 60 cards and says "[insert AI name here]'s should have at least 60 cards" (Only tested with the AI). Extremely old bug but I never reported it for some reason. XP
Unfixed Previously Reported Bugs: retested as of r29412
1. Jace, Architect of Thought does not let me search all player libraries only my own and the first opponent in a 3+ multiplayer.
2. Whenever the AI uses cards like Blatant Thievery and any Primordial creature such as Molten Primordial they have a choice to choose more than one card from any player/bot instead of one per player.
3. Hive Mind suffers the same problem in 3+ multiplayer as some of the bugs I previously posted by only giving the first bot and myself a copy.
4. Possessed Portal only works on the player and the first bot. It also only works on the player, the first AI, and whichever AI's turn it is in 3+ Multiplayer.
5. In Commander/EDH Reflecting Pool does not produce any mana with Commander Tower being the only land on my field.
6. After selecting a deck for the 2nd AI and clicking the third AI to pick its deck or vice versa forge sends me back to my deck selection but it seems to only happen once until I finish a game a switch the decks again. (Quite a hard problem to reproduce but if you play with forge enough you will noticed it when switching decks with multiple bots).
7. In 3+ Multiplayer, whenever I concede and finish a game and then try to close forge it states that a game is still running.
8. In 3+ Multiplayer, whenever an opponent loses the game any cards he/she/it had stolen and/or had taken are not remove from the game and are not return to there owners respectively.
9. The Net deck section doesn't download any decks in severally categories again (Top Decks/Pro Decks/Etc).
10. Using Mindslaver on an AI and then during their turn priority using end turn prevents me from interacting (I can't play any cards from them, tap their mana, or activate any abilities cards they own might have) with the AI next time I Mindslaver the AI during the match.
11. Conceding while controlling a Mindslaver AI causes the AI to concede as well and attempting to continue the match ends the game.
Last edited by Snowstorm on 18 May 2015, 08:57, edited 1 time in total.
Re: Bug Reports (snapshot builds)
by Agetian » 17 May 2015, 18:28
r29425: It looks like the player information (the one you get when you hover over the player's avatar) is not getting updated properly. Namely, I always get "0/7 cards in hand, 0 cards drawn this turn, 0 damage prevention" displayed both for me and for my opponent, even if the player has drawn cards this turn and has more than zero cards in hand.
- Agetian
- 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 KrazyTheFox » 17 May 2015, 20:07
In network play, I can't use Citadel Siege. It hits the battlefield, but both players get a "Waiting for opponent" prompt and the game locks because of it.
Edit: This occurs with anything that has a selection to make when it enters the battlefield. No prompt is presented.
Online games are also much less responsive than locally networked games, taking a good 20 seconds sometimes to tap lands to play a card. Not sure if this is the fault of the connection between my friend and me or something else. I haven't another person to confirm this with.
Edit: This occurs with anything that has a selection to make when it enters the battlefield. No prompt is presented.
Online games are also much less responsive than locally networked games, taking a good 20 seconds sometimes to tap lands to play a card. Not sure if this is the fault of the connection between my friend and me or something else. I haven't another person to confirm this with.
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by Agetian » 19 May 2015, 18:10
When Tundra Kavu presents the dialog box with choices (to choose whether the land becomes a Plains or an Island), the dialog box is empty (you can still see that there are two possible choices but each of them is an empty string :/ ). EDIT: Fixed in r29436.
- Agetian
- 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 clockworkrobot » 21 May 2015, 16:42
UPDATE: I was able to fix this by restoring all defaults for settings and layouts.
Description: I get this when I try to start any kind of match. It was working for me earlier today, not sure what changed. I played with themes and layouts a little. Any help getting this resolved would be appreciated. Thanks!
Description: I get this when I try to start any kind of match. It was working for me earlier today, not sure what changed. I played with themes and layouts a little. Any help getting this resolved would be appreciated. Thanks!
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.37-SNAPSHOT-r-1
Operating System: Windows 8 6.2 amd64
Java Version: 1.8.0_31 Oracle Corporation
java.lang.NullPointerException
at forge.screens.match.views.VStack.updateStack(VStack.java:125)
at forge.screens.match.controllers.CStack.update(CStack.java:54)
at forge.screens.match.CMatchUI.initialize(CMatchUI.java:514)
at forge.control.FControl.setCurrentScreen(FControl.java:308)
at forge.control.FControl.setCurrentScreen(FControl.java:272)
at forge.screens.match.CMatchUI.openView(CMatchUI.java:778)
at forge.match.HostedMatch.startGame(HostedMatch.java:181)
at forge.match.HostedMatch.startMatch(HostedMatch.java:108)
at forge.quest.QuestUtil$2.run(QuestUtil.java:587)
at forge.FThreads.invokeInEdtNowOrLater(FThreads.java:32)
at forge.quest.QuestUtil.finishStartingGame(QuestUtil.java:584)
at forge.quest.QuestUtil.startGame(QuestUtil.java:512)
at forge.screens.home.quest.CSubmenuDuels$5.actionPerformed(CSubmenuDuels.java:59)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(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.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(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$500(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)
Last edited by clockworkrobot on 22 May 2015, 15:24, edited 2 times in total.
- clockworkrobot
- Posts: 2
- Joined: 21 May 2015, 16:39
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Hanmac » 21 May 2015, 19:52
"
AI failed to play Cabal Surgeon (81)
isPreferredTarget [Blade Sliver (85), Slavering Nulls (72)]
"
=> AI is to dump to know that if you need to remove 2 cards to return a third you need 3! cards
and then it does crash
AI failed to play Cabal Surgeon (81)
isPreferredTarget [Blade Sliver (85), Slavering Nulls (72)]
"
=> AI is to dump to know that if you need to remove 2 cards to return a third you need 3! cards
and then it does crash
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.39-SNAPSHOT-r-1
Operating System: Linux 3.19.0-17-lowlatency amd64
Java Version: 1.7.0_79 Oracle Corporation
java.lang.NullPointerException
at java.lang.String.length(String.java:623)
at java.lang.String$CaseInsensitiveComparator.compare(String.java:1176)
at java.lang.String$CaseInsensitiveComparator.compare(String.java:1170)
at java.lang.String.compareToIgnoreCase(String.java:1220)
at forge.game.zone.ZoneType.smartValueOf(ZoneType.java:40)
at forge.game.zone.ZoneType.listValueOf(ZoneType.java:50)
at forge.game.spellability.AbilityActivated.canPlay(AbilityActivated.java:95)
at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:271)
at forge.ai.ComputerUtilMana$3.apply(ComputerUtilMana.java:942)
at forge.ai.ComputerUtilMana$3.apply(ComputerUtilMana.java:938)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at forge.util.FCollection.<init>(FCollection.java:38)
at forge.game.card.CardCollection.<init>(CardCollection.java:63)
at forge.game.card.CardLists.filter(CardLists.java:229)
at forge.ai.ComputerUtilMana.getAvailableMana(ComputerUtilMana.java:938)
at forge.ai.ComputerUtilMana.groupSourcesByManaColor(ComputerUtilMana.java:1064)
at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:323)
at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:81)
at forge.ai.ComputerUtilMana.canPayManaCost(ComputerUtilMana.java:56)
at forge.ai.ComputerUtilCost.canPayCost(ComputerUtilCost.java:385)
at forge.ai.ComputerUtilCombat.predictToughnessBonusOfAttacker(ComputerUtilCombat.java:1470)
at forge.ai.ComputerUtilCombat.canDestroyAttacker(ComputerUtilCombat.java:1707)
at forge.ai.AiBlockController.getKillingBlockers(AiBlockController.java:115)
at forge.ai.AiBlockController.makeGoodBlocks(AiBlockController.java:234)
at forge.ai.AiBlockController.assignBlockers(AiBlockController.java:755)
at forge.ai.AiBlockController.assignBlockersForCombat(AiBlockController.java:685)
at forge.ai.ability.ChangeZoneAi.chooseCreature(ChangeZoneAi.java:533)
at forge.ai.ability.ChangeZoneAi.isPreferredTarget(ChangeZoneAi.java:974)
at forge.ai.ability.ChangeZoneAi.knownOriginCanPlayAI(ChangeZoneAi.java:598)
at forge.ai.ability.ChangeZoneAi.canPlayAI(ChangeZoneAi.java:75)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:612)
at forge.ai.AiController.canPlayAndPayFor(AiController.java:599)
at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1189)
at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1166)
at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1108)
at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:394)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:917)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:227)
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:745)
Re: Bug Reports (snapshot builds)
by jaw200 » 22 May 2015, 10:07
Why cant I open the game all of a sudden
Please Help
Description: [describe what you were doing when the crash occurred]
Please Help

Description: [describe what you were doing when the crash occurred]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.39-r-1
Operating System: Windows 7 6.1 x86
Java Version: 1.8.0_45 Oracle Corporation
java.lang.NullPointerException
at forge.itemmanager.GroupDef.getColorGroup(GroupDef.java:221)
at forge.itemmanager.GroupDef.access$000(GroupDef.java:19)
at forge.itemmanager.GroupDef$2.apply(GroupDef.java:34)
at forge.itemmanager.GroupDef$2.apply(GroupDef.java:27)
at forge.itemmanager.GroupDef.getItemGroupIndex(GroupDef.java:212)
at forge.itemmanager.views.ImageView.onRefresh(ImageView.java:528)
at forge.itemmanager.views.ItemView.refresh(ItemView.java:160)
at forge.itemmanager.ItemManager.setViewIndex(ItemManager.java:360)
at forge.itemmanager.ItemManager.setup(ItemManager.java:329)
at forge.itemmanager.DeckManager.setup(DeckManager.java:113)
at forge.deckchooser.FDeckChooser.updateRandom(FDeckChooser.java:204)
at forge.deckchooser.FDeckChooser.refreshDecksList(FDeckChooser.java:349)
at forge.deckchooser.FDeckChooser.restoreSavedState(FDeckChooser.java:409)
at forge.deckchooser.FDeckChooser.populate(FDeckChooser.java:267)
at forge.screens.home.CLobby.initialize(CLobby.java:111)
at forge.screens.home.sanctioned.CSubmenuConstructed.initialize(CSubmenuConstructed.java:44)
at forge.view.FView.initialize(FView.java:148)
at forge.control.FControl$3.run(FControl.java:249)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(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)
Re: Bug Reports (snapshot builds)
by Agetian » 23 May 2015, 10:37
r29446: Courser of Kruphix does not work correctly in the second game of the duel (I can't see the top card of my library and choose to play it if it's a land). It always works correctly in the first game of the duel, provided that the game is completely started from scratch (not via the "Restart" button, but just by closing the match interface and starting a new game). EDIT: This is broken by r29431, I have no idea how it's supposed to work properly, please assist if possible.
- Agetian
- 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 5enza » 23 May 2015, 13:17
Exact same issue with Oracle of Mul Daya. I can always see the top card of my library in the first game but not the second.Agetian wrote:r29446: Courser of Kruphix does not work correctly in the second game of the duel (I can't see the top card of my library and choose to play it if it's a land). It always works correctly in the first game of the duel, provided that the game is completely started from scratch (not via the "Restart" button, but just by closing the match interface and starting a new game). EDIT: This is broken by r29431, I have no idea how it's supposed to work properly, please assist if possible.
- Agetian
Re: Bug Reports (snapshot builds)
by Agetian » 23 May 2015, 13:55
Fix attempted in r29447 but since I'm out of my comfort zone here please review.5enza wrote:Exact same issue with Oracle of Mul Daya. I can always see the top card of my library in the first game but not the second.Agetian wrote:r29446: Courser of Kruphix does not work correctly in the second game of the duel (I can't see the top card of my library and choose to play it if it's a land). It always works correctly in the first game of the duel, provided that the game is completely started from scratch (not via the "Restart" button, but just by closing the match interface and starting a new game). EDIT: This is broken by r29431, I have no idea how it's supposed to work properly, please assist if possible.
- Agetian

EDIT: my fix makes the mobile game hang on java.util.Objects

EDIT: I switched over to the standard .equals and things seem to work fine now.
- Agetian
Last edited by Agetian on 23 May 2015, 19:36, edited 2 times 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 fmartel » 23 May 2015, 14:21
Hello,
Description: [played a lighning bolt on Kodoma of the center tree]
Description: [played a lighning bolt on Kodoma of the center tree]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.39-r-1
Operating System: Windows 7 6.1 x86
Java Version: 1.8.0_45 Oracle Corporation
java.lang.NullPointerException
at forge.game.card.Card.getTriggeringObject(Card.java:793)
at forge.game.card.CardFactoryUtil.xCount(CardFactoryUtil.java:1103)
at forge.game.card.Card.hasProperty(Card.java:4862)
at forge.game.card.Card.isValid(Card.java:3590)
at forge.game.GameObject.isValid(GameObject.java:26)
at forge.game.card.CardPredicates$13.apply(CardPredicates.java:151)
at forge.game.card.CardPredicates$13.apply(CardPredicates.java:148)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at forge.util.FCollection.<init>(FCollection.java:38)
at forge.game.card.CardCollection.<init>(CardCollection.java:63)
at forge.game.card.CardLists.filter(CardLists.java:229)
at forge.game.card.CardLists.getValidCards(CardLists.java:169)
at forge.ai.ability.ChangeZoneAi.isPreferredTarget(ChangeZoneAi.java:733)
at forge.ai.ability.ChangeZoneAi.knownOriginTriggerAI(ChangeZoneAi.java:1195)
at forge.ai.ability.ChangeZoneAi.doTriggerAINoCost(ChangeZoneAi.java:127)
at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:40)
at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:35)
at forge.ai.AiController.doTrigger(AiController.java:1236)
at forge.ai.PlayerControllerAi.prepareSingleSa(PlayerControllerAi.java:700)
at forge.ai.PlayerControllerAi.orderAndPlaySimultaneousSa(PlayerControllerAi.java:689)
at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntry(MagicStack.java:748)
at forge.game.zone.MagicStack.addAllTriggeredAbilitiesToStack(MagicStack.java:714)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:903)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:219)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Who is online
Users browsing this forum: Bing [Bot] and 30 guests