It is currently 12 Nov 2025, 07:25
   
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 tjtillman » 15 Aug 2016, 02:11

r31989

Game crashed when using Collective Effort to destroy Infectious Curse (I was also using both of the other modes of Collective Effort)

Code: Select all
Description: [describe what you were doing when the crash occurred]

[spoiler=RuntimeException][code]
Forge Version:    1.5.56-SNAPSHOT-r31989
Operating System: Windows 10 10.0 amd64
Java Version:     1.8.0_66 Oracle Corporation

java.lang.RuntimeException: AbilityFactory : getAbility -- Infectious Curse has no SVar: TrigChoose
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:115)
   at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:514)
   at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:371)
   at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:335)
   at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:290)
   at forge.game.zone.MagicStack.unfreezeStack(MagicStack.java:167)
   at forge.game.zone.MagicStack.finishResolving(MagicStack.java:580)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:528)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:976)
   at forge.game.GameAction.startGame(GameAction.java:1464)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
[/code][/spoiler]
tjtillman
 
Posts: 202
Joined: 16 Sep 2013, 17:47
Has thanked: 0 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 15 Aug 2016, 04:00

@tjtiklman: the problem is not the destroy spell, but the Curse one.

There is a Trigger which should not trigger, that's why it does look for a Svar which does not exist (on that side of creature)

I have a clue where the problem is (and it seems to be my fault again :/)

===

Edit: the bug is more complicated than i thought.

@others:

the problem are spells with Sub abilities, and Triggers (specially from Cards with Alternate States)
because the active triggers are cleared between the abilities.
the new triggers does want to trigger for events which should not touch them.

in this example with Collective Effort:
DestroyCreature > DestroyEnchantment > PutCounter
DestroyEnchantment on the Curse causes ChangesZone to Trigger (add to TriggerWaiting)
then the active Triggers are cleared, and now the Witch is back.

when later the TriggerWaiting are checked, it looks in activeTriggers and find the Witch. (but it should find none)

my current ideas to fix that are most likely some kind of messy patch.
i think the whole stuff with waitingTriggers and activeTriggers need to be reworked.

Like instead of just have the TriggerWaiting, we might need to have it collect the Trigger objects for which of them could be run.
with that we might not have the whole Subability Chain to cause trigger which might not happen anymore. ... or what do you guys think?

===

Edit: that and others should be fixed by r31993
now the waiting Trigger does look for the Trigger it should cause to run.

PLEASE look for if i break something with that again.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby fmartel » 15 Aug 2016, 17:20

Description: [In a commander Game, on M2 of AI1, Game Crashed. Was strolling through the actions]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r31995
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.util.collect.FCollection.<init>(FCollection.java:90)
   at forge.game.card.CardCollection.<init>(CardCollection.java:115)
   at forge.game.ability.AbilityUtils.xCount(AbilityUtils.java:1544)
   at forge.game.ability.AbilityUtils.calculateAmount(AbilityUtils.java:396)
   at forge.game.CardTraitBase.meetsCommonRequirements(CardTraitBase.java:218)
   at forge.game.trigger.Trigger.requirementsCheck(Trigger.java:258)
   at forge.game.trigger.TriggerHandler.canRunTrigger(TriggerHandler.java:445)
   at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:379)
   at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:347)
   at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:306)
   at forge.game.zone.MagicStack.unfreezeStack(MagicStack.java:167)
   at forge.game.zone.MagicStack.addAndUnfreeze(MagicStack.java:155)
   at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:397)
   at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:55)
   at forge.ai.PlayerControllerAi.payManaCost(PlayerControllerAi.java:795)
   at forge.game.player.PlayerController.payManaCost(PlayerController.java:219)
   at forge.game.cost.CostPartMana.payAsDecided(CostPartMana.java:138)
   at forge.game.cost.CostPayment.payComputerCosts(CostPayment.java:198)
   at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:113)
   at forge.ai.PlayerControllerAi.playChosenSpellAbility(PlayerControllerAi.java:400)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:930)
   at forge.game.GameAction.startGame(GameAction.java:1464)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 15 Aug 2016, 18:14

@fmartel: thanks, that should be fixed in r31996.

if not, please come back and tell which card the AI seems to want to play if able.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby tjtillman » 16 Aug 2016, 05:57

r31996

CPU played Rise From the Grave, taking my Wild-Field Scarecrow from the graveyard. CPU on a later turn sacrificed the scarecrow to get two lands, but on sacrifice, it triggered my Bloodbriar to get a +1/+1 counter.
tjtillman
 
Posts: 202
Joined: 16 Sep 2013, 17:47
Has thanked: 0 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 16 Aug 2016, 10:32

@tjtillman:
fixed it in r31997 i added another parameter for the Player, because the Card copy doesn't seems to copy the current controller.

tested it with each a Bloodbriar on both sides on the field, now only the right one should get a +1/+1 counter.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 17 Aug 2016, 00:08

I cast Supplant Form on my opponent's Ghalma's Warden. I don't have metalcraft but the AI does. The Warden is a 4/6 when it should be a 2/4. Even after the AI loses metalcraft, it's still a 4/6
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 » 17 Aug 2016, 00:49

Did you have anything else in play that could have given the Warden +2/+2?
"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 fmartel » 17 Aug 2016, 01:01

Description: [2 instances of Forge open on same PC, trying the Multi-player. Starting the game, hands are drawn.]
It's my fault ! I have 2 time the same human player in each window !

RuntimeException | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r32003
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_101 Oracle Corporation

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
   at forge.net.GameProtocolHandler$1.run(GameProtocolHandler.java:59)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(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$JavaSecurityAccessImpl.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)
Caused by: java.lang.reflect.InvocationTargetException
   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 forge.net.GameProtocolHandler$1.run(GameProtocolHandler.java:55)
   ... 14 more
Caused by: java.lang.NullPointerException
   at forge.game.player.PlayerView.getMana(PlayerView.java:370)
   at forge.toolbox.special.PlayerDetailsPanel.updateManaPool(PlayerDetailsPanel.java:143)
   at forge.screens.match.views.VField.updateManaPool(VField.java:207)
   at forge.screens.match.CMatchUI$1.run(CMatchUI.java:193)
   at forge.GuiDesktop.invokeInEdtNow(GuiDesktop.java:74)
   at forge.FThreads.invokeInEdtNowOrLater(FThreads.java:30)
   at forge.screens.match.CMatchUI.setGameView(CMatchUI.java:188)
   ... 19 more
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby stormcat » 17 Aug 2016, 01:39

Arc by block from Assembled Alphas to Ingenious Skaab is not displayed.
Please refer to attachment.
Attachments
capture_001_17082016_102937.jpg
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby tjtillman » 17 Aug 2016, 06:40

r32003
Game state as posted below (after the incident occurred). During its upkeep, CPU cast Aim High targeting its Deranged Whelp which was already in its graveyard. Aim High fizzled, but shouldn't have been able to target the Deranged Whelp on cast.

Code: Select all
humanlife=20
ailife=18
activeplayer=ai
activephase=COMBAT_DECLARE_ATTACKERS
humancardsinhand=Tamiyo's Journal;Drownyard Behemoth
humancardsinlibrary=Plains;Forest;Clear Shot;Explosive Apparatus;Moldgraf Scavenger;Plains;Island;Geist of the Archives;Watcher in the Web;Quilled Wolf;Island;Bloodbriar;Choking Restraints;Grapple with the Past;Spontaneous Mutation;Forest;Forest;Island;Forest;Stitched Mangler;Lambholt Pacifist;Forest;Woodland Stream;Backwoods Survivalists;Altered Ego;Terrarion;Island
humancardsingraveyard=Blessed Alliance;Ingenious Skaab
humancardsinplay=Forest;Terrarion;Plains|Tapped:True;Island;Exultant Cultist;Island|Tapped:True;Drownyard Explorers;t:Clue,P:0,T:0,Cost:no cost,Types:Artifact-Clue,Keywords:,Image:c_clue6;Forest|Tapped:True;Bloodbriar|SummonSick:True
humancardsinexile=
humancardsincommand=
aicardsinhand=Woodland Patrol;Shrill Howler;Swift Spinner;Hermit of the Natterknolls
aicardsinlibrary=Highland Lake;Woodland Patrol;Cultist's Staff;Thermo-Alchemist;Mountain;Forest;Bedlam Reveler;Forest;Forest;Senseless Rage;Shrill Howler;Shrill Howler;Stensia Masquerade;Hinterland Logger;Warped Landscape;Gibbering Fiend;Forest;Uncaged Fury;Mountain;Mountain;Forest;Mountain;Cryptolith Fragment;Falkenrath Reaver;Brazen Wolves;Thermo-Alchemist;Mountain
aicardsingraveyard=Deranged Whelp;Alchemist's Greeting;Aim High
aicardsinplay=Mountain|Tapped:True;Mountain;Geier Reach Sanitarium;Forest|Tapped:True;Insatiable Gorgers|Tapped:True;Mountain
aicardsinexile=
aicardsincommand=
tjtillman
 
Posts: 202
Joined: 16 Sep 2013, 17:47
Has thanked: 0 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby MIC132 » 17 Aug 2016, 19:44

r32003
Could someone look into picking decks in network multiplayer EDH?

Only the host gets the correct deck, the rest gets a generated one no matter what they pick.
Last edited by MIC132 on 18 Aug 2016, 00:47, edited 1 time in total.
MIC132
 
Posts: 49
Joined: 17 Sep 2013, 15:18
Has thanked: 0 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby tjtillman » 18 Aug 2016, 00:24

r32003

Not sure if this is already a known issue, but CPU had Cult of the Waxing Moon and Ulvenwald Captive, paid to transform the Ulvenwald Captive and then, before the transform ability resolved but was still on the stack, Cult of the Waxing Moon triggered several times.
tjtillman
 
Posts: 202
Joined: 16 Sep 2013, 17:47
Has thanked: 0 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby fmartel » 18 Aug 2016, 14:07

Description: [In commander, AI cast Kiki-Jiki, Mirror Breaker and tries to copy Reckless Brute]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r32009
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.ability.effects.ChangeZoneEffect.changeZonePlayerInvariant(ChangeZoneEffect.java:1073)
   at forge.game.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:670)
   at forge.game.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:349)
   at forge.game.spellability.AbilitySub.resolve(AbilitySub.java:119)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1290)
   at forge.game.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1283)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1297)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1271)
   at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:279)
   at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:314)
   at forge.game.replacement.ReplacementHandler.executeReplacement(ReplacementHandler.java:246)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:134)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:75)
   at forge.game.GameAction.changeZone(GameAction.java:222)
   at forge.game.GameAction.moveTo(GameAction.java:472)
   at forge.game.GameAction.moveTo(GameAction.java:453)
   at forge.game.GameAction.moveToPlay(GameAction.java:562)
   at forge.game.ability.effects.CopyPermanentEffect.resolve(CopyPermanentEffect.java:233)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1290)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1271)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:521)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:976)
   at forge.game.GameAction.startGame(GameAction.java:1464)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby fmartel » 19 Aug 2016, 17:33

Description: [after having lost to AI, game continued. AI3 attacked AI2. Game Crashed at AI3 M2 turn]

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r32009
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.OutOfMemoryError: GC overhead limit exceeded
   at java.util.Arrays.copyOfRange(Unknown Source)
   at java.lang.String.<init>(Unknown Source)
   at java.lang.StringBuilder.toString(Unknown Source)
   at forge.game.card.Card.getAbilityText(Card.java:1719)
   at forge.game.card.CardView$CardStateView.updateAbilityText(CardView.java:1005)
   at forge.game.card.CardView$CardStateView.updateKeywords(CardView.java:1016)
   at forge.game.card.CardView.updateState(CardView.java:704)
   at forge.game.card.Card.updateStateForView(Card.java:432)
   at forge.game.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:632)
   at forge.game.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:81)
   at forge.game.staticability.StaticAbility.applyContinuousAbility(StaticAbility.java:222)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:690)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:633)
   at forge.game.GameAction.checkStateEffects(GameAction.java:872)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:903)
   at forge.game.GameAction.startGame(GameAction.java:1464)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 57 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 57 users online :: 0 registered, 0 hidden and 57 guests (based on users active over the past 10 minutes)
Most users ever online was 9824 on 10 Nov 2025, 04:33

Users browsing this forum: No registered users and 57 guests

Login Form