It is currently 27 Aug 2025, 16:52
   
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 Agetian » 25 Dec 2012, 04:33

1) In the latest nightly, got a crash as soon as I started a Draft (possibly related to the latest changes to the drafting code?.. :( ) Here's the crash log:

Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
   http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

null


Version:
Forge version 1.3.4-SNAPSHOT

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_09 Vendor: Oracle Corporation

Detailed error trace:
java.lang.UnsupportedOperationException
   at org.apache.commons.lang3.tuple.ImmutablePair.setValue(ImmutablePair.java:100)
   at forge.game.limited.BoosterDraftAI.choose(BoosterDraftAI.java:81)
   at forge.game.limited.BoosterDraft.computerChoose(BoosterDraft.java:307)
   at forge.game.limited.BoosterDraft.nextChoice(BoosterDraft.java:254)
   at forge.gui.deckeditor.controllers.CEditorDraftingProcess.init(CEditorDraftingProcess.java:269)
   at forge.gui.deckeditor.CDeckEditorUI.updateController(CDeckEditorUI.java:121)
   at forge.gui.deckeditor.CDeckEditorUI.setCurrentEditorController(CDeckEditorUI.java:85)
   at forge.gui.home.sanctioned.CSubmenuDraft.setupDraft(CSubmenuDraft.java:186)
   at forge.gui.home.sanctioned.CSubmenuDraft.access$2(CSubmenuDraft.java:156)
   at forge.gui.home.sanctioned.CSubmenuDraft$2.execute(CSubmenuDraft.java:60)
   at forge.gui.toolbox.ExperimentalLabel$1.mouseReleased(ExperimentalLabel.java:76)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$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)
--
2) I had a Kami of Fire's Roar out, and played an Arcane spell, after which I got an exception:
Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
   http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

null


Version:
Forge version 1.3.4-SNAPSHOT

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_09 Vendor: Oracle Corporation

Detailed error trace:
java.lang.NullPointerException
   at forge.card.abilityfactory.AbilityFactory.getAbility(AbilityFactory.java:131)
   at forge.card.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:494)
   at forge.card.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:349)
   at forge.card.trigger.TriggerHandler.runTrigger(TriggerHandler.java:273)
   at forge.game.zone.MagicStack.add(MagicStack.java:735)
   at forge.game.zone.MagicStack.addAndUnfreeze(MagicStack.java:216)
   at forge.card.spellability.SpellAbilityRequirements.addAbilityToStack(SpellAbilityRequirements.java:237)
   at forge.card.spellability.SpellAbilityRequirements.finishPaying(SpellAbilityRequirements.java:191)
   at forge.card.cost.CostPayment.payCost(CostPayment.java:226)
   at forge.card.cost.CostPayment.paidCost(CostPayment.java:189)
   at forge.control.input.InputPayManaCost2.done(InputPayManaCost2.java:82)
   at forge.control.input.InputPayManaCost2.selectCard(InputPayManaCost2.java:54)
   at forge.gui.match.nonsingleton.CField.cardclickAction(CField.java:474)
   at forge.gui.match.nonsingleton.CField.access$7(CField.java:418)
   at forge.gui.match.nonsingleton.CField$8.mousePressed(CField.java:101)
   at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$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)
--
3) Another exception occured when opponent played Nezumi Shortfang while my Heartbeat of Spring was out:

Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
   http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

null


Version:
Forge version 1.3.4-SNAPSHOT

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_09 Vendor: Oracle Corporation

Detailed error trace:
java.lang.NullPointerException
   at forge.card.mana.ManaPool.getMana(ManaPool.java:239)
   at forge.card.mana.ManaPool.payManaFromPool(ManaPool.java:420)
   at forge.game.player.ComputerUtil.payManaCost(ComputerUtil.java:614)
   at forge.game.player.ComputerUtil.canPayCost(ComputerUtil.java:523)
   at forge.game.player.ComputerUtil.canBePlayedAndPayedByAI(ComputerUtil.java:461)
   at forge.game.player.ComputerUtil.playSpellAbilities(ComputerUtil.java:115)
   at forge.game.player.ComputerAIGeneral.playSpellAbilitiesStackEmpty(ComputerAIGeneral.java:84)
   at forge.game.player.ComputerAIGeneral.main(ComputerAIGeneral.java:69)
   at forge.game.player.ComputerAIInput.think(ComputerAIInput.java:115)
   at forge.game.player.ComputerAIInput.showMessage(ComputerAIInput.java:78)
   at forge.gui.GuiInput.setInput(GuiInput.java:71)
   at forge.gui.GuiInput.update(GuiInput.java:54)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.zone.MagicStack.finishResolving(MagicStack.java:1061)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:913)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:768)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:74)
   at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:51)
   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)
- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 25 Dec 2012, 10:30

1 & 3 are about my recent changes - will take care
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 krevett » 25 Dec 2012, 15:57

I had this crash when AI cast Tempting Wurm and cascaded into Reborn Hope

| Open
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

null


Version:
Forge version 1.3.4-SNAPSHOT

OS: Windows Vista Version: 6.0 Architecture: x86

Java Version: 1.6.0_26 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.NullPointerException
at forge.game.player.ComputerUtil.canPayCost(ComputerUtil.java:508)
at forge.card.abilityfactory.SpellAiLogic.doTriggerAI(SpellAiLogic.java:22)
at forge.card.abilityfactory.CommonSpell.canPlayFromEffectAI(CommonSpell.java:61)
at forge.GameActionUtil$9$1.resolve(GameActionUtil.java:184)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:912)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:768)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:74)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:51)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$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)
krevett
 
Posts: 109
Joined: 21 Feb 2012, 22:24
Location: France
Has thanked: 18 times
Been thanked: 9 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 25 Dec 2012, 22:32

#1 is fixed
#3 is just mad fixed too.
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 Agetian » 27 Dec 2012, 06:30

It looks like Ethereal Haze is not triggering abilities that look for Arcane spells.

I also had a NPE on line 131 of AbilityFactory (in getAbility method), not sure what it was caused by. Sadly, it was before I updated to the absolutely latest version of the game, so not sure if it still applies.

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

Re: Bug Reports (snapshot builds)

Postby Agetian » 28 Dec 2012, 04:49

These are all related to the latest nightly:

1) Forge locks up at the conclusion of the Draft (right after it asks you to name the card pool). Not sure if it matters, but I was trying a SOK/BOK/CHK draft. I think the bug is generic though.

2) Here's a strange thing with my AI opponent not losing despite having an empty deck and not being able to draw. Not sure if this is a bug with Dredge, but he's not actually dredging anything to the top of the deck so I dunno. Here's a screenshot - this is already the 2nd turn he's cheated his way through his draw phase.
DrawPhaseBug.png


3) The AI was playing Coal Stoker, and after the creature came into play, I got an unrecoverable crash. Trace attached.
Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
   http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

null


Version:
Forge version 1.3.4-SNAPSHOT

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_09 Vendor: Oracle Corporation

Detailed error trace:
java.lang.NullPointerException
   at forge.card.mana.ManaPool.getMana(ManaPool.java:239)
   at forge.card.mana.ManaPool.payManaFromPool(ManaPool.java:420)
   at forge.game.player.ComputerUtil.payManaCost(ComputerUtil.java:614)
   at forge.game.player.ComputerUtil.canPayCost(ComputerUtil.java:523)
   at forge.game.player.ComputerUtil.canBePlayedAndPayedByAI(ComputerUtil.java:461)
   at forge.game.player.ComputerUtil.playSpellAbilities(ComputerUtil.java:115)
   at forge.game.player.ComputerAIGeneral.playSpellAbilitiesStackEmpty(ComputerAIGeneral.java:84)
   at forge.game.player.ComputerAIGeneral.main(ComputerAIGeneral.java:69)
   at forge.game.player.ComputerAIInput.think(ComputerAIInput.java:115)
   at forge.game.player.ComputerAIInput.showMessage(ComputerAIInput.java:78)
   at forge.gui.GuiInput.setInput(GuiInput.java:71)
   at forge.gui.GuiInput.update(GuiInput.java:54)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.zone.MagicStack.finishResolving(MagicStack.java:1061)
   at forge.card.abilityfactory.AbilityFactory.resolveSubAbilities(AbilityFactory.java:1757)
   at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:1733)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:909)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:778)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:74)
   at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:51)
   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)
4) When the AI plays Austere Command, it seems to do nothing at all...

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

Re: Bug Reports (snapshot builds)

Postby friarsol » 28 Dec 2012, 05:29

Agetian wrote:2) Here's a strange thing with my AI opponent not losing despite having an empty deck and not being able to draw. Not sure if this is a bug with Dredge, but he's not actually dredging anything to the top of the deck so I dunno. Here's a screenshot - this is already the 2nd turn he's cheated his way through his draw phase.
Are you sure dev mode isn't enabled?
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 Agetian » 29 Dec 2012, 02:22

friarsol wrote:
Agetian wrote:2) Here's a strange thing with my AI opponent not losing despite having an empty deck and not being able to draw. Not sure if this is a bug with Dredge, but he's not actually dredging anything to the top of the deck so I dunno. Here's a screenshot - this is already the 2nd turn he's cheated his way through his draw phase.
Are you sure dev mode isn't enabled?
Oh, you're right, that was it - didn't realize dev mode auto-disables loss via lack of cards in the deck, sorry. :)
Other reported bugs stand though.

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

Re: Bug Reports (snapshot builds)

Postby bbbbbbbbba » 29 Dec 2012, 05:29

Agetian wrote:4) When the AI plays Austere Command, it seems to do nothing at all...
Is there any artifact/enchantment on the board? Maybe the AI is trying to destroy nothing. Seems to me that it always selects the first mode for any modal spell.
bbbbbbbbba
 
Posts: 18
Joined: 25 Dec 2012, 13:54
Has thanked: 0 time
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby RumbleBBU » 29 Dec 2012, 18:01

I just tried to checkout the SVN and try to get up to speed with the current code.

Testing Sealed Deck, just plain 5th Edition with 8 boosters, I get this in the deck editor when I click on any card at all:
| Open
Code: Select all
java.lang.NullPointerException
   at forge.CardDamageHistory.<init>(CardDamageHistory.java:21)
   at forge.Card.<init>(Card.java:98)
   at forge.card.cardfactory.CardReader.readCard(CardReader.java:322)
   at forge.card.cardfactory.CardFactory.getCard2(CardFactory.java:255)
   at forge.card.cardfactory.CardFactory.getCard(CardFactory.java:230)
   at forge.item.CardPrinted.toForgeCard(CardPrinted.java:309)
   at forge.item.CardPrinted.toForgeCard(CardPrinted.java:299)
   at forge.gui.deckeditor.tables.EditorTableModel.showSelectedCard(EditorTableModel.java:192)
   at forge.gui.deckeditor.tables.EditorTableModel$2.focusGained(EditorTableModel.java:227)
   at java.awt.AWTEventMulticaster.focusGained(Unknown Source)
   at java.awt.Component.processFocusEvent(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.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.dispatchEvent(Unknown Source)
   at java.awt.SequencedEvent.dispatch(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.Dialog$1.run(Unknown Source)
   at java.awt.Dialog$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   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.ErrorViewer.showDialog(ErrorViewer.java:192)
   at forge.error.ErrorViewer.showError(ErrorViewer.java:117)
   at forge.error.ErrorViewer.showError(ErrorViewer.java:79)
   at forge.error.ExceptionHandler.handle(ExceptionHandler.java:62)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at java.awt.EventDispatchThread.handleException(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)
(Just why should the deck editor care about CardDamageHistory anyway?)
User avatar
RumbleBBU
 
Posts: 394
Joined: 18 Aug 2012, 04:24
Has thanked: 29 times
Been thanked: 66 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 29 Dec 2012, 20:53

RumbleBBU wrote:I just tried to checkout the SVN and try to get up to speed with the current code.

Testing Sealed Deck, just plain 5th Edition with 8 boosters, I get this in the deck editor when I click on any card at all:
| Open
Code: Select all
java.lang.NullPointerException
   at forge.CardDamageHistory.<init>(CardDamageHistory.java:21)
   at forge.Card.<init>(Card.java:98)
   at forge.card.cardfactory.CardReader.readCard(CardReader.java:322)
   at forge.card.cardfactory.CardFactory.getCard2(CardFactory.java:255)
   at forge.card.cardfactory.CardFactory.getCard(CardFactory.java:230)
   at forge.item.CardPrinted.toForgeCard(CardPrinted.java:309)
   at forge.item.CardPrinted.toForgeCard(CardPrinted.java:299)
   at forge.gui.deckeditor.tables.EditorTableModel.showSelectedCard(EditorTableModel.java:192)
   at forge.gui.deckeditor.tables.EditorTableModel$2.focusGained(EditorTableModel.java:227)
   at java.awt.AWTEventMulticaster.focusGained(Unknown Source)
   at java.awt.Component.processFocusEvent(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.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.dispatchEvent(Unknown Source)
   at java.awt.SequencedEvent.dispatch(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.Dialog$1.run(Unknown Source)
   at java.awt.Dialog$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   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.ErrorViewer.showDialog(ErrorViewer.java:192)
   at forge.error.ErrorViewer.showError(ErrorViewer.java:117)
   at forge.error.ErrorViewer.showError(ErrorViewer.java:79)
   at forge.error.ExceptionHandler.handle(ExceptionHandler.java:62)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at java.awt.EventDispatchThread.handleException(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)
(Just why should the deck editor care about CardDamageHistory anyway?)
I'm assuming it was caused by my commit to get The Fallen working. I had to make a change to CardDamageHistory but don't rememeber adding anything except making the card actually record which players it damaged in the game. I'm unfortunately only back on Monday, so will only be able to try fix it then. Otherwise if you're desperate, the commit was in the last two days so you can look at what I changed in that commit. Its possible I just left something in by mistake. Sorry for the inconvenience.

EDIT: Just checked and it was rev18867. Not sure why DamageHistory is being called from the deck editor, not something to do with my commit, but I know why its crashing once there. I tried to optimize the arraylist sizes by calling Singletons.getModel().getGame().getPlayers().size(). Obviously this won't work before a game starts so you might just want to change to a standard new ArrayList.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 30 Dec 2012, 05:43

1) Spreading Plague seems to be bugged: opponent cast a black creature, and in addition to the other black creatures dying, the plague was killed too (it wasn't animated or anything).

2) I played Ixidron, which turns all other nontoken creatures face-down. Later a bunch of the face-down creatures died in combat. One of my opponent's creatures (I don't remember which one now) had a leaves-the-battlefield triggered ability (when face up), and that ability triggered when the card died face-down. Face-down cards have no abilities other than ones that have been granted to them by other cards after they became face-down, and as such their face-up leaves-the-battlefield abilities should not trigger if they die face-down. Like I say, I don't remember the creature's name, but it was in the same block as Ixidron, and the leaves-the-battlefield effect was something like "destroy target nonblack creature."

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

Re: Bug Reports (snapshot builds)

Postby Agetian » 31 Dec 2012, 05:34

Oubliette sends the auras attached to the creature to graveyard, but it's supposed to exile them with the creature and then make them return from exile as well if Oubliette leaves play.

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

Re: Bug Reports (snapshot builds)

Postby swordshine » 31 Dec 2012, 06:47

Agetian wrote:Oubliette sends the auras attached to the creature to graveyard, but it's supposed to exile them with the creature and then make them return from exile as well if Oubliette leaves play.
Oubliette is insane, I don't know how the "return with the noted number and kind of counters on it" part worked. It seems there is no mechanism in Forge that can do it.
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 31 Dec 2012, 12:08

A Time Stop crashed for me when I cast it:

Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
   http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

null


Version:
Forge version 1.3.4-SNAPSHOT

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_09 Vendor: Oracle Corporation

Detailed error trace:
java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
   at java.util.ArrayList$Itr.next(Unknown Source)
   at java.util.Collections$UnmodifiableCollection$1.next(Unknown Source)
   at forge.card.abilityfactory.effects.EndTurnEffect.resolve(EndTurnEffect.java:29)
   at forge.card.abilityfactory.CommonSpell.resolve(CommonSpell.java:52)
   at forge.card.abilityfactory.AbilityFactory.passUnlessCost(AbilityFactory.java:1587)
   at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:1735)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:909)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:778)
   at forge.game.player.ComputerAIGeneral.playSpellAbilities(ComputerAIGeneral.java:376)
   at forge.game.player.ComputerAIInput.think(ComputerAIInput.java:102)
   at forge.game.player.ComputerAIInput.showMessage(ComputerAIInput.java:78)
   at forge.gui.GuiInput.setInput(GuiInput.java:71)
   at forge.gui.GuiInput.update(GuiInput.java:54)
   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.control.input.InputControl.resetInput(InputControl.java:136)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:783)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:74)
   at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:51)
   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)
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 58 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 58 users online :: 0 registered, 0 hidden and 58 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 58 guests

Login Form