It is currently 14 Nov 2025, 18:52
   
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 ZappaZ » 13 Oct 2014, 19:47

r27915

Neither Perilous Myr nor Tuktuk the Explorer's "when put into graveyard" effect works.

Edit
Mudbutton Torchrunner does not work either.
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby timmermac » 13 Oct 2014, 22:04

r27915: Attacking is completely broken in this build. I can't get through a game without getting the NPEs previously mentioned during combat. I am unable to continue after these errors.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby drdev » 13 Oct 2014, 22:41

timmermac wrote:r27915: Attacking is completely broken in this build. I can't get through a game without getting the NPEs previously mentioned during combat. I am unable to continue after these errors.
Can you please provide more information, such as the stack trace for the error you're seeing?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby timmermac » 13 Oct 2014, 22:47

I went back to the beta build, so I don't have the exact stack traces, but the first lines had something to do with Attack Bands on one and getnumAttackers on another one.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby drdev » 13 Oct 2014, 23:28

lujo wrote:Version: r27913

Description: Cancelled activation of Carrion Wurm

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.8.0_20 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.Card.get(Card.java:95)
   at forge.player.HumanPlay.payCostDuringAbilityResolve(HumanPlay.java:493)
   at forge.player.PlayerControllerHuman.payCostToPreventEffect(PlayerControllerHuman.java:1148)
   at forge.game.ability.AbilityUtils.handleUnlessCost(AbilityUtils.java:1304)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1228)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1207)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:127)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:195)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:231)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:407)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1225)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1207)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:466)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:937)
   at forge.game.GameAction.startGame(GameAction.java:1339)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:206)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Description: Same thing with Carrion Rats

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.8.0_20 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.Card.get(Card.java:95)
   at forge.player.HumanPlay.payCostDuringAbilityResolve(HumanPlay.java:493)
   at forge.player.PlayerControllerHuman.payCostToPreventEffect(PlayerControllerHuman.java:1148)
   at forge.game.ability.AbilityUtils.handleUnlessCost(AbilityUtils.java:1304)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1228)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1207)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:127)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:195)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:231)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:407)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1225)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1207)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:466)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:937)
   at forge.game.GameAction.startGame(GameAction.java:1339)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:206)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Fixed in r27917.
lujo wrote:Description: Activating madness from Strenght Of Lunacy.

ClassCastException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.8.0_20 Oracle Corporation

java.lang.ClassCastException: forge.util.FCollection cannot be cast to forge.game.card.CardCollection
   at forge.player.HumanCostDecision.visit(HumanCostDecision.java:173)
   at forge.player.HumanCostDecision.visit(HumanCostDecision.java:37)
   at forge.game.cost.CostDiscard.accept(CostDiscard.java:168)
   at forge.game.cost.CostPayment.payCost(CostPayment.java:137)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:99)
   at forge.player.HumanPlay.playSpellAbility(HumanPlay.java:95)
   at forge.player.PlayerControllerHuman.playChosenSpellAbility(PlayerControllerHuman.java:904)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:895)
   at forge.game.GameAction.startGame(GameAction.java:1339)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:206)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Fixed in r27918.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 13 Oct 2014, 23:55

r27918

I had Goblin Arsonist attacking, the AI blocked it with Pawn of Ulamog.
After both creatures dealt damage to each other, i wasn't offered the choice to target a creature to deal 1 damage after my Goblin Arsonist demise.

Probably related to the report from ZappaZ with graveyard effects not doing anything in r27915
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 13 Oct 2014, 23:56

r27918
When the AI cast Erase on my Suspension Field the creature being suspended didn't come back.

Earlier, I did get the same double NPE that Zappaz got below. I think I was chump blocking with a Morph against some big creature.
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 Fizanko » 13 Oct 2014, 23:59

r27918

On my first round, i do my final attack and after assigning all the damage



NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatView.getDefender(CombatView.java:63)
   at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:231)
   at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:147)
   at forge.screens.match.TargetingOverlay.access$100(TargetingOverlay.java:56)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:369)
   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.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.paint(Unknown Source)
   at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
   at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
   at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
   at java.awt.Container.paint(Unknown Source)
   at java.awt.Window.paint(Unknown Source)
   at forge.toolbox.FSkin$SkinnedFrame.paint(FSkin.java:1783)
   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$700(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$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
I click Continue and same error popup repeatedly.
At some point the error message seemed slightly different (still NPE) but i clicked Continue to quickly to notice.
All i could do is exit the game

edit : looking past page it looks the same error ZappaZ reported, except that instead of a double error, it's infinite.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 14 Oct 2014, 00:07

r27918

I managed to reproduce, this time the 2nd different NPE didn't go too fast :

I attack with 2 creatures, 1 is blocked by the AI :

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatView.getDefender(CombatView.java:63)
   at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:231)
   at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:147)
   at forge.screens.match.TargetingOverlay.access$100(TargetingOverlay.java:56)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:369)
   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.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.paint(Unknown Source)
   at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
   at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
   at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
   at java.awt.Container.paint(Unknown Source)
   at java.awt.Window.paint(Unknown Source)
   at forge.toolbox.FSkin$SkinnedFrame.paint(FSkin.java:1783)
   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$700(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$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
I click Continue, it lead to

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatView.addAttackingBand(CombatView.java:145)
   at forge.game.GameView.updateCombat(GameView.java:137)
   at forge.game.Game.updateCombatForView(Game.java:236)
   at forge.game.card.Card.updateBlockingForView(Card.java:444)
   at forge.game.combat.Combat.removeFromCombat(Combat.java:443)
   at forge.game.GameAction.changeZone(GameAction.java:199)
   at forge.game.GameAction.moveTo(GameAction.java:379)
   at forge.game.GameAction.moveTo(GameAction.java:360)
   at forge.game.GameAction.moveToGraveyard(GameAction.java:458)
   at forge.game.GameAction.sacrificeDestroy(GameAction.java:1226)
   at forge.game.GameAction.destroyNoRegeneration(GameAction.java:1174)
   at forge.game.GameAction.destroy(GameAction.java:1134)
   at forge.game.GameAction.checkStateEffects(GameAction.java:728)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:871)
   at forge.game.GameAction.startGame(GameAction.java:1343)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:211)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
then Continue again lead to :

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatView.getDefender(CombatView.java:63)
   at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:231)
   at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:147)
   at forge.screens.match.TargetingOverlay.access$100(TargetingOverlay.java:56)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:369)
   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.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$700(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$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.WaitDispatchSupport$2.run(Unknown Source)
   at java.awt.WaitDispatchSupport$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.awt.WaitDispatchSupport.enter(Unknown Source)
   at java.awt.Dialog.show(Unknown Source)
   at java.awt.Component.show(Unknown Source)
   at java.awt.Component.setVisible(Unknown Source)
   at java.awt.Window.setVisible(Unknown Source)
   at java.awt.Dialog.setVisible(Unknown Source)
   at forge.error.BugReportDialog.show(BugReportDialog.java:78)
   at forge.GuiDesktop.showBugReportDialog(GuiDesktop.java:246)
   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(Unknown Source)
   at java.lang.ThreadGroup.uncaughtException(Unknown Source)
   at java.awt.EventDispatchThread.processException(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)
this one will repeat infinitely after each further press of Continue
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby timmermac » 14 Oct 2014, 00:15

In 27915, this is similar to what I was getting.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby drdev » 14 Oct 2014, 00:34

timmermac wrote:In 27915, this is similar to what I was getting.
What is?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby drdev » 14 Oct 2014, 00:35

Fizanko wrote:r27918

I managed to reproduce, this time the 2nd different NPE didn't go too fast :

I attack with 2 creatures, 1 is blocked by the AI :

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatView.getDefender(CombatView.java:63)
   at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:231)
   at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:147)
   at forge.screens.match.TargetingOverlay.access$100(TargetingOverlay.java:56)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:369)
   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.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.paint(Unknown Source)
   at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
   at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
   at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
   at java.awt.Container.paint(Unknown Source)
   at java.awt.Window.paint(Unknown Source)
   at forge.toolbox.FSkin$SkinnedFrame.paint(FSkin.java:1783)
   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$700(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$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
I click Continue, it lead to

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatView.addAttackingBand(CombatView.java:145)
   at forge.game.GameView.updateCombat(GameView.java:137)
   at forge.game.Game.updateCombatForView(Game.java:236)
   at forge.game.card.Card.updateBlockingForView(Card.java:444)
   at forge.game.combat.Combat.removeFromCombat(Combat.java:443)
   at forge.game.GameAction.changeZone(GameAction.java:199)
   at forge.game.GameAction.moveTo(GameAction.java:379)
   at forge.game.GameAction.moveTo(GameAction.java:360)
   at forge.game.GameAction.moveToGraveyard(GameAction.java:458)
   at forge.game.GameAction.sacrificeDestroy(GameAction.java:1226)
   at forge.game.GameAction.destroyNoRegeneration(GameAction.java:1174)
   at forge.game.GameAction.destroy(GameAction.java:1134)
   at forge.game.GameAction.checkStateEffects(GameAction.java:728)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:871)
   at forge.game.GameAction.startGame(GameAction.java:1343)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:211)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
then Continue again lead to :

NullPointerException | Open
Code: Select all
Forge Version:    1.5.29-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatView.getDefender(CombatView.java:63)
   at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:231)
   at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:147)
   at forge.screens.match.TargetingOverlay.access$100(TargetingOverlay.java:56)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:369)
   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.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$700(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$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.WaitDispatchSupport$2.run(Unknown Source)
   at java.awt.WaitDispatchSupport$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.awt.WaitDispatchSupport.enter(Unknown Source)
   at java.awt.Dialog.show(Unknown Source)
   at java.awt.Component.show(Unknown Source)
   at java.awt.Component.setVisible(Unknown Source)
   at java.awt.Window.setVisible(Unknown Source)
   at java.awt.Dialog.setVisible(Unknown Source)
   at forge.error.BugReportDialog.show(BugReportDialog.java:78)
   at forge.GuiDesktop.showBugReportDialog(GuiDesktop.java:246)
   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(Unknown Source)
   at java.lang.ThreadGroup.uncaughtException(Unknown Source)
   at java.awt.EventDispatchThread.processException(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)
this one will repeat infinitely after each further press of Continue
I'm having trouble reproducing this. Could you tell me the exact creatures involved?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 14 Oct 2014, 00:52

I've seen this a few times now, and I think it's related to killing a Morph creature.

Specifically AI had three creatures, a 2/1 a 3/2 and a 2/2 Morph (Glacial Stalker), I cast Death Frenzy killing all three, but this pops up behind the "reveal what Morph was" as it's going to the graveyard. The Death Frenzy triggered three times, but the battlefield isn't redrawn, so the three creatures are still on the BF.

NPE | Open
EDT > java.lang.NullPointerException
at forge.screens.match.CMatchUI.updateSingleCard(CMatchUI.java:320)
at forge.match.MatchUtil.updateCards(MatchUtil.java:325)
at forge.control.FControlGameEventHandler$1.run(FControlGameEventHandler.java:126)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
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)
Warning: GameObject passed to GUI! Printing stack trace.
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1364)
at forge.GuiDesktop.order(GuiDesktop.java:182)
at forge.util.gui.SGuiChoose.order(SGuiChoose.java:229)
at forge.util.gui.SGuiChoose.order(SGuiChoose.java:205)
at forge.player.PlayerControllerHuman.orderAndPlaySimultaneousSa(PlayerControllerHuman.java:1155)
at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntry(MagicStack.java:725)
at forge.game.zone.MagicStack.addAllTriggeredAbilitiesToStack(MagicStack.java:691)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:875)
at forge.game.GameAction.startGame(GameAction.java:1343)
at forge.game.Match.startGame(Match.java:71)
at forge.match.MatchUtil$2.run(MatchUtil.java:211)
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)


I'll try to get an exact repro for the combat crash.
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 drdev » 14 Oct 2014, 00:56

I just committed r27919, which I believe should finally resolve all the crashes people were seeing with updateSingleCard.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 14 Oct 2014, 00:58

drdev wrote:I'm having trouble reproducing this. Could you tell me the exact creatures involved?
Sorry i don't remember for this specific case, but i reproduced it multiple times regardless of which specific card is attacking or which specific card the AI is using to block (i'm playing a Zendikar quest).

So here's a situation in which i reproduced again the infinite NPE error vs Miffy easy AI on Zendikar world :
My creatures are ready for the final attack (the Hound pet has Eldrazi Conscription on it ) :
Image
Something that may or may not be a part of the problem is that to select manually the pet with the Eldrazi Conscription i need to click near the 11/11 , all the other part of the card isn't selectable, it will select Eldrazi Conscription instead (despite the card is supposed to be behing the Hound pet card)

Anways, i attack :
Image

AI block
Image

I assign damage (the pet has trample thanks to Eldrazi Conscription )
Image

Once i'm finished to assign damage and click OK, the NPE infinite errors will happen

Here's the deck i'm currently using :
current | Open
[metadata]
Name=Otherworldly
[main]
1 Brimstone Mage|ROE
1 Brood Birthing|ROE
2 Broodwarden|ROE
1 Dreamstone Hedron|ROE
1 Eldrazi Conscription|ROE
2 Emrakul's Hatcher|ROE
1 Emrakul, the Aeons Torn|ROE
3 Forest|ROE|1
8 Forest|ROE|2
2 Goblin Arsonist|ROE
1 Goblin Bushwhacker|ZEN
2 Greenweaver Druid|ZEN
2 Joraga Treespeaker|ROE
1 Joraga Warcaller|WWK
1 Kazandu Tuskcaller|ROE
1 Khalni Heart Expedition+|ZEN
2 Khalni Heart Expedition|ZEN
3 Kozilek's Predator|ROE
4 Mountain|ROE|1
4 Mountain|ROE|2
3 Mountain|ROE|4
4 Nest Invader|ROE
1 Oracle of Mul Daya|ZEN
1 Quest for Pure Flame|ZEN
4 Raid Bombardment|ROE
2 Turntimber Grove|ZEN
1 Ulamog, the Infinite Gyre|ROE
1 Zektar Shrine Expedition|ZEN
[sideboard]

And it happened vs most of the "easy" AI of Zendikar.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 43 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 43 users online :: 0 registered, 0 hidden and 43 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 43 guests

Login Form