It is currently 19 Sep 2025, 05:18
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby 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]

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)

Postby 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:
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)
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby 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
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby 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
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby 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.
Last edited by Snowstorm on 18 May 2015, 08:57, edited 1 time in total.
User avatar
Snowstorm
 
Posts: 50
Joined: 16 Mar 2014, 20:37
Has thanked: 4 times
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby 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
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby 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.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby 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
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby 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!


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)

Postby 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

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)
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby jaw200 » 22 May 2015, 10:07

Why cant I open the game all of a sudden
Please Help :cry:


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)
jaw200
 
Posts: 5
Joined: 18 Jan 2014, 12:19
Has thanked: 4 times
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby 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
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby 5enza » 23 May 2015, 13:17

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
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.
5enza
 
Posts: 71
Joined: 16 May 2014, 01:35
Has thanked: 10 times
Been thanked: 13 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 23 May 2015, 13:55

5enza wrote:
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
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.
Fix attempted in r29447 but since I'm out of my comfort zone here please review. :)
EDIT: my fix makes the mobile game hang on java.util.Objects :( will experiment with simple equals later.
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)

Postby fmartel » 23 May 2015, 14:21

Hello,

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)
Thank you
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 45 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 45 users online :: 0 registered, 0 hidden and 45 guests (based on users active over the past 10 minutes)
Most users ever online was 7967 on 09 Sep 2025, 23:08

Users browsing this forum: No registered users and 45 guests

Login Form