It is currently 18 Nov 2025, 04:30
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

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

Re: Bug Reports (snapshot builds)

Postby Snowstorm » 03 Mar 2015, 23:45

"New" Bug(s): as of r28930

1. Avatars for all the other bots in multiplayer are the same as the first bot.

Older Unfixed Previously Reported Bugs: (Retested as of r28930)

1. Casting Order of Succession and not owning a creature card crashes the game.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.35-SNAPSHOT-r-1u
Operating System: Windows 8.1 6.3 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.CardView.addCards(CardView.java:1040)
   at forge.game.card.Card.addImprintedCards(Card.java:627)
   at forge.game.ability.effects.RepeatEachEffect.resolve(RepeatEachEffect.java:174)
   at forge.game.spellability.AbilitySub.resolve(AbilitySub.java:119)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1234)
   at forge.game.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1227)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1241)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1216)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:466)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:202)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
2. Jace, Architect of Thought does not let me search all player libraries only my own and the first opponent in a 3+ multiplayer.

3. 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.

4. 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. But it also suffers another bug when copying certain cards such as Timetwister (it maybe just Timetwister itself) which causes the game to crash.

IllegalArgumentException | Open
Code: Select all
Forge Version:    1.5.35-SNAPSHOT-r-1u
Operating System: Windows 8.1 6.3 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.IllegalArgumentException: No element named Hand,Graveyard in enum Zone
   at forge.game.zone.ZoneType.smartValueOf(ZoneType.java:44)
   at forge.ai.ability.ChangeZoneAllAi.doTriggerAINoCost(ChangeZoneAllAi.java:178)
   at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:42)
   at forge.ai.AiController.canPlayFromEffectAI(AiController.java:1053)
   at forge.ai.PlayerControllerAi.playSpellAbilityForFree(PlayerControllerAi.java:289)
   at forge.game.ability.effects.CopySpellAbilityEffect.resolve(CopySpellAbilityEffect.java:139)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1234)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1216)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:138)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:195)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:223)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:412)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1234)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1216)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:466)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:202)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
5. When using Ignite the Cloneforge! ability and choosing to make a token of a land you are unable to tap the land token for mana.

6. Temple Bell only draws cards for the first and second player in 3+ multiplayer, so it basically has the same problem as a lot of bugs I have previously listed.

7. Windbrisk Heights does not allow me to see what I put face-down.
Last edited by Snowstorm on 06 Mar 2015, 05:16, 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 Myrd » 04 Mar 2015, 03:29

ZappaZ wrote:r28935

Description: Just started a round and the AI mulled down to 6.

This seems to be similar to the one I could only screenshot a few days ago so I'm going to play with it a bit.

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.OutOfMemoryError: unable to create new native thread
   at java.lang.Thread.start0(Native Method)
   at java.lang.Thread.start(Unknown Source)
   at com.mortennobel.imagescaling.ResampleOp.doFilter(ResampleOp.java:167)
   at com.mortennobel.imagescaling.AdvancedResizeOp.filter(AdvancedResizeOp.java:81)
   at forge.toolbox.imaging.FImagePanel.getResampledImage(FImagePanel.java:230)
   at forge.toolbox.imaging.FImagePanel.doQualityPaint(FImagePanel.java:206)
   at forge.toolbox.imaging.FImagePanel.paintComponent(FImagePanel.java:200)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintToOffscreen(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
   at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
   at javax.swing.RepaintManager.paint(Unknown Source)
   at javax.swing.JComponent._paintImmediately(Unknown Source)
   at javax.swing.JComponent.paintImmediately(Unknown Source)
   at javax.swing.RepaintManager$4.run(Unknown Source)
   at javax.swing.RepaintManager$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$1300(Unknown Source)
   at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
   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)
I can press continue and the game progresses seemingly without problem.

Then I got this, slightly different error.

Description: AI played a forest during turn 1.

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.OutOfMemoryError: unable to create new native thread
   at java.lang.Thread.start0(Native Method)
   at java.lang.Thread.start(Unknown Source)
   at com.mortennobel.imagescaling.ResampleOp.doFilter(ResampleOp.java:167)
   at com.mortennobel.imagescaling.AdvancedResizeOp.filter(AdvancedResizeOp.java:81)
   at forge.ImageCache.scaleImage(ImageCache.java:188)
   at forge.ImageCache.getImage(ImageCache.java:88)
   at forge.view.arcane.CardPanel.updateImage(CardPanel.java:162)
   at forge.view.arcane.CardPanel.setCard(CardPanel.java:549)
   at forge.view.arcane.CardPanel$1.componentResized(CardPanel.java:120)
   at java.awt.Component.processComponentEvent(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.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)
Description: My first drawphase.

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.OutOfMemoryError: unable to create new native thread
   at java.lang.Thread.start0(Native Method)
   at java.lang.Thread.start(Unknown Source)
   at com.mortennobel.imagescaling.ResampleOp.doFilter(ResampleOp.java:150)
   at com.mortennobel.imagescaling.AdvancedResizeOp.filter(AdvancedResizeOp.java:81)
   at forge.ImageCache.scaleImage(ImageCache.java:188)
   at forge.ImageCache.getImage(ImageCache.java:88)
   at forge.view.arcane.CardPanel.updateImage(CardPanel.java:162)
   at forge.view.arcane.CardPanel.setCard(CardPanel.java:549)
   at forge.view.arcane.CardPanel$1.componentResized(CardPanel.java:120)
   at java.awt.Component.processComponentEvent(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.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)
Description: Started getting errors when just moving the mose so decided to quit the game, this is after conceding and clicking on Deck Editor.

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.OutOfMemoryError: unable to create new native thread
   at java.lang.Thread.start0(Native Method)
   at java.lang.Thread.start(Unknown Source)
   at com.mortennobel.imagescaling.ResampleOp.doFilter(ResampleOp.java:150)
   at com.mortennobel.imagescaling.AdvancedResizeOp.filter(AdvancedResizeOp.java:81)
   at forge.ImageCache.scaleImage(ImageCache.java:188)
   at forge.ImageCache.getImage(ImageCache.java:96)
   at forge.itemmanager.views.ImageView$CardViewDisplay.drawItemImage(ImageView.java:1111)
   at forge.itemmanager.views.ImageView$CardViewDisplay.paintComponent(ImageView.java:1071)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JViewport.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at forge.toolbox.FScrollPane.paint(FScrollPane.java:86)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JViewport.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintToOffscreen(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
   at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
   at javax.swing.RepaintManager.paint(Unknown Source)
   at javax.swing.JComponent._paintImmediately(Unknown Source)
   at javax.swing.JComponent.paintImmediately(Unknown Source)
   at javax.swing.RepaintManager$4.run(Unknown Source)
   at javax.swing.RepaintManager$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$1300(Unknown Source)
   at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
   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)
Also, javaw.exe was using 684mb according to taskmanager, after restaring Forge (after the last error I had to.) if thats relevant.
Looks like a library we use - java-image-scaling - likes to allocate a lot of threads when doing image resampling. This is very inefficient - and should probably be re-written using thread pools or possibly even the fork/join framework. The library doesn't seem maintained though. :(
Myrd
 
Posts: 87
Joined: 24 Nov 2014, 05:58
Has thanked: 4 times
Been thanked: 32 times

Re: Bug Reports (snapshot builds)

Postby excessum » 05 Mar 2015, 00:44

Is there any AI-specific code for the "morph" mechanic? The AI is killing itself by flipping Ashcloud Phoenix and the only reference to canPlay() I can find is in abilityMorphUp() in forge-game/card/CardFactoryUtil.
excessum
 
Posts: 177
Joined: 21 Oct 2013, 02:30
Has thanked: 0 time
Been thanked: 19 times

Re: Bug Reports (snapshot builds)

Postby 5enza » 05 Mar 2015, 01:08

r28941 - When playing booster draft and selecting the option to play all 7 opponents, after winning first match and clicking "Next Round 2/7", match for next round never loads. No errors. Board state just stays as is.
5enza
 
Posts: 71
Joined: 16 May 2014, 01:35
Has thanked: 10 times
Been thanked: 13 times

Re: Bug Reports (snapshot builds)

Postby Doerk » 05 Mar 2015, 17:26

Description: When using Sorin Markov ability of taking control over another player the game crashes in Quest mode. Some of the upkeed decisions can still be made, but then it's over. It is not possible to continue.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_20 Oracle Corporation

java.lang.NullPointerException
   at forge.match.AbstractGuiGame.mayView(AbstractGuiGame.java:102)
   at forge.screens.match.controllers.CDetailPicture.mayView(CDetailPicture.java:92)
   at forge.screens.match.controllers.CDetailPicture.showCard(CDetailPicture.java:43)
   at forge.screens.match.CMatchUI.setCard(CMatchUI.java:370)
   at forge.screens.match.CMatchUI.setCard(CMatchUI.java:365)
   at forge.view.arcane.CardPanelContainer$3.mouseMoved(CardPanelContainer.java:234)
   at java.awt.Component.processMouseMotionEvent(Component.java:6570)
   at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3339)
   at java.awt.Component.processEvent(Component.java:6294)
   at java.awt.Container.processEvent(Container.java:2234)
   at java.awt.Component.dispatchEventImpl(Component.java:4881)
   at java.awt.Container.dispatchEventImpl(Container.java:2292)
   at java.awt.Component.dispatchEvent(Component.java:4703)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4546)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
   at java.awt.Container.dispatchEventImpl(Container.java:2278)
   at java.awt.Window.dispatchEventImpl(Window.java:2739)
   at java.awt.Component.dispatchEvent(Component.java:4703)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
   at java.awt.EventQueue.access$400(EventQueue.java:97)
   at java.awt.EventQueue$3.run(EventQueue.java:697)
   at java.awt.EventQueue$3.run(EventQueue.java:691)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
   at java.awt.EventQueue$4.run(EventQueue.java:719)
   at java.awt.EventQueue$4.run(EventQueue.java:717)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Attachments
2015-03-05 18_24_19-Forge_ 1.5.37-SNAPSHOT-r-1.jpg
Doerk
 
Posts: 41
Joined: 12 Apr 2011, 16:43
Has thanked: 2 times
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby fmartel » 05 Mar 2015, 19:02

Description: Starting a new game (Quick Gauntlet)

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_11 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.match.views.VPlayers.update(VPlayers.java:176)
   at forge.screens.match.controllers.CPlayers.update(CPlayers.java:54)
   at forge.gui.framework.DragCell.setSelected(DragCell.java:324)
   at forge.gui.framework.DragCell.setSelected(DragCell.java:336)
   at forge.gui.framework.DragCell.addDoc(DragCell.java:278)
   at forge.gui.framework.SLayoutIO.loadLayout(SLayoutIO.java:426)
   at forge.control.FControl.setCurrentScreen(FControl.java:300)
   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.match.HostedMatch.startMatch(HostedMatch.java:85)
   at forge.match.HostedMatch.startMatch(HostedMatch.java:79)
   at forge.screens.home.gauntlet.CSubmenuGauntletQuick.startGame(CSubmenuGauntletQuick.java:87)
   at forge.screens.home.gauntlet.CSubmenuGauntletQuick.access$000(CSubmenuGauntletQuick.java:29)
   at forge.screens.home.gauntlet.CSubmenuGauntletQuick$1.actionPerformed(CSubmenuGauntletQuick.java:34)
   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$400(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)
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Mar 2015, 19:58

I noticed that the new experimental simulation AI incorrectly evaluates the ability of Prognostic Sphinx to gain hexproof - basically, the AI taps it every turn pre-combat for me (instead of attacking with it), even though I don't have anything relevant on my side of the battlefield to protect against it - all I had was a bunch of lands (Swamps). Granted, I had Hero's Downfall in my hand, so in case it could "cheat" and see the contents of my hand, maybe it sort of tried to protect against me casting it on the Sphinx, not sure about that...

- Agetian
Agetian
Programmer
 
Posts: 3492
Joined: 14 Mar 2011, 05:58
Has thanked: 686 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 05 Mar 2015, 20:07

Agetian wrote:I noticed that the new experimental simulation AI incorrectly evaluates the ability of Prognostic Sphinx to gain hexproof - basically, the AI taps it every turn pre-combat for me (instead of attacking with it), even though I don't have anything relevant on my side of the battlefield to protect against it - all I had was a bunch of lands (Swamps). Granted, I had Hero's Downfall in my hand, so in case it could "cheat" and see the contents of my hand, maybe it sort of tried to protect against me casting it on the Sphinx, not sure about that...

- Agetian
Even if it could cheat in that circumstance, it should bait the spell on the stack before gaining Hexproof.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby ZappaZ » 05 Mar 2015, 22:29

r28943

I just lost the first round in a 3 player multiplayer game and at the start of the next round I'm stuck since the buttons are greyed out.

EDIT: Pressing X on the match tab and selecting Concede does nothing.

EDIT2: After restarting Forge I started a new match and when I won the coin toss the buttons was greyed out again. Only losing the cointoss and winning the rounds lets you play the full match. It's like playing on hardcore difficulty ;-)
Attachments
Capture.JPG
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby ZappaZ » 05 Mar 2015, 22:54

r28943

While playing a 3 player game one AI just killed the other AI and then tried playing a Phyrexian Altar but nothing happens when I press OK to resolve, the game is stuck like this.

Switching to the Home tab and back made the cards in my hand disappear. (Or just not redraw)

My battlefield at the moment of the screenshot is Blind Obedience, Ghostly Prison, Oblivion Ring and Sphere of Safety.

I was able to Concede this game.

EDIT: I just played another game with the same decks and when Phyrexian Altar was cast in the 7th round it had no problem resolving.


Sidenote: The "You're going 2nd" or 3rd message at the beginning of a muliplayer game seems broken, it has said that I'm going 2nd several times when I was actually going 3rd and vice versa.
Attachments
Capture.JPG
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby dolphi5 » 06 Mar 2015, 14:40

The AI gets into a decision loop of returning as many creatures as it can to trigger Temur Sabertooth indestructibility. I've also seen it return/destroy a token with this ability for no reason (no attacks).
dolphi5
 
Posts: 14
Joined: 20 Aug 2014, 14:08
Has thanked: 0 time
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby ZappaZ » 06 Mar 2015, 19:33

Description: I triggered Story Circle and got this crash. I might have pressed OK on the "Source selection window" without selection a source.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.NullPointerException
   at forge.game.ability.effects.ChooseSourceEffect.resolve(ChooseSourceEffect.java:141)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1234)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1216)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:466)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.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)
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby yoyo502 » 07 Mar 2015, 01:59

Description: I am at the level "Saltblasted For Your Talent" in my quest mode and just tried to start a new duel with an opponent and the game crashed. Have tried restarting several times.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1
Operating System: Mac OS X 10.10.2 x86_64
Java Version:     1.8.0_31 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.match.views.VPlayers.update(VPlayers.java:176)
   at forge.screens.match.controllers.CPlayers.update(CPlayers.java:54)
   at forge.gui.framework.DragCell.setSelected(DragCell.java:324)
   at forge.gui.framework.SLayoutIO.loadLayout(SLayoutIO.java:433)
   at forge.control.FControl.setCurrentScreen(FControl.java:300)
   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(AbstractButton.java:2022)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:356)
   at forge.screens.home.quest.CSubmenuDuels$11.mouseClicked(CSubmenuDuels.java:116)
   at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
   at java.awt.Component.processMouseEvent(Component.java:6528)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3322)
   at java.awt.Component.processEvent(Component.java:6290)
   at java.awt.Container.processEvent(Container.java:2234)
   at java.awt.Component.dispatchEventImpl(Component.java:4881)
   at java.awt.Container.dispatchEventImpl(Container.java:2292)
   at java.awt.Component.dispatchEvent(Component.java:4703)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
   at java.awt.Container.dispatchEventImpl(Container.java:2278)
   at java.awt.Window.dispatchEventImpl(Window.java:2739)
   at java.awt.Component.dispatchEvent(Component.java:4703)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
   at java.awt.EventQueue.access$500(EventQueue.java:97)
   at java.awt.EventQueue$3.run(EventQueue.java:702)
   at java.awt.EventQueue$3.run(EventQueue.java:696)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
   at java.awt.EventQueue$4.run(EventQueue.java:724)
   at java.awt.EventQueue$4.run(EventQueue.java:722)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
yoyo502
 
Posts: 3
Joined: 25 May 2014, 23:27
Has thanked: 1 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Myrd » 07 Mar 2015, 05:04

Devilman06 wrote:Marath, Will of the Wild dies immediately upon entering battlefield from command zone forge 1.5.32
This is caused by the following line in ComputerUtilMana.java:

Code: Select all
        if (test) {
            refundMana(manaSpentToPay, ai, sa);
        }
        else {
            manaSpentToPay.clear(); //prevent mana spent to pay sticking around such that it can cause an improper refund later
        }
The .clear() call resets the remembered mana which is needed for the effect. Investigating why that line was added...

EDIT: This was introduced by a commit with the following message: "Prevent Gorilla Shaman refunding mana after there are no more remaining targets".

I tried reproducing the above after reverting the change and I can't trigger the above problem, which leads me to believe enough things changed in the mean time that the problem was fixed in another way. So I'm going to revert the original change to unbreak Marath.
Myrd
 
Posts: 87
Joined: 24 Nov 2014, 05:58
Has thanked: 4 times
Been thanked: 32 times

Re: Bug Reports (snapshot builds)

Postby baekin » 07 Mar 2015, 09:46

This bug makes me sad. For some reason I had a bug in my quest mode, and I updated to the latest snapshot build hoping that updating Forge would let me play again. No dice, the new version crashes at startup every time just like the old version. I may need to delete all my quest data if there is no solution. Thanks for all of your hard work and making and maintaining the game I love.

Description: Starting the game. It crashes when it attempts to load my current quest.

I have copied my bug report to a text file because the forum says I am spamming offsite urls if I attach the bug report within the post. The gist of it is that there is a fatal bug when Forge loads my current quest, and the game never launches.
Attachments
forgebugreport.txt
1.5.37 snapshot
(1.05 KiB) Downloaded 163 times
baekin
 
Posts: 3
Joined: 07 Mar 2015, 09:34
Has thanked: 0 time
Been thanked: 0 time

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 40 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 40 users online :: 0 registered, 0 hidden and 40 guests (based on users active over the past 10 minutes)
Most users ever online was 9824 on 10 Nov 2025, 04:33

Users browsing this forum: No registered users and 40 guests

Login Form