It is currently 24 May 2025, 01:42
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

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

Re: Bug Reports (snapshot builds)

Postby friarsol » 12 Apr 2013, 02:41

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.
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 friarsol » 12 Apr 2013, 03:29

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.
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 Max mtg » 12 Apr 2013, 07:30

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.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Bug Reports (snapshot builds)

Postby swordshine » 12 Apr 2013, 08:58

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".
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 12 Apr 2013, 09:10

then it's fixed in r20957
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Bug Reports (snapshot builds)

Postby mark » 12 Apr 2013, 13:01

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)
mark
 
Posts: 138
Joined: 28 Dec 2011, 11:32
Has thanked: 6 times
Been thanked: 11 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 12 Apr 2013, 13:07

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.
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 tengumai » 14 Apr 2013, 15:33

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)
tengumai
 
Posts: 12
Joined: 27 Aug 2011, 18:16
Has thanked: 1 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Sloth » 14 Apr 2013, 15:43

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
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby Shua » 14 Apr 2013, 17:22

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.
Shua
 
Posts: 2
Joined: 14 Apr 2013, 05:13
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Sloth » 14 Apr 2013, 19:12

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
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby tengumai » 14 Apr 2013, 21:03

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
tengumai
 
Posts: 12
Joined: 27 Aug 2011, 18:16
Has thanked: 1 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Sloth » 14 Apr 2013, 21:48

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.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby tengumai » 14 Apr 2013, 22:00

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)
tengumai
 
Posts: 12
Joined: 27 Aug 2011, 18:16
Has thanked: 1 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Sawteeth » 15 Apr 2013, 00:06

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)
Sawteeth
 
Posts: 13
Joined: 14 Apr 2013, 23:20
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 7 guests


Who is online

In total there are 7 users online :: 0 registered, 0 hidden and 7 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 7 guests

Login Form