Page 382 of 487

Re: Bug Reports (snapshot builds)

PostPosted: 14 Nov 2016, 10:02
by Indigo Dragon
Description: Enable LazyLoading then restarting Forge. Something to do with Abrupt Decay, or maybe just a symptom because it starts with AB.

RuntimeException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32556
Operating System: Windows 10 10.0 x86
Java Version:     1.8.0_111 Oracle Corporation

java.lang.RuntimeException: com.thoughtworks.xstream.converters.ConversionException: Unsupported card found in quest save: Abrupt Decay from edition RTR : Unsupported card found in quest save: Abrupt Decay from edition RTR
---- Debugging information ----
message             : Unsupported card found in quest save: Abrupt Decay from edition RTR
cause-exception     : java.lang.RuntimeException
cause-message       : Unsupported card found in quest save: Abrupt Decay from edition RTR
class               : forge.util.ItemPool
required-type       : forge.util.ItemPool
converter-type      : forge.quest.io.QuestDataIO$ItemPoolToXml
path                : /forge.quest.data.QuestData/assets/cardPool/card
line number         : 19
class[1]            : forge.quest.data.QuestAssets
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : forge.quest.data.QuestData
version             : 1.5.58-SNAPSHOT-r32556
-------------------------------
   at forge.quest.io.QuestDataIO.loadData(QuestDataIO.java:138)
   at forge.control.FControl.initialize(FControl.java:233)
   at forge.view.Main.main(Main.java:51)
Caused by: com.thoughtworks.xstream.converters.ConversionException: Unsupported card found in quest save: Abrupt Decay from edition RTR : Unsupported card found in quest save: Abrupt Decay from edition RTR
---- Debugging information ----
message             : Unsupported card found in quest save: Abrupt Decay from edition RTR
cause-exception     : java.lang.RuntimeException
cause-message       : Unsupported card found in quest save: Abrupt Decay from edition RTR
class               : forge.util.ItemPool
required-type       : forge.util.ItemPool
converter-type      : forge.quest.io.QuestDataIO$ItemPoolToXml
path                : /forge.quest.data.QuestData/assets/cardPool/card
line number         : 19
class[1]            : forge.quest.data.QuestAssets
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : forge.quest.data.QuestData
version             : 1.5.58-SNAPSHOT-r32556
-------------------------------
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)
   at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:474)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:406)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
   at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:474)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:406)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
   at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
   at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
   at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1185)
   at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1169)
   at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1040)
   at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1031)
   at forge.quest.io.QuestDataIO.loadData(QuestDataIO.java:122)
   ... 2 more
Caused by: java.lang.RuntimeException: Unsupported card found in quest save: Abrupt Decay from edition RTR
   at forge.quest.io.QuestDataIO$ItemPoolToXml.readCardPrinted(QuestDataIO.java:902)
   at forge.quest.io.QuestDataIO$ItemPoolToXml.unmarshal(QuestDataIO.java:841)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
   ... 24 more

Re: Bug Reports (snapshot builds)

PostPosted: 14 Nov 2016, 12:13
by Marek14
I cast Moltensteel Dragon, paying 4 life to Phyrexian mana, and deal 4 damage to opponent with two Rage Extractor triggers. Then I use Tainted Sigil, but I only get 4 life instead of 8.

Re: Bug Reports (snapshot builds)

PostPosted: 14 Nov 2016, 19:20
by fmartel
Description: [in Commander, Attacking with multiple creatures. Ai blocks a Minion (30/31) with Wall of Bone. Then crash occurs.]

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32556
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_25 Oracle Corporation

java.lang.OutOfMemoryError: GC overhead limit exceeded
   at java.util.HashMap.newNode(Unknown Source)
   at java.util.HashMap.putVal(Unknown Source)
   at java.util.HashMap.put(Unknown Source)
   at java.util.HashSet.add(Unknown Source)
   at forge.util.collect.FCollection.add(FCollection.java:249)
   at forge.util.collect.FCollection.addAll(FCollection.java:300)
   at forge.game.Game.getCardsIn(Game.java:473)
   at forge.game.player.Player.staticDamagePrevention(Player.java:619)
   at forge.game.player.Player.preventDamage(Player.java:813)
   at forge.game.player.Player.addCombatDamage(Player.java:874)
   at forge.game.combat.Combat.dealAssignedDamage(Combat.java:695)
   at forge.game.phase.PhaseHandler.onPhaseBegin(PhaseHandler.java:309)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:977)
   at forge.game.GameAction.startGame(GameAction.java:1462)
   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)

Re: Bug Reports (snapshot builds)

PostPosted: 14 Nov 2016, 20:54
by Thrint
Playing in a tourney; opponent's turn just began.
Description: [describe what you were doing when the crash occurred]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32555
Operating System: Windows 8 6.2 x86
Java Version:     1.8.0_40 Oracle Corporation

java.lang.NullPointerException
   at java.util.TreeMap.getEntry(Unknown Source)
   at java.util.TreeMap.containsKey(Unknown Source)
   at forge.game.card.CardState.getSVar(CardState.java:324)
   at forge.game.card.Card.getSVar(Card.java:1111)
   at forge.ai.ComputerUtil.getDamageFromETB(ComputerUtil.java:2123)
   at forge.ai.AiController.canPlayFromEffectAI(AiController.java:1040)
   at forge.ai.AiController.canPlaySa(AiController.java:683)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:641)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1158)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1133)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1072)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:392)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:925)
   at forge.game.GameAction.startGame(GameAction.java:1462)
   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)

Re: Bug Reports (snapshot builds)

PostPosted: 14 Nov 2016, 21:02
by Hanmac
Marek14 wrote:I cast Moltensteel Dragon, paying 4 life to Phyrexian mana, and deal 4 damage to opponent with two Rage Extractor triggers. Then I use Tainted Sigil, but I only get 4 life instead of 8.
Rage Extractor should deal 6 damage each,
and the Tainted Sigil should make you gain 4+6+6=16 life.

fixed in r32557.

===
@Thrint yours got fixed in r32558.

Re: Bug Reports (snapshot builds)

PostPosted: 15 Nov 2016, 06:32
by Hanmac
I found the Bug with the Delayed Trigger and AI.

With some of my recent changes, AI does need to return True for the SpellAbility to go on the Stack. (That is for non optimal with not enough targets)

(There are some without API, they might need to be checked too)

Now there are some Trigger with DelayedTrigger, which do not go over a SpellAbility (Execute Parameter) but over a DelayedTrigger Parameter and an EmptySa.

For such EmptySa, AI doesn't know what to do with it.

The best way would be to convert all the cards and to remove the DelayedTrigger Parameter. And probably the EmptySa in Trigger too. (It should be an error.)

Someone might already do that while i am at work.

Re: Bug Reports (snapshot builds)

PostPosted: 16 Nov 2016, 03:56
by Nekoatl
Description: I started a constructed game. The AI went first, played a Mountain in its precombat Main phase, and then generated this exception in its postcombat Main phase.

RuntimeException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r-1
Operating System: Windows 10 10.0 amd64
Java Version:     1.8.0_101 Oracle Corporation

java.lang.RuntimeException: AbilityFactory : getAbility -- no API in Pharagax Giant:
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:107)
   at forge.ai.AiController.checkETBEffects(AiController.java:265)
   at forge.ai.AiController.canPlayFromEffectAI(AiController.java:1037)
   at forge.ai.AiController.canPlaySa(AiController.java:683)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:641)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1158)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1133)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1072)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:392)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:925)
   at forge.game.GameAction.startGame(GameAction.java:1462)
   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)

Re: Bug Reports (snapshot builds)

PostPosted: 16 Nov 2016, 09:34
by Hanmac
Nekoatl wrote:Description: I started a constructed game. The AI went first, played a Mountain in its precombat Main phase, and then generated this exception in its postcombat Main phase.
fixed the bug in r32561.

===
finished my changes about Delayed Trigger, now the old features should be removed.

Re: Bug Reports (snapshot builds)

PostPosted: 16 Nov 2016, 21:21
by Frostlock
Description: In my M1 phase I cast Kodama's Reach and splice Kodama's Might on top of it which throws a nullpointerexception. It has happened a number of times on other splice attempts as well.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r-1
Operating System: Linux 4.4.0-47-generic amd64
Java Version:     1.8.0_111 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.CardUtil.getValidCardsToTarget(CardUtil.java:494)
   at forge.player.TargetSelection.chooseTargets(TargetSelection.java:117)
   at forge.player.PlayerControllerHuman.chooseTargetsFor(PlayerControllerHuman.java:1290)
   at forge.player.HumanPlaySpellAbility.setupTargets(HumanPlaySpellAbility.java:206)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:140)
   at forge.player.HumanPlay.playSpellAbility(HumanPlay.java:110)
   at forge.player.PlayerControllerHuman.playChosenSpellAbility(PlayerControllerHuman.java:941)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:934)
   at forge.game.GameAction.startGame(GameAction.java:1462)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
   at java.lang.Thread.run(Thread.java:745)

Re: Bug Reports (snapshot builds)

PostPosted: 17 Nov 2016, 07:59
by excessum
AI is refusing to cast spells released by Spell Queller. Not sure which update broke this but it was still working in r32467.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Nov 2016, 09:09
by excessum
r32570
Another bug with Captured by the Consulate: AI assigned 2 damage from Chandra's Pyrohelix to my creature, triggering the re-direction.
NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 8.1 6.3 amd64
Java Version:     1.8.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.spellability.TargetRestrictions.getDividedValue(TargetRestrictions.java:765)
   at forge.game.ability.effects.DamageDealEffect.resolve(DamageDealEffect.java:148)
   at forge.game.ability.SpellApiBased.resolve(SpellApiBased.java:55)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1295)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1276)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:517)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:980)
   at forge.game.GameAction.startGame(GameAction.java:1462)
   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)

Re: Bug Reports (snapshot builds)

PostPosted: 17 Nov 2016, 19:39
by fmartel
Description: [After modifying lands for FullArt Lands, Started a game]

RuntimeException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32571
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_25 Oracle Corporation

java.lang.RuntimeException: TriggerFactory : registerTrigger -- trigParse too short
   at forge.game.trigger.TriggerHandler.parseParams(TriggerHandler.java:172)
   at forge.game.trigger.TriggerHandler.parseTrigger(TriggerHandler.java:145)
   at forge.game.card.CardFactoryUtil.addTriggerAbility(CardFactoryUtil.java:2884)
   at forge.game.card.CardFactoryUtil.setupKeywordedAbilities(CardFactoryUtil.java:2228)
   at forge.game.card.CardFactory.buildAbilities(CardFactory.java:350)
   at forge.game.card.CardFactory.getCard(CardFactory.java:257)
   at forge.game.card.CardFactory.getCard(CardFactory.java:249)
   at forge.game.card.Card.fromPaperCard(Card.java:6883)
   at forge.game.Match.preparePlayerLibrary(Match.java:193)
   at forge.game.Match.prepareAllZones(Match.java:257)
   at forge.game.Match.startGame(Match.java:83)
   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)
Foud out that every time I hit the "Save Deck As" the lands goes to "Assorted Art" mode, no matter which land you put in.

Re: Bug Reports (snapshot builds)

PostPosted: 18 Nov 2016, 19:10
by fmartel
Description: [After modifying lands for FullArt Lands, Started a game]

RuntimeException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32572
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_25 Oracle Corporation

java.lang.RuntimeException: TriggerFactory Parsing Error in registerTrigger() : Split length of TriggerDescription$ is not 2.
   at forge.game.trigger.TriggerHandler.parseParams(TriggerHandler.java:191)
   at forge.game.trigger.TriggerHandler.parseTrigger(TriggerHandler.java:145)
   at forge.game.card.CardFactory.readCardFace(CardFactory.java:446)
   at forge.game.card.CardFactory.readCard(CardFactory.java:406)
   at forge.game.card.CardFactory.getCard(CardFactory.java:254)
   at forge.game.card.CardFactory.getCard(CardFactory.java:249)
   at forge.game.card.Card.fromPaperCard(Card.java:6883)
   at forge.game.Match.preparePlayerLibrary(Match.java:193)
   at forge.game.Match.prepareAllZones(Match.java:257)
   at forge.game.Match.startGame(Match.java:83)
   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)

Re: Bug Reports (snapshot builds)

PostPosted: 20 Nov 2016, 04:37
by Agetian
r32578: Cumulative Upkeep still does not fire for the AI (or it's able to ignore its effect as if it were not mandatory), this is most likely a separate issue from other issues related to AI ignoring the mandatory triggers (most of which were fixed before).

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 20 Nov 2016, 04:52
by Hanmac
Agetian wrote:r32578: Cumulative Upkeep still does not fire for the AI (or it's able to ignore its effect as if it were not mandatory), this is most likely a separate issue from other issues related to AI ignoring the mandatory triggers (most of which were fixed before).

- Agetian
The reason: because recent changes from me, AI can't do Abilities anymore which are not API based. (That is also the reason about the mandatory trigger)
Another reason why i changed mostly of Morph, Suspend and Miracle.

To fix that i need a total rewrite of this with only API Abilities (with gives the AI better control)

I thought about it using a Sacrifice Effect with Unless cost for this. But I need to improve it to allow a multipler for that. (And the logic how to multiply cost need to be done better)

Also adding a new Unless Ability for something which can't be done as Cost.