It is currently 25 Aug 2025, 23:32
   
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 timmermac » 06 Jan 2013, 17:05

Agetian wrote:I picked a card for Distress and the AI didn't discard it for some reason.

- Agetian
Possible stupid question here: Did you pick the card in the first or second popup?
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 07 Jan 2013, 05:37

@ timmermac: Hmm there was only one popup as far as I remember...

Also, a couple new bugs:
1. I had just casted a Goryo's Vengeance with an Overblaze spliced onto it, and when it resolved I got this crash:
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.

ReplacementFactory : registerTrigger -- trigParse too short


Version:
Forge version 1.3.4-r18926

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_09 Vendor: Oracle Corporation

Detailed error trace:
java.lang.RuntimeException: ReplacementFactory : registerTrigger -- trigParse too short
   at forge.card.replacement.ReplacementHandler.parseParams(ReplacementHandler.java:312)
   at forge.card.replacement.ReplacementHandler.parseReplacement(ReplacementHandler.java:256)
   at forge.card.abilityfactory.effects.EffectEffect.resolve(EffectEffect.java:153)
   at forge.card.abilityfactory.CommonDrawback.resolve(CommonDrawback.java:72)
   at forge.card.abilityfactory.AbilityFactory.passUnlessCost(AbilityFactory.java:1589)
   at forge.card.abilityfactory.AbilityFactory.resolveSubAbilities(AbilityFactory.java:1765)
   at forge.card.abilityfactory.AbilityFactory.passUnlessCost(AbilityFactory.java:1590)
   at forge.card.abilityfactory.AbilityFactory.resolveSubAbilities(AbilityFactory.java:1765)
   at forge.card.abilityfactory.AbilityFactory.passUnlessCost(AbilityFactory.java:1590)
   at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:1737)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:880)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:778)
   at forge.game.player.ComputerAIGeneral.playSpellAbilities(ComputerAIGeneral.java:376)
   at forge.control.input.InputControl.getActualInput(InputControl.java:252)
   at forge.gui.GuiInput.update(GuiInput.java:50)
   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)
2. Also, I get this NPE when deleting a deck:
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-r18926

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.deck.io.DeckGroupSerializer.erase(DeckGroupSerializer.java:101)
   at forge.deck.io.DeckGroupSerializer.erase(DeckGroupSerializer.java:1)
   at forge.util.StorageImmediatelySerialized.delete(StorageImmediatelySerialized.java:64)
   at forge.gui.toolbox.DeckLister.deleteDeck(DeckLister.java:471)
   at forge.gui.toolbox.DeckLister.access$4(DeckLister.java:458)
   at forge.gui.toolbox.DeckLister$DeleteButton$1.mouseClicked(DeckLister.java:217)
   at java.awt.AWTEventMulticaster.mouseClicked(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)
- 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 timmermac » 07 Jan 2013, 18:37

Agetian wrote:@ timmermac: Hmm there was only one popup as far as I remember...

- Agetian
Distress has two popups. The first one just shows the opponent's hand. The second one is where you pick which card gets discarded.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 07 Jan 2013, 19:02

timmermac wrote:
Agetian wrote:@ timmermac: Hmm there was only one popup as far as I remember...

- Agetian
Distress has two popups. The first one just shows the opponent's hand. The second one is where you pick which card gets discarded.
Hmm maybe I misclicked then and skipped the second popup by accidentally hitting the confirmation button too fast?...

- 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 » 07 Jan 2013, 19:14

Agetian wrote:Hmm maybe I misclicked then and skipped the second popup by accidentally hitting the confirmation button too fast?...
I can't remember if this is the case, but it may not show up if all of the cards are lands too (no possible choices to discard).
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 timmermac » 07 Jan 2013, 20:45

friarsol wrote:
Agetian wrote:Hmm maybe I misclicked then and skipped the second popup by accidentally hitting the confirmation button too fast?...
I can't remember if this is the case, but it may not show up if all of the cards are lands too (no possible choices to discard).
That's a distinct possibility, as the second popup only shows valid targets.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 08 Jan 2013, 04:47

Can someone check if the AI can no longer unmorph Morph creatures? It looks like the AI can pay the mana for it, but the Morph isn't ever flipped. Not sure how long this might have been in, but I might have seen it last week and just didn't realize what was going on.
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 » 09 Jan 2013, 13:01

Forgot to post this before, it comes from a bit earlier SVN revision, so not sure if it's still an issue: Opponent played Ardent Plea, a card with Cascade. I had no creatures in play. He revealed Island, Island, Unsummon - then Forge crashed:

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-r18926

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.game.phase.PhaseHandler.isPlayerTurn(PhaseHandler.java:98)
   at forge.card.abilityfactory.ai.ChangeZoneAi.isPreferredTarget(ChangeZoneAi.java:805)
   at forge.card.abilityfactory.ai.ChangeZoneAi.knownOriginTriggerAI(ChangeZoneAi.java:1044)
   at forge.card.abilityfactory.ai.ChangeZoneAi.doTriggerAINoCost(ChangeZoneAi.java:131)
   at forge.card.abilityfactory.SpellAiLogic.doTriggerNoCostWithSubs(SpellAiLogic.java:31)
   at forge.card.abilityfactory.CommonSpell.canPlayFromEffectAI(CommonSpell.java:59)
   at forge.GameActionUtil$9$1.resolve(GameActionUtil.java:184)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:883)
   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)
- 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 ArsenalNut » 09 Jan 2013, 16:15

Sloth
The change you made to the Card class in r18999 has made it so that the AI cannot use any mana source. Every time the AI looks for mana sources using forge.game.player.ComputerUtil.getAvailableMana(Player, boolean), the list is empty after the first filter. If I revert to the previous version of the Card class, the list is not empty after the first filter.

Edit: I checked in a fix so that the AI can use mana sources again. What card prompted the original change?
Last edited by ArsenalNut on 10 Jan 2013, 03:26, edited 1 time in total.
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 10 Jan 2013, 01:18

Reposting from the issue tracker for a bit more visibility Mana spells (http://cardforge.org/bugz/view.php?id=648) as a primary ability resolve immediately instead of hitting the stack.
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 ArsenalNut » 10 Jan 2013, 03:52

friarsol wrote:Reposting from the issue tracker for a bit more visibility Mana spells (http://cardforge.org/bugz/view.php?id=648) as a primary ability resolve immediately instead of hitting the stack.
Fixed. isManaAbility wasn't checking for spells.
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: Bug Reports (snapshot builds)

Postby Sloth » 10 Jan 2013, 08:17

ArsenalNut wrote:Sloth
The change you made to the Card class in r18999 has made it so that the AI cannot use any mana source. Every time the AI looks for mana sources using forge.game.player.ComputerUtil.getAvailableMana(Player, boolean), the list is empty after the first filter. If I revert to the previous version of the Card class, the list is not empty after the first filter.

Edit: I checked in a fix so that the AI can use mana sources again. What card prompted the original change?
The change was to fix Spectral Searchlight. Thanks for fixing my fix.
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 Sloth » 10 Jan 2013, 09:11

friarsol wrote:Can someone check if the AI can no longer unmorph Morph creatures? It looks like the AI can pay the mana for it, but the Morph isn't ever flipped. Not sure how long this might have been in, but I might have seen it last week and just didn't realize what was going on.
I can confirm this. The AI pays but nothing happens, i played Control Magic on the morph and paid for the unmorph, but nothing happens. When i play the Morph myself unmorphing works. :?:
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 Agetian » 11 Jan 2013, 19:41

Just got a game-stopping bug--no crash happened or anything, but I had 8 cards in my hand at the end of my turn, so it told me to discard, but clicking on my cards didn't do anything. Thus I can't discard, thus I can't continue. Here's a screenshot:

discardbug.png


Not sure what's up, it used to always be fine... :\\

- 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 » 11 Jan 2013, 20:19

Agetian wrote:Just got a game-stopping bug--no crash happened or anything, but I had 8 cards in my hand at the end of my turn, so it told me to discard, but clicking on my cards didn't do anything. Thus I can't discard, thus I can't continue. Here's a screenshot:

discardbug.png


Not sure what's up, it used to always be fine... :\\

- Agetian
I just tested this and it worked fine for me. Any other specifics about what was going on?
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 28 guests

Main Menu

User Menu

Our Partners


Who is online

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

Login Form