Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Bog Wraith » 02 Jul 2015, 14:26
Description: 2 Goblin Rabblemaster had been cast by AI, their 2 tokens generate & join 2 other attacking creatures when crash occurred.
The board attachment quota has been reached for this site so I could not post the screenshot.
It is available from here if you want to view it:
http://www.mediafire.com/view/q0ienysmt ... Tokens.jpg
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.41-SNAPSHOT-r-1u
Operating System: Mac OS X 10.10.4 x86_64
Java Version: 1.7.0_75 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:922)
at java.util.HashMap$EntryIterator.next(HashMap.java:962)
at java.util.HashMap$EntryIterator.next(HashMap.java:960)
at java.util.AbstractCollection.finishToArray(AbstractCollection.java:230)
at java.util.AbstractCollection.toArray(AbstractCollection.java:143)
at java.util.ArrayList.<init>(ArrayList.java:164)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.combat.CombatView.getAttackersOf(CombatView.java:139)
at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:276)
at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:160)
at forge.screens.match.TargetingOverlay.access$700(TargetingOverlay.java:57)
at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:389)
at javax.swing.JComponent.paint(JComponent.java:1055)
at javax.swing.JComponent.paintChildren(JComponent.java:888)
at javax.swing.JComponent.paint(JComponent.java:1064)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
at javax.swing.JComponent.paintChildren(JComponent.java:888)
at javax.swing.JComponent.paint(JComponent.java:1064)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
at javax.swing.JComponent.paintChildren(JComponent.java:888)
at javax.swing.JComponent.paint(JComponent.java:1064)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5232)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
at javax.swing.JComponent._paintImmediately(JComponent.java:5180)
at javax.swing.JComponent.paintImmediately(JComponent.java:4991)
at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:699)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
The board attachment quota has been reached for this site so I could not post the screenshot.
It is available from here if you want to view it:
http://www.mediafire.com/view/q0ienysmt ... Tokens.jpg
'Twas in the bogs of Cannelbrae
My mate did meet an early grave
'Twas nothing left for us to save
In the peat-filled bogs of Cannelbrae.
My mate did meet an early grave
'Twas nothing left for us to save
In the peat-filled bogs of Cannelbrae.
-

Bog Wraith - Global Mod 1 (Ret)
- Posts: 1108
- Joined: 28 May 2008, 22:40
- Location: Shandalar
- Has thanked: 425 times
- Been thanked: 153 times
Re: Bug Reports (snapshot builds)
by Kulnaro » 04 Jul 2015, 03:32
Hello, I'm new to forge but might be interested in getting involved. I figured trying to fix a couple bugs is the best way to start learning the code base.
In the latest snapshot, spells rebound even if they have no legal targets when they resolve (fizzle). A simple patch to fix it is attached.
In the latest snapshot, spells rebound even if they have no legal targets when they resolve (fizzle). A simple patch to fix it is attached.
- Attachments
-
0001-Stop-rebound-if-spell-fizzles.txt- Stop rebound if spell fizzles
- (1.03 KiB) Downloaded 252 times
Re: Bug Reports (snapshot builds)
by rikimbo » 07 Jul 2015, 17:50
As of r29724, the button for downloading card prices links to:
- Code: Select all
URL_PRICE_DOWNLOAD = "http://www.cardforge.link/MagicInfo/pricegen.php"
-

rikimbo - Posts: 52
- Joined: 25 Mar 2014, 14:15
- Location: Winnipeg
- Has thanked: 10 times
- Been thanked: 7 times
Re: Bug Reports (snapshot builds)
by mastroego » 07 Jul 2015, 19:44
An additional bug-fixer, give this man coding privileges alreadyKulnaro wrote:Hello, I'm new to forge but might be interested in getting involved. I figured trying to fix a couple bugs is the best way to start learning the code base.
In the latest snapshot, spells rebound even if they have no legal targets when they resolve (fizzle). A simple patch to fix it is attached.
Re: Bug Reports (snapshot builds)
by KrazyTheFox » 09 Jul 2015, 23:02
I've been working on a solution for this and should have it up soon. I was never able to get the old script off the server and so that script needs to be rewritten.rikimbo wrote:As of r29724, the button for downloading card prices links to:The download did not work for me (it skipped the file). Is the pricegen.php script being hosted there yet? Is it working for others?
- Code: Select all
URL_PRICE_DOWNLOAD = "http://www.cardforge.link/MagicInfo/pricegen.php"
-

KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by sharkus » 10 Jul 2015, 03:51
r29744
Kytheon's Tactics throws an error any time it gets displayed.
Kytheon's Tactics throws an error any time it gets displayed.
- Code: Select all
java.lang.RuntimeException: AbilityFactory : getAbility -- no Cost in Kytheon's Tactics
at forge.game.ability.AbilityFactory.parseAbilityCost(AbilityFactory.java:121)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:112)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:108)
at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:335)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:182)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:112)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:108)
at forge.game.card.CardFactoryUtil.addAbilityFactoryAbilities(CardFactoryUtil.java:2070)
at forge.game.card.CardFactory.buildAbilities(CardFactory.java:284)
at forge.game.card.CardFactory.getCard(CardFactory.java:230)
...
Re: Bug Reports (snapshot builds)
by martelius » 10 Jul 2015, 14:19
The game keeps crashing whenever I try to start the finals of a ZEN/ZEN/WWK tournament draft in the quest mode. The previous matches were ok. I've tried to restart the game, but it doesn't help. The error report is in the attachment.
- Attachments
-
2015-07-10-00.txt- (3.07 KiB) Downloaded 235 times
- martelius
- Posts: 1
- Joined: 10 Jul 2015, 14:16
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Deadpool » 10 Jul 2015, 17:16
Description: [During Magic: Origins Sealed, Opp cast Mighty Leap on his Relic Seeker (equipped by Sigil of Valor). He attacked into my board of Topan Freeblade, then ERROR.]
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.41-SNAPSHOT-r-1u
Operating System: Windows 8.1 6.3 x86
Java Version: 1.8.0_45 Oracle Corporation
java.lang.RuntimeException: AbilityFactory : getAbility -- no Cost in Sigil of Valor
at forge.game.ability.AbilityFactory.parseAbilityCost(AbilityFactory.java:121)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:112)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:108)
at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:465)
at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:345)
at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:318)
at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:282)
at forge.game.zone.MagicStack.unfreezeStack(MagicStack.java:164)
at forge.game.phase.PhaseHandler.onPhaseBegin(PhaseHandler.java:270)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:969)
at forge.game.GameAction.startGame(GameAction.java:1447)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:226)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Re: Bug Reports (snapshot builds)
by friarsol » 10 Jul 2015, 19:07
Hangarback Walker crashed after the AI cast and resolved it, I'm marking it RemAI for now, not sure if it's a resolvable issue:
Game-0 > java.lang.NullPointerException
at forge.game.mana.ManaCostAdjustment.adjust(ManaCostAdjustment.java:33)
at forge.ai.ComputerUtilMana.calculateManaCost(ComputerUtilMana.java:905)
at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:83)
at forge.ai.ComputerUtilMana.canPayManaCost(ComputerUtilMana.java:59)
at forge.ai.ComputerUtilMana.determineLeftoverMana(ComputerUtilMana.java:1164)
at forge.ai.ability.CountersPutAi.doTriggerAINoCost(CountersPutAi.java:479)
at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:43)
at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:38)
at forge.ai.AiController.doTrigger(AiController.java:1236)
at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:310)
at forge.game.replacement.ReplacementHandler.executeReplacement(ReplacementHandler.java:235)
at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:134)
at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:71)
at forge.game.GameAction.changeZone(GameAction.java:216)
at forge.game.GameAction.moveTo(GameAction.java:438)
at forge.game.GameAction.moveTo(GameAction.java:419)
at forge.game.GameAction.moveToPlay(GameAction.java:527)
at forge.game.GameAction.moveTo(GameAction.java:577)
at forge.game.GameAction.moveTo(GameAction.java:569)
at forge.game.spellability.SpellPermanent.resolve(SpellPermanent.java:72)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:491)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
at forge.game.GameAction.startGame(GameAction.java:1447)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:226)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Kulnaro » 10 Jul 2015, 21:51
In latest snapshot, Avalanche Tusker (and I assume other provokers) don't work right if the attacker is unable to be blocked (removed from combat or given protection etc.)
Specifically, Avalanche Tusker and Creature A attack defending player who controls Creature B and C. Avalanche Tusker's triggered ability targets creature B and in response Avalanche Tusker is Unsummoned. During the declare blockers step creature B cannot be declared to block creature a. If creature c blocks creature a, there is a validation message saying creature b must still block creature a.
Attached is a patch that should fix this issue.
Specifically, Avalanche Tusker and Creature A attack defending player who controls Creature B and C. Avalanche Tusker's triggered ability targets creature B and in response Avalanche Tusker is Unsummoned. During the declare blockers step creature B cannot be declared to block creature a. If creature c blocks creature a, there is a validation message saying creature b must still block creature a.
Attached is a patch that should fix this issue.
- Attachments
-
0001-Fix-handling-of-provoke-when-provoker-is-removed-fro.txt- (3.96 KiB) Downloaded 258 times
Re: Bug Reports (snapshot builds)
by Rob Cashwalker » 11 Jul 2015, 15:15
I offered to continue maintaining it, but I'll PM you the script and DB.KrazyTheFox wrote:I've been working on a solution for this and should have it up soon. I was never able to get the old script off the server and so that script needs to be rewritten.
The Force will be with you, Always.
-

Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Re: Bug Reports (snapshot builds)
by Kulnaro » 11 Jul 2015, 23:12
On latest snapshot, the game crashes if Thopter Spy Network's second ability triggers. Seems to be the same problem as was fixed recently for Kytheon's Tactics.
A patch to fix it is attached.
A patch to fix it is attached.
- Attachments
-
0001-Fix-Thopter-Spy-Network.txt- (1.45 KiB) Downloaded 217 times
Re: Bug Reports (snapshot builds)
by friarsol » 11 Jul 2015, 23:24
Thanks for the patches Kulnaro. I just approved your request to join, so you should be able to commit to the svn now. I didn't commit your one about attacking, because I wasn't sure if there really should be a distinction between "isAttacking" and "isStillAttacking". As far as I'm concerned, isAttacking should only be things that are actually attacking.Kulnaro wrote:On latest snapshot, the game crashes if Thopter Spy Network's second ability triggers. Seems to be the same problem as was fixed recently for Kytheon's Tactics.
A patch to fix it is attached.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by friarsol » 12 Jul 2015, 02:31
r29769
Infernal Scarring triggers 3 times when the enchanted creature dies!
Infernal Scarring triggers 3 times when the enchanted creature dies!
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Twainer » 13 Jul 2015, 03:47
r29769
Necromantic Summons - AI cast this on my graveyard and the creature came in on my side.
Kytheon, Hero of Akros - If less than 2 other creatures on your side survive combat the trigger does not happen.
And another
Ampryn Tactician - Gives +1/+0 intead of +1/+1
Necromantic Summons - AI cast this on my graveyard and the creature came in on my side.
Kytheon, Hero of Akros - If less than 2 other creatures on your side survive combat the trigger does not happen.
And another
Ampryn Tactician - Gives +1/+0 intead of +1/+1
- Twainer
- Posts: 44
- Joined: 03 Jan 2010, 23:42
- Has thanked: 0 time
- Been thanked: 0 time
Who is online
Users browsing this forum: Albertotug and 59 guests