It is currently 08 Nov 2025, 18:49
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

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

Re: Bug Reports (snapshot builds)

Postby 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.

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)
Also, shouldn't one of the Goblin Rabblemaster have been given haste by the Formidable ability?

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.
User avatar
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)

Postby 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.
Attachments
0001-Stop-rebound-if-spell-fizzles.txt
Stop rebound if spell fizzles
(1.03 KiB) Downloaded 252 times
Kulnaro
 
Posts: 5
Joined: 01 Jul 2015, 11:43
Has thanked: 1 time
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby 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"
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?
User avatar
rikimbo
 
Posts: 52
Joined: 25 Mar 2014, 14:15
Location: Winnipeg
Has thanked: 10 times
Been thanked: 7 times

Re: Bug Reports (snapshot builds)

Postby mastroego » 07 Jul 2015, 19:44

Kulnaro 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.
An additional bug-fixer, give this man coding privileges already :mrgreen:
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 09 Jul 2015, 23:02

rikimbo wrote:As of r29724, the button for downloading card prices links to:
Code: Select all
URL_PRICE_DOWNLOAD = "http://www.cardforge.link/MagicInfo/pricegen.php"
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?
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.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby sharkus » 10 Jul 2015, 03:51

r29744

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)
...
sharkus
 
Posts: 14
Joined: 19 Sep 2014, 18:18
Has thanked: 0 time
Been thanked: 3 times

Re: Bug Reports (snapshot builds)

Postby 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)

Postby 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)
Deadpool
 
Posts: 28
Joined: 23 Oct 2009, 20:42
Has thanked: 3 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby 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)

Postby 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.
Attachments
0001-Fix-handling-of-provoke-when-provoker-is-removed-fro.txt
(3.96 KiB) Downloaded 258 times
Kulnaro
 
Posts: 5
Joined: 01 Jul 2015, 11:43
Has thanked: 1 time
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby Rob Cashwalker » 11 Jul 2015, 15:15

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.
I offered to continue maintaining it, but I'll PM you the script and DB.
The Force will be with you, Always.
User avatar
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)

Postby 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.
Attachments
0001-Fix-Thopter-Spy-Network.txt
(1.45 KiB) Downloaded 217 times
Kulnaro
 
Posts: 5
Joined: 01 Jul 2015, 11:43
Has thanked: 1 time
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby friarsol » 11 Jul 2015, 23:24

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.
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.
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 Jul 2015, 02:31

r29769
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)

Postby 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
Twainer
 
Posts: 44
Joined: 03 Jan 2010, 23:42
Has thanked: 0 time
Been thanked: 0 time

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: Albertotug and 59 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 60 users online :: 1 registered, 0 hidden and 59 guests (based on users active over the past 10 minutes)
Most users ever online was 9298 on 10 Oct 2025, 12:54

Users browsing this forum: Albertotug and 59 guests

Login Form