Page 118 of 487

Re: Bug Reports (snapshot builds)

PostPosted: 12 Apr 2013, 02:41
by friarsol
Max mtg wrote:To my mind all the scripts need to be reviewed to extract all that 'you may', 'unless' and all kinds of condition checks as separate keyworded subabilities.

That might affect AI... because AI will have to look ahead and estimate the subability of Confirm clause.
Please don't start doing this without starting a discussion about it first.

Re: Bug Reports (snapshot builds)

PostPosted: 12 Apr 2013, 03:29
by friarsol
Ok, I've temporarily removed SAs being removed till after resolution to resolve the Goblin Arsonist issue. I don't understand why the SAs aren't matching in this scenario. Is this optional trigger creating a new SA or something? The IDs were not matching when trying to find the exact SA from the stack.

This means that we won't be able to redirect a Counterspell onto the redirecting spell until this is resolved however.

Re: Bug Reports (snapshot builds)

PostPosted: 12 Apr 2013, 07:30
by Max mtg
friarsol wrote:Please don't start doing this without starting a discussion about it first.
Do not worry, as I read Sloth's answer I've decided to put my effors elsewhere.

The what might be good for scripting system is to change common svars into special keywords, (Picture, AiRemoveFromDecks) and make sure that Ai - related sVars and ability parameters start with "ai" string, ensure that there are no other svars with the same name listed on different sides of a card, and move sVars from CardCharacteristics into Card class itself.

Yet, the named task has low priority for me.


It's more important to keep all timestamped properties in tree-maps moving timestamp into a key. That will have entries automatically sorted and there will be less chance to get a comodification exception. It the tree map is ready for concurrent operations (should check java.util.concurrent for such a class) then the exceptions will be gone.

Re: Bug Reports (snapshot builds)

PostPosted: 12 Apr 2013, 08:58
by swordshine
I know what happened to the Fathom Mage's trigger issue.
The countertype put into the map is "+1/+1", and our script uses "P1P1".

Re: Bug Reports (snapshot builds)

PostPosted: 12 Apr 2013, 09:10
by Max mtg
then it's fixed in r20957

Re: Bug Reports (snapshot builds)

PostPosted: 12 Apr 2013, 13:01
by mark
Description: I played, tapped and sacrificed Lotus Petal. Then an exception is thrown and if I close the Crash-Report, I cannot do anything, the prompt says "Waiting for actions..."

NoSuchMethodError | Open
Code: Select all
Forge Version:    1.3.13-SNAPSHOT-r20962u
Operating System: Linux 3.9.0-rc6 amd64
Java Version:     1.7.0_17 Oracle Corporation

java.lang.NoSuchMethodError: forge.card.CardCharacteristics.getType()Ljava/util/ArrayList;
   at forge.card.cardfactory.CardFactory.copyCharacteristics(CardFactory.java:486)
   at forge.card.cardfactory.CardFactory.copyCard(CardFactory.java:89)
   at forge.game.GameAction.changeZone(GameAction.java:155)
   at forge.game.GameAction.moveTo(GameAction.java:361)
   at forge.game.GameAction.moveTo(GameAction.java:342)
   at forge.game.GameAction.moveToGraveyard(GameAction.java:468)
   at forge.game.GameAction.sacrificeDestroy(GameAction.java:1346)
   at forge.game.GameAction.sacrifice(GameAction.java:1168)
   at forge.card.cost.CostSacrifice.doPayment(CostSacrifice.java:178)
   at forge.card.cost.CostPartWithList.executePayment(CostPartWithList.java:97)
   at forge.card.cost.CostSacrifice.payHuman(CostSacrifice.java:146)
   at forge.card.cost.CostPayment.payCost(CostPayment.java:111)
   at forge.card.spellability.HumanPlaySpellAbility.fillRequirements(HumanPlaySpellAbility.java:98)
   at forge.game.player.HumanPlayer.playSpellAbility(HumanPlayer.java:142)
   at forge.control.input.InputPayManaBase$1.run(InputPayManaBase.java:301)
   at forge.FThreads$1.run(FThreads.java:113)
   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:722)

Re: Bug Reports (snapshot builds)

PostPosted: 12 Apr 2013, 13:07
by friarsol
mark wrote:Description: I played, tapped and sacrificed Lotus Petal. Then an exception is thrown and if I close the Crash-Report, I cannot do anything, the prompt says "Waiting for actions..."
I was getting that last night. I had to clean and rerun maven.

Re: Bug Reports (snapshot builds)

PostPosted: 14 Apr 2013, 15:33
by tengumai
Cry of Contrition
Generates a null pointer exception if the spell is cast when only hexproof creatures are targetable (for the haunt effect). Tested with 1 targetable hexproof creature on the playfield.

NullPointerException | Open
Code: Select all
Forge Version:    1.3.11-r20622
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_07 Oracle Corporation

java.lang.NullPointerException
   at forge.Card.canBeTargetedBy(Card.java:8777)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:862)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:737)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:114)
   at forge.gui.InputProxy.setInput(InputProxy.java:61)
   at forge.control.input.InputControl.setNewInput(InputControl.java:256)
   at forge.gui.InputProxy.update(InputProxy.java:48)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:742)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
   at forge.gui.InputProxy.selectButtonOK(InputProxy.java:70)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
   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$Actions.actionPerformed(Unknown Source)
   at javax.swing.SwingUtilities.notifyAction(Unknown Source)
   at javax.swing.JComponent.processKeyBinding(Unknown Source)
   at javax.swing.JComponent.processKeyBindings(Unknown Source)
   at javax.swing.JComponent.processKeyEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)

Re: Bug Reports (snapshot builds)

PostPosted: 14 Apr 2013, 15:43
by Sloth
tengumai wrote:Cry of Contrition
Generates a null pointer exception if the spell is cast when only hexproof creatures are targetable (for the haunt effect). Tested with 1 targetable hexproof creature on the playfield.
Your version is outdated. Please update here: viewtopic.php?f=26&t=10076

Re: Bug Reports (snapshot builds)

PostPosted: 14 Apr 2013, 17:22
by Shua
Crash Report:

Description: I blocked a 1/1 Red Token Goblin with Headless Skaab .
Lately whenever forge crashes it seems to involve Headless Skaab in Combat.

NullPointerException | Open
Code: Select all
Forge Version:    1.3.11-r20622
Operating System: Mac OS X 10.6.8 x86_64
Java Version:     1.6.0_43 Apple Inc.

java.lang.NullPointerException
   at java.util.TreeMap.getEntry(TreeMap.java:324)
   at java.util.TreeMap.containsKey(TreeMap.java:209)
   at java.util.TreeMap$KeySet.contains(TreeMap.java:1030)
   at forge.Card.hasProperty(Card.java:6868)
   at forge.Card.isValid(Card.java:6042)
   at forge.GameEntity.isValid(GameEntity.java:294)
   at forge.card.trigger.TriggerChangesZone.performTest(TriggerChangesZone.java:75)
   at forge.card.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:318)
   at forge.card.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:274)
   at forge.card.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:185)
   at forge.game.GameAction.checkStateEffects(GameAction.java:1075)
   at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:348)
   at forge.control.input.InputControl.getActualInput(InputControl.java:188)
   at forge.control.input.InputControl.setNewInput(InputControl.java:251)
   at forge.gui.InputProxy.update(InputProxy.java:48)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at java.util.Observable.notifyObservers(Observable.java:98)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:515)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:734)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputControl.setNewInput(InputControl.java:259)
   at forge.gui.InputProxy.update(InputProxy.java:48)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at java.util.Observable.notifyObservers(Observable.java:98)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:742)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputControl.setNewInput(InputControl.java:259)
   at forge.gui.InputProxy.update(InputProxy.java:48)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at java.util.Observable.notifyObservers(Observable.java:98)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:515)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:734)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
   at forge.gui.InputProxy.selectButtonOK(InputProxy.java:70)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:337)
   at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
   at java.awt.Component.processKeyEvent(Component.java:6340)
   at javax.swing.JComponent.processKeyEvent(JComponent.java:2809)
   at java.awt.Component.processEvent(Component.java:6159)
   at java.awt.Container.processEvent(Container.java:2083)
   at java.awt.Component.dispatchEventImpl(Component.java:4744)
   at java.awt.Container.dispatchEventImpl(Container.java:2141)
   at java.awt.Component.dispatchEvent(Component.java:4572)
   at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1856)
   at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:722)
   at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1000)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:865)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:686)
   at java.awt.Component.dispatchEventImpl(Component.java:4616)
   at java.awt.Container.dispatchEventImpl(Container.java:2141)
   at java.awt.Window.dispatchEventImpl(Window.java:2489)
   at java.awt.Component.dispatchEvent(Component.java:4572)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:710)
   at java.awt.EventQueue.access$400(EventQueue.java:82)
   at java.awt.EventQueue$2.run(EventQueue.java:669)
   at java.awt.EventQueue$2.run(EventQueue.java:667)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$3.run(EventQueue.java:683)
   at java.awt.EventQueue$3.run(EventQueue.java:681)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:680)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Thanks again for a wonderful game. Hope this is helpful.

Re: Bug Reports (snapshot builds)

PostPosted: 14 Apr 2013, 19:12
by Sloth
Shua wrote:Crash Report:

Description: I blocked a 1/1 Red Token Goblin with Headless Skaab .
Lately whenever forge crashes it seems to involve Headless Skaab in Combat.

NullPointerException | Open
Code: Select all
Forge Version:    1.3.11-r20622
Operating System: Mac OS X 10.6.8 x86_64
Java Version:     1.6.0_43 Apple Inc.

java.lang.NullPointerException
   at java.util.TreeMap.getEntry(TreeMap.java:324)
   at java.util.TreeMap.containsKey(TreeMap.java:209)
   at java.util.TreeMap$KeySet.contains(TreeMap.java:1030)
   at forge.Card.hasProperty(Card.java:6868)
   at forge.Card.isValid(Card.java:6042)
   at forge.GameEntity.isValid(GameEntity.java:294)
   at forge.card.trigger.TriggerChangesZone.performTest(TriggerChangesZone.java:75)
   at forge.card.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:318)
   at forge.card.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:274)
   at forge.card.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:185)
   at forge.game.GameAction.checkStateEffects(GameAction.java:1075)
   at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:348)
   at forge.control.input.InputControl.getActualInput(InputControl.java:188)
   at forge.control.input.InputControl.setNewInput(InputControl.java:251)
   at forge.gui.InputProxy.update(InputProxy.java:48)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at java.util.Observable.notifyObservers(Observable.java:98)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:515)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:734)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputControl.setNewInput(InputControl.java:259)
   at forge.gui.InputProxy.update(InputProxy.java:48)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at java.util.Observable.notifyObservers(Observable.java:98)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:742)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputControl.setNewInput(InputControl.java:259)
   at forge.gui.InputProxy.update(InputProxy.java:48)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at java.util.Observable.notifyObservers(Observable.java:98)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:515)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:734)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
   at forge.gui.InputProxy.selectButtonOK(InputProxy.java:70)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:337)
   at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
   at java.awt.Component.processKeyEvent(Component.java:6340)
   at javax.swing.JComponent.processKeyEvent(JComponent.java:2809)
   at java.awt.Component.processEvent(Component.java:6159)
   at java.awt.Container.processEvent(Container.java:2083)
   at java.awt.Component.dispatchEventImpl(Component.java:4744)
   at java.awt.Container.dispatchEventImpl(Container.java:2141)
   at java.awt.Component.dispatchEvent(Component.java:4572)
   at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1856)
   at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:722)
   at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1000)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:865)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:686)
   at java.awt.Component.dispatchEventImpl(Component.java:4616)
   at java.awt.Container.dispatchEventImpl(Container.java:2141)
   at java.awt.Window.dispatchEventImpl(Window.java:2489)
   at java.awt.Component.dispatchEvent(Component.java:4572)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:710)
   at java.awt.EventQueue.access$400(EventQueue.java:82)
   at java.awt.EventQueue$2.run(EventQueue.java:669)
   at java.awt.EventQueue$2.run(EventQueue.java:667)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$3.run(EventQueue.java:683)
   at java.awt.EventQueue$3.run(EventQueue.java:681)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:680)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Thanks again for a wonderful game. Hope this is helpful.
Your version is outdated. Please update here: viewtopic.php?f=26&t=10076

Re: Bug Reports (snapshot builds)

PostPosted: 14 Apr 2013, 21:03
by tengumai
Sloth wrote:
tengumai wrote:Cry of Contrition
Generates a null pointer exception if the spell is cast when only hexproof creatures are targetable (for the haunt effect). Tested with 1 targetable hexproof creature on the playfield.
Your version is outdated. Please update here: viewtopic.php?f=26&t=10076
Problem occurs on 1.3.12-r20962 as well.
NullPointerException | Open
Code: Select all
Forge Version:    1.3.12-r20962
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_07 Oracle Corporation

java.lang.NullPointerException
   at forge.Card.canBeTargetedBy(Card.java:7992)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:636)
   at forge.game.phase.PhaseHandler$1.run(PhaseHandler.java:741)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:749)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:77)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:821)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:74)
   at forge.FThreads$1.run(FThreads.java:113)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Perhaps it would make it easier to test if I provide a game state file:
Game State File | Open
AICardsInPlay=Silhana Ledgewalker
HumanCardsInPlay=Swamp; Swamp; Swamp
HumanCardsInHand=Cry of Contrition

Re: Bug Reports (snapshot builds)

PostPosted: 14 Apr 2013, 21:48
by Sloth
tengumai wrote:
Sloth wrote:
tengumai wrote:Cry of Contrition
Generates a null pointer exception if the spell is cast when only hexproof creatures are targetable (for the haunt effect). Tested with 1 targetable hexproof creature on the playfield.
Your version is outdated. Please update here: viewtopic.php?f=26&t=10076
Problem occurs on 1.3.12-r20962 as well.
NullPointerException | Open
Code: Select all
Forge Version:    1.3.12-r20962
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_07 Oracle Corporation

java.lang.NullPointerException
   at forge.Card.canBeTargetedBy(Card.java:7992)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:636)
   at forge.game.phase.PhaseHandler$1.run(PhaseHandler.java:741)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:749)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:77)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:821)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:74)
   at forge.FThreads$1.run(FThreads.java:113)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Perhaps it would make it easier to test if I provide a game state file:
Game State File | Open
AICardsInPlay=Silhana Ledgewalker
HumanCardsInPlay=Swamp; Swamp; Swamp
HumanCardsInHand=Cry of Contrition
Fixed! Thanks tengumai.

Re: Bug Reports (snapshot builds)

PostPosted: 14 Apr 2013, 22:00
by tengumai
Description: I just started a new game in a draft (new round in fact)

Human was dealt: 5x Forest, Might of the Nephilim, Verdant Eidolon
AI was dealt: Riot Spikes, Hellhole Rats, Cackling Flames, Mountain, Jagged Poppet, Swamp, Mountain

Before I was even asked if I wanted to mulligan, the following error appeared.

I'm sorry I don't know what caused this crash.

IllegalArgumentException | Open
Code: Select all
Forge Version:    1.3.12-r20962
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_07 Oracle Corporation

java.lang.IllegalArgumentException: illegal component position 2 should be less then 2
   at java.awt.Container.checkAdding(Unknown Source)
   at java.awt.Container.setComponentZOrder(Unknown Source)
   at forge.view.arcane.CardArea.doLayout(CardArea.java:205)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validateTree(Unknown Source)
   at java.awt.Container.validate(Unknown Source)
   at javax.swing.RepaintManager.validateInvalidComponents(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)

Re: Bug Reports (snapshot builds)

PostPosted: 15 Apr 2013, 00:06
by Sawteeth
Description: This seems to pop up whenever I win using a deck with dredge cards in it. I haven't tested it much but it pops up during the final win message and doesn't appear when I use a different deck with no dredge cards in it.

NullPointerException | Open
Code: Select all
Forge Version:    1.3.12-r20962
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_17 Oracle Corporation

java.lang.NullPointerException
   at forge.card.cardfactory.CardFactoryUtil.xCount(CardFactoryUtil.java:1382)
   at forge.card.ability.AbilityUtils.xCount(AbilityUtils.java:1230)
   at forge.card.ability.AbilityUtils.calculateAmount(AbilityUtils.java:350)
   at forge.card.staticability.StaticAbility.checkConditions(StaticAbility.java:559)
   at forge.card.staticability.StaticAbility.applyAbility(StaticAbility.java:239)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:886)
   at forge.card.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:184)
   at forge.game.zone.MagicStack.unfreezeStack(MagicStack.java:201)
   at forge.game.GameAction.checkStateEffects(GameAction.java:1078)
   at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:349)
   at forge.gui.InputProxy$1.run(InputProxy.java:66)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)